User Tools

Site Tools


proton:raspi_setup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
proton:raspi_setup [2016/06/18 09:13] sethproton:raspi_setup [2023/12/03 06:42] (current) seth
Line 1: Line 1:
-** Experimental and for linux pros only **+** Compiling Proton and its examples on the Raspberry Pi with OpenGL 2**
  
-These steps are what I use to compile stuff by copying things from my Windows computer.  A normal user would probably just grab the svn tree.+Test with the latest Raspberry Pi OS and RetroPi as of June 9th, 2023.
  
 +These should run both in the desktop GUI, or directly from bash. (Fullscreen)  I guess it's all identical to running on Ubuntu Linux/etc these days, no special stuff is needed.
  
-Step 1: Make OpenGL ES 1/2 work on the Raspberry Pi 2 or 3.  Strangelyas of June 18th 2016 the versions you can get with apt-get are compiled with the wrong flags so it won't work with the hardware acceleration.  Useless.  So we will install our own SDL2.+Firstinstall some tools/libs you'll need:
  
-I did this with the latest version of Raspbian (Jessie I think).+<code bash> 
 +sudo apt-get install cmake zlib1g-dev 
 +sudo apt-get install libsdl2-2.0-0 libsdl2-dev 
 +</code>
  
-  * Give the video card more memory on the pi.  Run raspi-config and give it 128 or 256 (good for the pi3) 
-  * Install cmake on the pi (sudo apt-get install cmake) 
-  * Do "sudo rpi-update" to make sure your firmware is updated 
-  * Do the following from a shell window to install SDL2 from source: 
  
-<code> +Don't forget git! 
-cd ~  + 
-sudo apt-get install libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile1-dev libudev-dev libasound2-dev libjpeg-dev libtiff5-dev libwebp-dev automake +<code bash
-wget https://www.libsdl.org/release/SDL2-2.0.4.tar.gz  +sudo apt-get install git
-tar zxvf SDL2-2.0.4.tar.gz  +
-cd SDL2-2.0.4 && mkdir build && cd build  +
-../configure --host=armv7l-raspberry-linux-gnueabihf --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl  +
-make -j 4  +
-sudo make install +
 </code> </code>
  
-To test your GL ESdo this with a local shell (not a remote shell window.. although maybe that worksdunno) +Nextinstall Proton. 
-<code> + 
-cd ~/SDL2-2.0.4/test +<code bash> 
-g++ -o testgles2  testgles2.c `sdl2-config --cflags --libs` +cd ~ 
-./testgles2+git clone https://github.com/SethRobinson/proton.git 
 +</code> 
 + 
 +Now let's build Proton's RTPack utilitywill come in handle later to build and optimize resources. 
 + 
 +<code bash
 +cd ~/proton/RTPack/linux 
 +sh linux_compile.sh 
 +</code> 
 + 
 +Now let's compile and run RTBareBones: 
 + 
 +<code bash> 
 +cd ~/proton/RTBareBones/linux 
 +sh linux_compile.sh 
 +cd ../bin 
 +./RTBareBones 
 +</code> 
 + 
 +If that worked, enjoy the spinning triangle and text stretching!  It got 300+ fps on my Pi 4Starting it from an ssh session worked for me as well. 
 + 
 +Now let's do RTSimpleApp, same thing but it needs SDL2_mixer for its audio, so let's get that installed: 
 + 
 +<code bash> 
 +sudo apt-get install libsdl2-mixer-dev 
 +</code> 
 + 
 +Great.  Now we compile and run like before, but we're adding a step compiling media with the RTPack utility. 
 + 
 +<code bash> 
 +cd ~/RTSimpleApp/linux 
 +sh linux_compile.sh 
 +cd ../media 
 +sh update_media.sh 
 +cd ../bin 
 +./RTSimpleApp
 </code> </code>
  
-If stuff is setup rightyou'll see some triangles or something rendering smoothly.+If that workedenjoy the app.  If it didn't..off to the forums and yell at Seth!
  
-Step 2: Proton stuff+=== Note from Dec 3rd, 2023 ===
  
-  * Install linux tools for Windows, rsync and ssh should work from the command line +I updated things so pulseaudio is used by default instead of alsa when compiling on a pi, this fixes audio on the latest Raspberry Pi OS.  (in AudioManagerSDL.cpp)
-  * Setup ssh key pair so you don't have to type passwords +
-  * Edit SetupVars.bat and edit the IP to the pi +
-  * Run CopyStuffToPi.bat.  There should now be a ~/proton tree on the pi +
-  * RTBareBones/CopyStuffToPiAndCompileLoop.bat and it should update that example and compile it in a loop+
  
 +=== State of Proton on the Pi ===
 +  
 +Hint: Using the RetroPi dist? You can edit the text file **/opt/retropie/configs/all/autostart.sh** and comment out where it runs emulationstation and change that to run your own app - or nothing at all, so it drops into the shell on boot.
  
-If you look at the RTBarebones/linux dir you'll see the CMakeLists.txt file autodetect the pi and sets up GLES 1.1 headers stuff for it.+An easy way to replace the boot splash is replacing **/opt/retropie/supplementary/splashscreen/retropie-default.png**
proton/raspi_setup.1466241238.txt.gz · Last modified: 2016/06/18 09:13 by seth