How to play Retro games on Raspberry Pi
The number of virtual reality games is increasing rapidly. Mobile games are also increasingly popular. Chatting via Discord and streaming to Twitch or YouTube continue to be popular entertainment activities. Experts predicted all of this many years ago.
But who could have predicted the rise of retro games? Who would have guessed that a credit card-sized PC would become instrumental in the rise of retro gaming, right?
The Raspberry Pi is incredibly versatile - like a desktop computer, but a lot lighter - and can emulate a large collection of gaming platforms. If you're interested in building a retro gaming console with a Raspberry Pi, here's what you need to know.
Can Raspberry Pi run Retro games?
The answer is yes. All you need is to install the necessary emulators on your Raspberry Pi and then you can start playing retro games right away. While installing and using emulators is legal, downloading games you don't own is not.
Choose the right retro gaming distribution
The easiest and simplest way to start playing retro games on Raspberry Pi is to use a dedicated retro game distribution. These distributions include a pre-configured operating system loaded with all the necessary software to emulate classic console games. They usually require minimal setup and allow gameplay from a variety of game systems right from the start.
The main options for retro gaming distributions on the Raspberry Pi are:
- RetroPie
- Batocera
- Lakka
- Recalbox
Retropie is the best known option, but at the time of writing, the Retropie image is not compatible with the Raspberry Pi 5. For this reason, the article will use Batocera in this tutorial.
Note : For old Raspberry Pi, you can configure Retroarch on Raspberry Pi to have the best gaming setup.
All of these distributions use almost the same emulation system, with EmulationStation as the frontend and libretro as the backend. So the choice mainly depends on personal preference.
In the next section, the article will guide you through the process of setting up Batocera on Raspberry Pi and starting to play retro games. If you decide to use a distribution other than Batocera, you can still follow the instructions as the process is largely the same regardless of which distribution you choose.
As a side note, the above distributions will also work on any Raspberry Pi alternative.
Install Batocera on Raspberry Pi
To set up Batocera on Raspberry Pi, you first need to download the Batocera image for Raspberry Pi. Next, download and install Raspberry Pi Imager for the operating system (available for Windows, macOS, and Linux). This is the tool that will be used to write the Batocera image to the microSD card.
Connect the microSD card to the computer's USB port. If you want to store ROM and BIOS files on the same microSD card as the operating system, make sure it has enough capacity. Recommended storage capacity is 128GB or more. It's also possible to store ROM and BIOS files on a separate storage device, such as a USB or external hard drive, so it won't be a problem if a large microSD card isn't available right now.
Warning : The SD card will be completely erased, so make sure there is no important content on it.
Once the microSD card is connected, you can launch the Raspberry Pi Imager tool and select your Raspberry Pi model. Then click the Choose OS button and scroll down until you see the Use custom .img option . Click on it and select the downloaded Batocera image file.
Finally, select the SD card and click Next . You will be given the option to customize your operating system settings. You should because doing it now will be easier than later. Click the Edit Settings button and configure the server name (can use 'batocera'), username and password, wireless LAN settings and local settings in the General tab . In the Services tab , SSH can be enabled for remote access. Then click Save and confirm your decision to apply the operating system customization settings.
Now, just wait for the image to be written to the SD card. It may take a few minutes. Once the image has been recorded, insert the SD card into the Raspberry Pi and connect it to the monitor, keyboard and mouse. Power on the Raspberry Pi and wait for Batocera to boot.
Add ROM and BIOS file
Batocera is up and running. Now it's time to add your favorite retro games! They come in a file format called ROM. Additionally, some console emulators may require specific BIOS files to function properly.
The most convenient option is to store ROM and BIOS files on a Batocera microSD card. Just copy the ROM and BIOS files directly using one of the following methods:
- Batocera File Manager : Access it by pressing F1 on the home screen. It can then be used to copy ROM and BIOS files from any external storage device connected to the Raspberry Pi to the ROM and/or bios folders. (use ALT + F4 to exit the file manager once completed).
- Batocera network sharing : Additionally, Batocera network sharing is possible, which will be available as soon as Batocera starts. Network shares show all important user folders, including roms and bios.
- Direct file transfer : It is also possible to connect the Batocera microSD card to a computer with a file system capable of reading EXT4 (most modern Linux machines can read it). Then, copy the ROM and BIOS files directly to the card.
For example, I chose the second option, copying my ROM and BIOS files over the network. The process went smoothly and Batocera recognized the NES collection immediately.
If you want to use an external storage device, Batocera needs to be configured to use it. Open the main menu (spacebar if using a keyboard) and navigate to SYSTEM SETTINGS → STORAGE DEVICE . There, select the storage device you want to use (it must have a compatible file system such as FAT32, exFAT or EXT4).
Batocera will automatically create the necessary folder structure on the selected drive after reboot. Once the folder structure is created, you can remove the drive, copy files to it, and reconnect it to Batocera.
For Batocera to actually recognize newly added games, the game list must be updated by going to GAME SETTINGS → UPDATE GAMELISTS in the main menu.
While you're at it, you should also download cover art for your ROM files. Do that using the Scraper tool in the main menu. In most cases, the default settings will work fine (some sources may ask for credentials), so just launch the tool and select Scrape Now .
Note : The UPDATE GAMELISTS option needs to be reused after collecting data.
Connect the controller to Bluetooth or wired
To enjoy a more realistic retro gaming experience, you may want to use a controller or gamepad. Luckily, Batocera supports all popular controllers by default and requires no configuration. All you need to do is put the controller into pairing mode and go to CONTROLLER & BLUETOOTH SETTINGS → PAIR BLUETOOTH PADS AUTOMATICALLY . If that doesn't work, use the PAIR A BLUETOOTH DEVICE MANUALLY option instead .
The controller's buttons will automatically be mapped correctly. If not, you can remap them by going to CONTROLLER & BLUETOOTH SETTINGS → CONTROLLER MAPPING .
Start playing the game
Once you've added your ROM and configured your controller, you're ready to start playing retro games on your Raspberry Pi using Batocera. But why stop there when you can turn any PC into a retro gaming machine with Batocera Linux? If you have some old PC hardware left over, you can reuse it in a unique and awesome way.
You should read it
- How to add an ADC to Raspberry Pi: What you need to know
- Raspberry Pi Zero vs Model A and B, how are they different?
- What is the Raspberry Pi and how is the Raspberry Pi used?
- How to start Raspberry Pi 3 from USB
- Why should people try Raspberry Pi 4?
- Learn Pi Imager, How to Use Raspberry Pi Imager
- How to use Raspberry Pi Imager to install Raspberry Pi OS
- 5 ways to make good use of Raspberry Pi 4
- 7 best Raspberry Pi 4 cases
- What is the difference between Raspberry Pi 4 and other models?
- How to set up Raspberry Pi
- What's New in Raspberry Pi OS 11?