Advanced Guide to Setting up a DIY Game Console With Raspberry Pi
It’s no secret that turning a Raspberry Pi into a retro game console is undoubtedly the most popular, simple, and fun project you can do with a Pi. This starter guide is just the beginning, and if you really want to get more out of your little DIY console, you’ll need to delve deeper into a few additional tips.
This is a follow-up to our RetroPie setup guide , so we’ll assume you’re already up and running, copied your ROMs, and set up internet access. For most of this, you’ll need a keyboard as well, or you can SSH from a desktop computer . If you don’t have such a setup, go back to the original guide before proceeding.
Update RetroPie to the latest version
First of all, you need to make sure you have the latest version of RetroPie installed:
- Boot your Raspberry Pi with RetroPie installed, then exit to the command prompt (Menu> Exit).
- Type
sudo ~/RetroPie-Setup/retropie_setup.sh
and press Enter. - This downloads the installation script. Select “Update All Installed Packages” and press Enter.
Let RetroPie do its thing. This can take about 20-30 minutes if you are not already in the know. When ready, select “Reboot” to reboot the system.
Add cover art for all your games
After you add your ROMs to RetroPie , you can sort through the tedious list to choose which game to play. That’s okay, but most people have the same nostalgia for boxing art as they do for the games themselves. Fortunately, it is very easy to add graphics using software called a scraper. After you run the parser, this bland old list now includes cover art, release dates, and more.
You have several different ways to add this data to your RetroPie. The first way to try is with the built-in scraper. This requires you to manually approve the metadata. You can access this directly from RetroPie itself, just make sure your Raspberry Pi is connected to the internet:
- From the main console select screen, press the Menu button.
- Select Scraper.
- Select Scape Now.
- If you want to find cover art for games on all systems, make sure “all” is selected for all systems (or change it to whatever you want), then select “Start”.
- In each game, a hint will pop up, press “A” to accept the result.
RetroPie will now collect additional information about all of your games. Depending on how many games you have, this can take a while, so if you have a ton of them, this is a terrible way to browse through them. Instead, you’ll want to sacrifice the ability to manually validate data with an automated system that just makes the best guess and dumps it all for you. Thus, the scraper scans images and other data without requiring confirmation of each entry. To do this, you need to go back to the same menu where you updated RetroPie:
- Exit to the command prompt (Menu> Exit) and type:
sudo ~/RetroPie-Setup/retropie_setup.sh
and press Enter. - Scroll down to Configuration / Tools and press Enter.
- Scroll down to Scraper and press Enter. This will install Stephen Self’s Scraper tool .
- When the installation is complete, select “Scraper” again and press Enter.
Wait for the scraper to finish. It may take a while, so please wait.
Get a more “precise” image with shaders
When you first play some of the games in RetroPie, you will notice that they may appear too crisp. This is because modern LCD screens are much sharper than the older CRT screens that most older games were designed for. Shaders are essentially filters designed to correct this sharper image . They add sweep lines, some blur, and even simulate screen curvature.
RetroPie lets you tweak the shader at the system level or make it work with specific games. Here’s how to set the shader for each game:
- Play any RetroPie game.
- On your controller, press Select and X at the same time (or whatever buttons you’ve assigned to those keys). This brings up the in-game menu system, which looks very archaic.
- Choose Quick Menu> Shader> Load Shader Preset.
- Here you will find tons of different shaders that will change the way your games look. Most people will love the
crt-pi.glslp
shader shown above. Otherwise, experiment with the number of options available here to find the one you like. When you’re done, select it with the “A” button and press “B” to refuse. - Select Apply Shader Changes and press the A button. Press “B” to exit the menu, select “Continue” to return to the game.
If you don’t want to do this for every game, you can configure one shader to use across all emulators:
- Exit to the command prompt (Menu> Exit) and type:
sudo nano /opt/retropie/configs/all/retroarch.cfg
and press Enter. - Scroll through the text file using the arrow keys and find the line
# video_shader_enable = false
and change it tovideo_shader_enable = true
- Change
# video_shader =
tovideo_shader = pathtotheshaderyouwanttouse
likevideo_shader = /opt/retropie/emulators/retroarch/shader/crt-pi.glslp
- Press Ctrl + X to save and exit. Restart your Raspberry Pi to make sure the effect is applied.
All games will now use this shader by default, but you can always go in and change it manually for specific games using the first method above.
Add your own themes and screensavers
Part of the appeal of building a gaming console on your own is customization. If you don’t want to use the default theme that comes with RetroPie, it’s easy enough to replace it with something else.
First, you need to manually add themes to RetroPie. There are quite a few to choose from, and you can find a list of screenshots on the RetroPie Wiki . Once you know which one you need, you need to add it using the already familiar RetroPie configuration screen:
- In Terminal, type:
sudo ~/RetroPie-Setup/retropie_setup.sh
and press Enter. - Select Configuration / Tools and press Enter.
- Select “Estema” and press Enter.
- Select the theme you want to install and press Enter.
- Back in Terminal, type
emulationstation
and press Enter to restart RetroPie. - Press the Menu button, then select User Interface Settings> Theme Bundle to select an installed theme.
If you’re not a fan of any of the pre-made themes, you can create your own, but be prepared for a lot of work. This guide will walk you through everything you need to know if you’re ready to take this path.
For something more basic than a fully customizable theme, you can also update the splash screen that appears at startup. It’s pretty simple to do this:
- Create an image to be displayed as a splashscreen, then copy it to the
/home/pi/RetroPie/splashscreens
from your PC. This folder is automatically made available when you set up RetroPie, so you can access it from your local network. If not, go back to our initial setup guide . - On your Raspberry Pi, open a command prompt and type:
sudo ~/RetroPie-Setup/retropie_setup.sh
- Select Splashscreen and press Enter.
- Select Select Screensaver and press Enter.
- Select the file that you copied in the first step.
Now when you boot up your Raspberry Pi, it displays this custom image. This is especially handy if you are making a retro console as a gift, or planning to place it in an arcade cabinet .
Setting up achievements for older games
If you really like the way you get achievements for completing tasks in modern games, you’ll be glad to know that you can add this to older games too. RetroPie uses the RetroAchievements system that works for the NES, SNES, Genesis, Game Boy, Game Boy Color, and Game Boy Advance. Here’s how to set them up:
- Create an account with Retro Achievements (do it from your PC).
- Back on your Raspberry Pi, exit to the command prompt (Menu> Exit).
- Type
sudo nano /opt/retropie/configs/all/retroarch.cfg
and press Enter. - Enter the following anywhere on the blank line, replacing
yourusername
andyourpassword
youryourpassword
to log into Retro Achievements:
cheevos_username = "yourusername" cheevos_password = "yourpassword" cheevos_enable = true
When you’re done press Ctrl + X to save and exit.
You will now receive achievements in all these old games, just like in the modern ones. You can track your progress at RetroAchievements .
So you are well on your way to customizing your RetroPie game console to suit your needs. Of course, this is a Raspberry Pi project, so even this advanced guide is only a fraction of what is possible. Chances are, if you can come up with something you want to change in RetroPie, you can probably do it if you want to dig deeper into some of the config files.