Raspberry Pi 4: How to Run Emulators Like RetroPie

The Raspberry Pi 4 officially launched on June 24, but even after several weeks, there’s no officially supported way to run game emulation on the single-board computer. As of this writing, none of the three major emulation platforms -- Retropie, Lakka and Recalbox -- has a release version that’s meant to work with the Pi 4. That’s a really big problem because a lot of people buy Raspberry Pis for the sole purpose of building a retro video game system.

Fortunately, if you want to run emulators on your Raspberry Pi 4, there are multiple unofficial ways to do so today, and they work well. They just involve either downloading a beta-level software build of Lakka or doing a time-consuming manual install of Retropie.

Running Lakka on a Raspberry Pi 4: Easy, but Crude

Though Retropie is, by far, the most popular choice because of its superior user interface (UI), Lakka works reasonably well and comes with most of the emulators you'd want -- Mame arcade game emulator, Atari, Nintendo 64 -- preloaded. The current release version of Lakka only works on Raspberry Pi 3.

1. Insert a microSD card (at least 16GB) into your PC.

2. Download the latest build from Lakka's nightly build site. Look for the latest file with the .img.gz file extension.

3. Launch Etcher on your PC. Download and install Etcher if you don't have it already.

4. Click Select Image and choose the file you just downloaded.

5. Click Flash.

After your microSD card is done burning, you can put it into the Raspberry Pi 4 and boot. 

Installing RetroPie on a Raspberry Pi 4

To install RetroPie on your Pi 4, you won’t need to do a lot of work, but you will have to be patient. Once you get the install process up and running, you will need to walk away and leave it going for an hour or two. Hat tip to Adam Levy of Retro Gaming IL for telling me how it’s done.

1. Install the latest version of Raspbian Buster on your Pi 4, if you haven’t already done so and boot into it. If you don’t know how, see our article on getting started with Raspberry Pi.

2. Set the Raspberry Pi 4's GPU memory to 256MB. You do that by navigating to Preferences->Raspberry Pi Configuration, clicking on the Performance tab, changing the number to 256 and clicking Ok. You'll then be asked to reboot.

3. Launch a terminal window on the Raspberry Pi 4. You can get there by clicking the terminal icon or hitting CTRL+ALT+T.

4. Download Retropie's setup files by typing:

sudo git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

If you have a decent Internet connection, this will take only a few seconds.

5. Type cd RetroPie-Setup to enter the setup directory. 

cd RetroPie-Setup

6. Open the retropie_packages.sh file for editing. The easiest way is to use nano.

sudo nano retropie_packages.sh

7. Add a line that says "__platform=rpi3" underneath where it says "__version=". Save and exit the file by hitting CTRL + X (then hitting yes and Enter to confirm). This line fools RetroPie into thinking that you're on a Raspberry Pi 3, which is supported.

8. Execute the setup script by typing:

sudo ./retropie_setup.sh

This process will take a few, so maybe walk away and come back. When you return, you'll see a blue screen with a menu on it.

9. Click Ok by hitting Enter and click Ok again if prompted. At this point, I got a message asking me to change the video driver from the experimental GL driver (on by default) to the non-experimental driver before running Retropie. You can probably ignore this.

10. Select Basicall Install from the menu and hit Ok.

11. Hit Yes when asked to confirm the install.

Now the install process will begin in earnest. Walk away for at least 45 minutes, maybe more.

12. Select Perform Reboot and hit Ok. Confirm if prompted.

The Raspberry Pi will reboot.

13. Type "emulationstation" into a terminal window command prompt and hit Enter. EmulationStation should start and ask you to configure a controller.

After you've configured your controller, you have a working install of RetroPie that you can launch by opening a terminal window and typing "emulationstation" at the command line. However, you probably want to boot directly into the EmulationStation interface every time you power on your Raspberry Pi 4.

For some odd reason, when I tried using the recommended method of getting the system to boot to EmulationStation (going to RetroPie Setup), it didn't work. However, if you simply tell the Pi to launch EmulationStation after Windows every time, it works.

14. Edit the autostart script by typing the following at the command prompt:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

15. Add this line to the bottom and save / exit by hitting CTRL + X and confirming.

lxterminal -e /usr/bin/emulationstation

Now your system should boot directly to EmulationStation every time. However, you will run into a problem if there are any other programs autorunning on the Pi's desktop, because they could end up taking the window focus away from EmulationStation. In my case, the warning dialog box that tells you to change your Pi's password (only if you have SSH enabled) kept stealing the focus, so I changed my password to make it go away.

Bottom Line

Credit: ShutterstockCredit: Shutterstock

Some time in the next few weeks, it's nearly certain that both RetroPie and Lakka will have new release versions with full-fledged Raspberry Pi 4 support. At that time, I'll update this article with the new instructions. RetroPie, in particular, will be much easier to install because it will have its own disk image you can burn directly to a microSD card. However, for now, the methods above will let you enjoy retro games on your Raspberry Pi 4.

MORE: Raspberry Pi GPIO Pinout: What Each Pin Does

MORE: How to Use Raspberry Pi as a VPN Gateway

MORE: Raspberry Pi Tutorials

    Your comment
  • mitch074
    "However, if you simply tell the Pi to launch EmulationStation after Windows every time, it works." - strange, as I thought the Raspberry was running a modified Debian distro with the LXDE window manager, not an unknown build of MS Windows...
  • ksuquix
    Out of curiosity, has anyone following this gotten mouse functions (e.g. trackball) to work on pi4 yet?