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
Next revisionBoth sides next revision
proton:raspi_setup [2016/06/18 09:39] sethproton:raspi_setup [2019/02/06 02:56] seth
Line 1: Line 1:
-** Experimental and for linux pros only **+** Compiling Proton and its examples on the Raspberry Pi with GL ES **
  
-These steps are what use to compile stuff by copying things from my Windows computer.  A normal user would probably just grab the svn tree.+As a base, started with a [[https://retropie.org.uk/download/|RetroPi image]] [[https://www.balena.io/etcher/|written]] to an SD card (tested with 4.4 on 1/28/2019) on a Raspberry 3B.  Why?  Because it comes with SDL2 pre-installed and pre configured so SDL will properly send mouse and keyboard input which saves a lot of hassle(don't ask me why, but the version the standard stretch has on apt-get doesn't)
  
 +If you REALLY want to use a standard Raspbian stretch install you can, just do these commands first to get ready:
  
-Step 1: Make OpenGL ES 1/2 work on the Raspberry Pi 2 or 3.  Strangely, as 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.+<code bash> 
 +sudo apt-get install cmake 
 +sudo apt-get install libsdl2-2.0-0 libsdl2-dev 
 +</code>
  
-I did this with the latest version of Raspbian (Jessie I think).+Also, I think the GL driver needs to be set to "Legacy" to work, which is the default, but worth mentioning if you've changed it using raspi-config.
  
-  * Give the video card more memory on the pi.  Run raspi-config and give it 128 or 256 (good for the pi3) +---- End Raspbian stretch part ----
-  * 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> +First, make sure you gave git installedSSH into your PI and:
-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 +
-wget https://www.libsdl.org/release/SDL2-2.0.4.tar.gz  +
-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 5  +<code bash> 
-sudo make install +sudo apt-get install git
 </code> </code>
  
-To test your GL ESdo this with a local shell (not a remote shell window.. although maybe that works, dunno) +Nextinstall Proton and compile its RTPack utility: 
-<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> </code>
  
-If stuff is setup rightyou'll see some triangles or something rendering smoothly.+Now let's build Proton's RTPack utility, will come in handle later. 
 + 
 +<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 workedenjoy the spinning triangle and text stretching! 
 + 
 +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>
  
-Step 2: Proton stuff+If that worked, enjoy the app.  If it didn't... off to the forums and yell at Seth!
  
-  * Install linux tools for Windows, rsync and ssh should work from the command line +=== State of Proton on the Pi === 
-  * Setup ssh key pair so you don'have to type passwords +  - It runs fullscreen only both in or out of the desktop environment 
-  * Edit SetupVars.bat and edit the IP to the pi +  - If SDL isn't compiled certain way, mouse and keyboard won'work right. (use the RetroPi dist!) 
-  * Run CopyStuffToPi.bat There should now be a ~/proton tree on the pi +  - Even though mouse and keyboard can work, there is no mouse cursor, you'd need to draw it yourself 
-  * RTBareBones/CopyStuffToPiAndCompileLoop.bat and it should update that example and compile it in a loop+  - Video acceleration works, audio works (see my [[https://www.youtube.com/watch?v=bk6jVk7t4i4|Atari PaperCart project]])
  
 +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.txt · Last modified: 2023/12/03 06:42 by seth