User Tools

Site Tools


This is an old revision of the document!

Compiling Proton and its examples on the Raspberry Pi with GL ES

As a base, I started with a RetroPi image 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)

If you REALLY want to use a standard Raspbian stretch install you can, just do these commands first to get ready:

sudo apt-get install cmake
sudo apt-get install libsdl2-2.0-0 libsdl2-dev

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.

—- End Raspbian stretch part —-

First, make sure you gave git installed. SSH into your PI and:

sudo apt-get install git

Next, install Proton and compile its RTPack utility:

cd ~
git clone

Now let's build Proton's RTPack utility, will come in handle later.

cd ~/proton/RTPack/linux

Now let's compile and run RTBareBones:

cd ~/proton/RTBareBones/linux
cd ../bin

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:

sudo apt-get install libsdl2-mixer-dev

Great. Now we compile and run like before, but we're adding a step - compiling media with the RTPack utility.

cd ~/RTSimpleApp/linux
cd ../media
cd ../bin

If that worked, enjoy the app. If it didn't… off to the forums and yell at Seth!

State of Proton on the Pi

  1. It runs fullscreen only both in or out of the desktop environment
  2. If SDL isn't compiled a certain way, mouse and keyboard won't work right. (use the RetroPi dist!)
  3. Even though mouse and keyboard can work, there is no mouse cursor, you'd need to draw it yourself
  4. Video acceleration works, audio works (see my Atari PaperCart project)
proton/raspi_setup.1548668325.txt.gz · Last modified: 2019/01/28 09:38 by seth