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/19 12:35] 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**
  
-Here is how to setup the Raspberry Pi to support normal OpenGL or GLES (both with acceleration) and be able to compile the Proton SDK examples  (tested with Raspbian "Jessie" on 6/18/2016)+Test with the latest Raspberry Pi OS and RetroPi as of June 9th, 2023.
  
-From my tests got it working two ways:+These should run both in the desktop GUI, or directly from bash. (Fullscreen)  guess it's all identical to running on Ubuntu Linux/etc these days, no special stuff is needed.
  
-1.  Set it up using the OpenGL experimental driver.  Result: Proton examples only work in X11 in windows mode.  Fullscreen (using the SDL2 harness) didn't work.  [[proton:raspi_opengl_setup|Directions to setup]]+First, install some tools/libs you'll need:
  
-2.  Set it up using GL ES, won't work in X11, works full screen by starting from console.  This is more useful for me as it's more pedal to the metal and easier to get 60 fps, no x overhead.  With this method we're setting up our own EGL context manually, but still using the SDL2 harness for other things+<code bash> 
 +sudo apt-get install cmake zlib1g-dev 
 +sudo apt-get install libsdl2-2.0-0 libsdl2-dev 
 +</code>
  
  
 +Don't forget git!
  
 +<code bash>
 +sudo apt-get install git
 +</code>
  
 +Next, install Proton.
  
 +<code bash>
 +cd ~
 +git clone https://github.com/SethRobinson/proton.git
 +</code>
  
-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.+Now let's build Proton's RTPack utility, will come in handle later to build and optimize resources.
  
-  * 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 +cd ~/proton/RTPack/linux 
-  * Install cmake on the pi (sudo apt-get install cmake) +sh linux_compile.sh 
-  * Do "sudo rpi-update" to make sure your firmware is updated +</code>
-  * Run the following from a shell:+
  
-<code> +Now let's compile and run RTBareBones:
-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+<code bash> 
 +cd ~/proton/RTBareBones/linux 
 +sh linux_compile.sh 
 +cd ../bin 
 +./RTBareBones
 </code> </code>
  
-  * Do the following from a shell window to install SDL2 from source:+If that worked, enjoy the spinning triangle and text stretching!  It got 300+ fps on my Pi 4. Starting it from an ssh session worked for me as well.
  
-<code> +Now let's do RTSimpleApp, same thing but it needs SDL2_mixer for its audio, so let's get that installed: 
-cd ~  + 
-wget https://www.libsdl.org/release/SDL2-2.0.4.tar.gz  +<code bash
-tar zxvf SDL2-2.0.4.tar.gz  +sudo apt-get install libsdl2-mixer-dev
-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 shell inside of the GUI desktop+Great.  Now we compile and run like beforebut 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>
  
 +If that worked, enjoy 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 +
-  * Edit the RTBareBones/linux/CMakeLists.txt file and make sure "OPTION(RASPBERRYPI_OPENGL "Compile for Raspi 3 OpenGL" ON)" is uncommented  +
-  * RTBareBones/CopyStuffToPiAndCompileLoop.bat and it should update that example and compile it in a loop+
  
-The last step of the build copies the rtbarebones binary to /RTBareBones/bin (as that'where the media is), so go to that dir and run "./rtbarebones" and it should work.+=== 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.
  
 +An easy way to replace the boot splash is replacing **/opt/retropie/supplementary/splashscreen/retropie-default.png**
proton/raspi_setup.1466339743.txt.gz · Last modified: 2016/06/19 12:35 by seth