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 13:20] sethproton:raspi_setup [2019/01/28 09:45] seth
Line 1: Line 1:
-** Experimental and for linux pros only **+** Compiling Proton and its examples on the Raspberry Pi with GL ES **
  
-Here is how to setup the Raspberry Pi to support normal OpenGL (with accelerationand be able to compile the Proton SDK examples.  It's actually also possible to set things up for GLES, but this is probably easier these days.  (tested with Raspbian "Jessie" on 6/18/2016)+As a base, I 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/2019on 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)
  
-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 and run .sh files.+If you REALLY want to use a standard Raspbian stretch install you can, just do these commands first to get ready:
  
-  * Give the video card more memory on the pi.  Run raspi-config and give it 128 or 256 (good for the pi3) +<code bash> 
-  * Also enable the experimental OpenGL driver under the Advanced section in raspi-config +sudo apt-get install cmake 
-  * Install cmake on the pi (sudo apt-get install cmake) +sudo apt-get install libsdl2-2.0-0 libsdl2-dev 
-  * Do "sudo rpi-update" to make sure your firmware is updated +</code>
-  * Run the following from a shell:+
  
-<code> +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.
-sudo apt-get -y install xcompmgr libgl1-mesa-dri && sudo apt-get -y install libalut0 libalut-dev && sudo apt-get -y install mesa-utils+
  
-sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev+---- End Raspbian stretch part ---- 
 + 
 +First, make sure you gave git installed. SSH into your PI and: 
 + 
 +<code bash> 
 +sudo apt-get install git
 </code> </code>
  
-  * Do the following from a shell window to install SDL2 from source:+Next, install Proton and compile its RTPack utility:
  
-<code> +<code bash
-cd ~  +cd ~ 
-wget https://www.libsdl.org/release/SDL2-2.0.4.tar.gz  +git clone https://github.com/SethRobinson/proton.git
-tar zxvf SDL2-2.0.4.tar.gz  +
-cd SDL2-2.0.4 && mkdir build && cd build  +
-../configure --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland +
-make -j 5  +
-sudo make install +
 </code> </code>
  
-  * To testtype "glxgears" from a shell inside of the GUI desktop+Now let's build Proton's RTPack utilitywill come in handle later.
  
 +<code bash>
 +cd ~/proton/RTPack/linux
 +sh linux_compile.sh
 +</code>
  
-Step 2Proton stuff+Now let's compile and run RTBareBones:
  
-  * Install linux tools for Windowsrsync and ssh should work from the command line +<code bash> 
-  * Setup a ssh key pair so you don't have to type passwords +cd ~/proton/RTBareBones/linux 
-  * Edit SetupVars.bat and edit the IP to the pi +sh linux_compile.sh 
-  * Run CopyStuffToPi.bat.  There should now be ~/proton tree on the pi +cd ../bin 
-  * Edit the RTBareBones/linux/CMakeLists.txt file and make sure "OPTION(RASPBERRYPI_OPENGL "Compile for Raspi 3 OpenGL" ON)" is uncommented  +./RTBareBones 
-  * RTBareBones/CopyStuffToPiAndCompileLoop.bat and it should update that example and compile it in a loop+</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 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>
  
-You'll have to the copy the RTBareBones/bin/interface dir to /RTBareBones/linux as that has font/graphics needed.+If that worked, enjoy the app.  If it didn't... off to the forums and yell at Seth!
  
-Running "./rtbarebones" from the RTBareBones/linux dir should now work.  +=== State of Proton on the Pi === 
 +  - It runs fullscreen only both in or out of the desktop environment 
 +  - If SDL isn't compiled a certain way, mouse and keyboard won'work right(use the RetroPi dist!) 
 +  - Even though mouse and keyboard can work, there is no mouse cursor, you'd need to draw it yourself 
 +  - Video acceleration works, audio works (see my [[https://www.youtube.com/watch?v=bk6jVk7t4i4|Atari PaperCart project]])
  
-That should be enough to get you going.+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.
proton/raspi_setup.txt · Last modified: 2023/12/03 06:42 by seth