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/19 12:40]
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 **
  
-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)+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/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)
  
-From my tests I got it working two ways:+If you REALLY want to use a standard Raspbian stretch install you can, just do these commands first to get ready:
  
-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]]+<code bash> 
 +sudo apt-get install cmake 
 +sudo apt-get install libsdl2-2.0-0 libsdl2-dev 
 +</​code>​
  
-2.  Set it up using GL ES, won'​t ​work in X11works 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 fpsno x overhead. ​ With this method we're setting up our own EGL context manually, but still using the SDL2 harness for other things+Also, I think the GL driver needs to be set to "​Legacy"​ to work, which is the defaultbut worth mentioning if you've changed it using raspi-config.
  
 +---- End Raspbian stretch part ----
  
-** Instructions to setup GLES with Raspberry Pi and run Proton SDK examples **+First, make sure you gave git installed. SSH into your PI and:
  
 +<code bash>
 +sudo apt-get install 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.+Next, install Proton ​and compile its RTPack utility:
  
-  * Give the video card more memory on the pi.  Run raspi-config and give it at least 128 or so to be safe. +<code bash> 
-  * Install cmake on the pi (sudo apt-get install cmake) +cd ~ 
-  * Do "sudo rpi-update"​ to make sure your firmware is updated +git clone https://​github.com/​SethRobinson/​proton.git 
-  * Run the following from a shell:+</​code>​
  
-<​code>​ +Now let's build Proton'​s RTPack utility, will come in handle later.
-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 libgles2-mesa-dev libgegl-dev+<code bash> 
 +cd ~/​proton/​RTPack/​linux 
 +sh linux_compile.sh
 </​code>​ </​code>​
  
-  * Do the following from a shell window to install SDL2 from source:+Now let's compile and run RTBareBones:
  
-<​code>​ +<​code ​bash
-cd ~  +cd ~/proton/RTBareBones/linux 
-wget https://www.libsdl.org/release/​SDL2-2.0.4.tar.gz ​ +sh linux_compile.sh 
-tar zxvf SDL2-2.0.4.tar.gz ​ +cd ../bin 
-cd SDL2-2.0.4 && mkdir build && cd build  +./RTBareBones
-../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  +
-sudo make install ​+
 </​code>​ </​code>​
  
-  * To testtype "​glxgears"​ from a shell inside of the GUI desktop+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 
-  * Edit the RTBareBones/linux/​CMakeLists.txt file and make sure OPTION(RASPBERRYPI_GLES11 OPTION(RASPBERRYPI_GLES11 "​Compile for Raspberry PI GLES" ON) is uncommented and OPTION(RASPBERRYPI_OPENGL "​Compile for Rasperry PI OpenGL"​ ON) is commented out +  ​- Video acceleration works, audio works (see my [[https://www.youtube.com/watch?​v=bk6jVk7t4i4|Atari PaperCart project]])
-  * 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'​s ​where the media is), so go to that dir and run "​./​rtbarebones"​ and it should work.+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.1466340041.txt.gz · Last modified: 2016/06/19 12:40 by seth