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 revision Previous revision
Next revision
Previous revision
proton:raspi_setup [2016/06/18 09:13]
seth
proton:raspi_setup [2019/02/06 02:56] (current)
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 installed. SSH 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 +<​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 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'​t ​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'​t ​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.1466241238.txt.gz · Last modified: 2016/06/18 09:13 by seth