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 [2016/06/23 07:29]
seth
Line 1: Line 1:
 ** Experimental and for linux pros only ** ** Experimental and for linux pros only **
  
-Here is how to setup the Raspberry Pi to support normal OpenGL (with acceleration) and 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)+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) 
 + 
 +From my tests I got it working two ways: 
 + 
 +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]] 
 + 
 +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 
 + 
 + 
 +** Instructions to setup GLES with Raspberry Pi and run Proton SDK examples ** 
  
 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. 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.
  
-  * Give the video card more memory on the pi.  Run raspi-config and give it 128 or 256 (good for the pi3) +  * Give the video card more memory on the pi.  Run raspi-config and give it at least 128 or so to be safe.
-  * Also enable the experimental OpenGL driver under the Advanced section in raspi-config+
   * Install cmake on the pi (sudo apt-get install cmake)   * Install cmake on the pi (sudo apt-get install cmake)
   * Do "sudo rpi-update"​ to make sure your firmware is updated   * Do "sudo rpi-update"​ to make sure your firmware is updated
Line 14: Line 23:
 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 -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+sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev libgles2-mesa-dev libgegl-dev
 </​code>​ </​code>​
  
Line 24: Line 33:
 tar zxvf SDL2-2.0.4.tar.gz ​ tar zxvf SDL2-2.0.4.tar.gz ​
 cd SDL2-2.0.4 && mkdir build && cd build  cd SDL2-2.0.4 && mkdir build && cd build 
-../​configure --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland+../​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  make -j 5 
 sudo make install ​ sudo make install ​
 </​code>​ </​code>​
- 
-  * To test, type "​glxgears"​ from a shell inside of the GUI desktop 
  
  
Line 38: Line 45:
   * Edit SetupVars.bat and edit the IP to the pi   * Edit SetupVars.bat and edit the IP to the pi
   * Run CopyStuffToPi.bat. ​ There should now be a ~/proton tree on 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 ​+  * 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. 
   * RTBareBones/​CopyStuffToPiAndCompileLoop.bat and it should update that example and compile it in a loop   * 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.+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.
  
-Running "./​rtbarebones"​ from the RTBareBones/linux dir should ​now work +RTSimpleApp is much the same, although you'll need SDL2's mixer as well ​Unlike with the base SDL2, we can just grab a pre-compiled one like this: 
 +<​code>​ 
 +sudo apt-get libsdl2-mixer-dev 
 +</code> 
 +And that should ​compile ok. It should run 60+ fps at 720p on a Raspi 3.
  
-That should be enough to get you going. 
proton/raspi_setup.txt · Last modified: 2016/06/23 07:29 by seth