Selecting Your Operating System
The beauty of Raspberry Pi is that there is a thriving developer community supporting the device with free and open source software. Even for a (reasonably) niche application like retro games emulation, you’ll find a number of dedicated operating systems (built from similar foundations) available for selection.
While researching your options, consider what’s important to you. As we were building this PC for use by youngsters, I wanted to ensure there was support for a wide range of retro consoles for sure, but more important was ease of use. I didn’t want the kids (or actually, me, as the resident IT support team) to have to mess around with tedious tasks like manual controller configurations, fussy networking setups and so on.
Ideally, I wanted as close to a console-like experience as possible. Plug and play.
RecalBox is another contender, with a rich user interface, widespread system emulation support and even the Kodi media center application on board for music and video playback.
Both of these packages looked like great options, especially when considering the “experimental” Child Friendly Emulation Station option, which further locks down and simplifies the user interface.
However, I actually went with a third option. Lakka is the official Linux distribution of the RetroArch emulation frontend and the libretro ecosystem. Rather than use the (admittedly awesome-looking) Emulation Station UI, it uses its own design based (heavily) on the PlayStation XMB.
While it’s certainly not as aesthetically rich as its competitors, Lakka benefits from plug and play controller support, game rewinding, one click firmware updates, network play and more. Crucially (for me), installation of Lakka is made easy as it’s now included in the NOOBS installation manager (New Out of the Box Software) for Raspberry Pi. Install NOOBS on your SD card and, once the PC is connected to your home network, you’ll be presented with a list of available operating systems which can be downloaded and installed with a single click.
I was keen to introduce Jamie to NOOBS (thinking about future Raspberry Pi projects) and a one-click OS installation process sounded too good to be true. So, while we’ll definitely explore other OS options in the future, this time around, we went with Lakka.
Installing the Operating System
So, to recap, we’ve built the Raspberry Pi 3 PC, prepared the microSD card that will hold the operating system and have selected the software we’re going to use for our retro gaming system. The next step is to install the operating system on the microSD card.
As mentioned, we’re going to use the NOOBS installation manager for Lakka, but if you decide to go with an alternative OS, you can basically download and copy the installers from the respective websites to the microSD card, install it in your Raspberry Pi, power on and go from there. It’s simple stuff.
This time around, we downloaded the NOOBS software from the Raspberry Pi website using a Mac and, with the microSD card still connected, extracted the NOOBS zip file, then dragged and dropped the extracted files on to the microSD card. Again, even reasonably simple tasks like this were new to Jamie, so each step we did together was a valuable learning experience, offering great opportunities for discussion.
Then, we ejected the microSD card from the Mac and inserted it into the Raspberry Pi. Power on the Pi and the NOOBS installer ran automatically. At first, you’ll see that NOOBS only offers the Raspbian OS by default but, if you connect the Raspberry Pi to your home network (using a Wi-Fi or wired connection) a far greater list of operating systems become available, including Lakka.
At this point, you’ll need to use a connected mouse (or touchpad in our case) to select the operating system to wish to install. We selected Lakka, which was then automatically downloaded and installed. No further interaction was needed for us, so we took a break for lunch and allowed NOOBS to do its thing. The OS was installed in around fifteen minutes.
Finding Games for Your Retro Gaming System
Of course, a successful PC build and OS installation is one thing – finding games for your system is another. The Internet being the wonderful resource it is, you don’t have to search too far to find repositories of retro game files (called ROMs) that can be downloaded and installed on your new games system. Some of these files are absolutely free to use with no legal implications. Others – in fact, most – are less so.
Obviously, copyright laws vary in different countries and you may well find that the downloading and installation of ROMs still protected under copyright may be illegal in your country. I’d advise you spend a little time researching and understanding the legalities in your own country before proceeding.
If you’re happy to proceed, I won’t point directly to ROM repositories, but would advise that you check out the excellent Emulation General Wiki, which has a wealth of broader information about gaming emulation. This page will also be of interest.
Installing Game ROMs
With Lakka installed, you should find that your connected controllers work out of the box, allowing you to zip around the user interface with ease. It will take you a few minutes to navigate your way around the UI, but the basic principles are as follows. Lakka already includes a host of emulators (known as Cores) under the hood. You now need to copy over some Game ROMs to your Raspberry Pi PC, allow Lakka to scan and detect those files, and they’ll be made available for play.
Copying files to your Raspberry Pi’s microSD card is made really easy, thanks to integrated SMB support. On a network connected PC or Mac, visit the Network section in Windows File Explorer or the Shared sidebar in MacOS Finder and you should see your Raspberry Pi 3 listed (under LAKKA).
Select the PC and you’ll have full access to the Raspberry Pi’s file structure. Copy your game files to the ROMs folder with a simple drag and drop. I found it helpful to create individual subfolders the ROMs folder for each gaming system, but that’s not required.
With the files copied over, head to your Raspberry Pi and the Plus (+) menu. Select Scan Directory and point Lakka to the ROMs folder.
You’ll now see additional icons available on the right of the menu – one for each system that now has games available. You can further enrich the user interface with cover artwork or screenshots for each title.
From there, all you need to do is select your game, then select Run and you’re off!
Advanced Ninja Moves
You should find the experience with Lakka on the Raspberry Pi has been first class, however the system struggles a little with Nintendo 64 emulation.
Next steps for us will be exploring some of Lakka’s advanced features. In particular, I’m interested in checking out Lakka’s Game Rewind feature (which allows you to retrace your steps when wiping out).
Also of interest is the ability to store and serve ROMs from a NAS on the network, opening up the potential for a much larger games library. This requires access to the Lakka command line – potentially a great introduction for the kids to scripting.
That’s all for the future, though. For now, if you’re looking for a fun, collaborative project that can be used to introduce the kids to some of the fundamentals of computing, building a Raspberry Pi Retro Gaming PC makes for a great weekend.