Before you begin with adding an arcade control you'll need some games to play! In particular we're going to be talking about Retro Gaming here
Retro gaming is one of the most popular uses for the Raspberry Pi, and there are now a multitude of ready-to-go SD card images packed with emulator software (though most require sourcing your own ROM files). The days of installing emulators onesy-twosey are behind us; and the Pi Store (an online app store for Raspberry Pi, recommended in earlier versions of this guide) was shuttered in 2015.
Before committing to a big arcade project build, we recommend testing one or more of these packages with a keyboard connected and confirm you can set up and run all the games you’re most interested in…then move ahead with more interesting controls.
These are all free downloads, so there’s no harm in downloading them all and seeing what fits your tastes. Also, as you work with each one and tweak and tune, it’s not uncommon to have to wipe and start over. Keep careful notes of your setup process and any configuration changes you make!
If you encounter difficulty with these packages or just need tips on setting them up, please visit the FAQ and/or support forum on the corresponding project’s web site, not the Adafruit Forums. They’ll be better equipped to answer questions about their own software.
(We can only help out if you have questions specifically about our arcade controls or the retrogame software we’ll introduce on the last page. Please ask for such help in the Adafruit Customer Support Forums…do not submit support questions as bug reports on GitHub, they’ll be ignored there…and be as specific as possible in describing both the variant of Raspberry Pi hardware you’re using and which software package and release, exact version number or date, etc. Thanks!)
So! Here are a few gaming OSes we’re currently aware of…
Once you've picked it out and installed it on your Raspberry Pi, you can continue to the next step
This is our recommended emulator package!
From the RetroPie web site:
From the site’s Download page, there are separate versions of RetroPie optimized for single- and multi-core Raspberry Pi boards (i.e. Pi Zero, original Model A or B, A+ or B+ versus the multi-core Pi 2 and Pi 3); these are not cross-compatible; be sure to start with the right version for your model of Pi!
In particular, we like the 3.8.1 release, as it includes some ready-to-run games such as Doom (see all releases here)
Breaking down some of the jargon above…
- Raspbian is the standard and most popular Linux operating system distribution for the Raspberry Pi; it’s what most people start with when setting up a Raspberry Pi for “normal computer stuff.”
- EmulationStation is a graphical front-end that lets you select among different emulators or games installed on the system, as well as configure gaming controls and other options.
- RetroArch is among the broadest and most popular multi-platform emulators…this is the code that runs the actual games. But it’s not the only one…RetroPie (and most other gaming OSes) collect several others for different situations.
From the PiPlay web site:
PiPlay lacks the breadth and active development of RetroPie; it’s not currently Pi 3 or Zero compatible, hasn’t been updated since 2015 and the forums are falling victim to spambots. Still, some users report an easier time configuring things here than other distributions…as long as you’re running on the right hardware.
From the Recalbox web site:
A relative newcomer with an impressive variety of emulated systems. One SD card image (from their “DIY recalbox” link) is compatible with all current Raspberry Pi boards (no separate single- or multi-core downloads).
It appears that recalbox has its own support for interfacing arcade buttons and joysticks to the Pi’s GPIO header, obviating the need for our own software explained on the last page. Have not experimented with this yet!
From the Lakka web site:
Lakka is not as all-inclusive as other packages, but as a result it’s extremely compact. There are separate downloads for single- and multi-core Raspberry Pi boards.