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 13:20]
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 ​(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: 
 + 
 +<code bash> 
 +cd ~/​proton/​RTBareBones/​linux 
 +sh linux_compile.sh 
 +cd ../bin 
 +./​RTBareBones 
 +</​code>​ 
 + 
 +If that worked, enjoy 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>​
  
-  * Install linux tools for Windowsrsync and ssh should work from the command line +If that workedenjoy the app.  If it didn'​t... ​off to the forums ​and yell at Seth!
-  * Setup a 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+
  
-You'll have to the copy the RTBareBones/​bin/​interface dir to /RTBareBones/linux as that has font/​graphics needed.+=== 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't 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]])
  
-Running "​./​rtbarebones"​ from the RTBareBones/linux dir should now 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.
  
-That should be enough ​to get you going.+An easy way to replace the boot splash is replacing **/​opt/​retropie/​supplementary/​splashscreen/​retropie-default.png**
proton/raspi_setup.1466256057.txt.gz · Last modified: 2016/06/18 13:20 by seth