Set up a Raspberry Pi retro games console

By Lucy Hattersley. Posted

Lakka lets you relive the games of the past by enabling your Raspberry Pi to emulate a host of retro computers and consoles. Lucy Hattersley shows you how.

Whether you are nostalgic for the games of yesteryear or you’re simply dying to discover gaming’s rich history, all you ultimately need to get stuck in is a bunch of emulators and a stack of gaming ROMs

In the past, however, this has also entailed finding and downloading the BIOSes of various machines and a fair bit of configuration. Fortunately, with the software platform Lakka installed on your Raspberry Pi 4, the path to gaming glory is much smoother these days.

Lakka allows you to emulate arcade games as well as titles originally released on a host of 8-bit, 16-bit, and even 32- and 64-bit systems. 

Lakka is a Linux operating system based on RetroArch. Lakka is designed to run games, and it turns a Raspberry Pi into a powerful games system.

You can hook up a gamepad and even make use of wireless controllers (there’s more about those at magpi.cc/HpPSSV). It has an interface that will be very familiar to anyone who has used modern games consoles and because it is open-source, it is constantly being improved.

You can run Lakka on any Raspberry Pi, although Raspberry Pi 4 enables smoother emulation of more recent consoles.

Some features help you organise your growing gaming collection and take screenshots of the in-game action. For now, though, we’re looking solely at getting you up and running with a classic homebrew video game.

Warning: it is illegal to download copyrighted game ROMs from the internet. Please respect the original maker and seek a legal source for retro gaming instead. We use homebrew ROMs made by modern makers for classic systems. 

Get SD Card Formatter

We’re going to install Lakka RPI4 to a blank microSD card using the OS installer NOOBS (magpi.cc/noobs). 

In this tutorial, we’re using a Windows PC to format a microSD card and copy the NOOBS files to the card (the process is identical for Mac computers). We will then use the NOOBS card with our Raspberry Pi 4 and set up Lakka. From then on, our Raspberry Pi 4 will boot straight to Lakka and let us run games.

First, download SD Formatter on a computer from magpi.cc/sdcardformatter. Click ‘For Windows’ or ‘For Mac’ depending on your machine.

Format the card

We’re now going to format the microSD card that you will use to boot Lakka on a Raspberry Pi. Note that this completely wipes the card, so make sure it contains nothing you need.

Insert the microSD card into your Windows or Mac computer. You will need to use either a USB SD card adapter or microSD card to SD card adapter.

Close any alert windows that appear, and open the SD Card Formatter app. Accept the terms and conditions and launch the program. On a Windows PC, click Yes to ‘Do you want to allow this app to make changes to your device’ (you won’t see this on a Mac; the approval comes later).

The card should be assigned a letter under Select Card. It is ‘D’ on our system. Check the Capacity and other details to ensure you have the correct card. Now click Format and Yes. On a Mac, you’ll be asked to enter your Admin password. 

Download NOOBS

Now visit magpi.cc/downloads and click the NOOBS icon. Select ‘Download ZIP’ next to NOOBS. 

The latest version of the NOOBS zip file (currently NOOBS_v3_2_1.zip) will be saved to your Downloads folder.

Extract the files from the NOOBS zip file (right-click and choose Extract All and Extract). Now open the extracted NOOBS folder (it’s important to ensure you are using the extracted files and not looking at the files inside the zip file. Make sure you have opened the NOOBS_v3_2_1 folder and not the NOOBS_v3_2_1.zip file.

You should see three folders – defaults, os, and overlays – followed by many files beginning with ‘bcm2708...’. It is these folders or files you need to copy to the microSD card.

Select all of the files inside the NOOBS folder and copy them to the microSD card. When the files have copied, eject and remove the microSD card from your PC or Mac.

Boot to NOOBS

Now set up your Raspberry Pi 4. You’ll need to connect a USB keyboard and HDMI display for the installation process (you can remove the keyboard later and use just a game controller). 

The display does not have to be the television you intend to use. It’s best to use Raspberry Pi 4’s HDMI 0 port. We’re going to use a wireless LAN network to connect to the internet, but you can connect an Ethernet cable attached directly to your modem/router.

Insert the microSD card into your Raspberry Pi and attach the USB-C power supply to power up.

NOOBS (New Out Of Box Software) is used to install operating systems such as Lakka on Raspberry Pi

Connect to wireless LAN

The NOOBS screen will appear, displaying two installation options: Raspbian Full and LibreELEC. To get further installation options, you will need to be connected to the internet. 

Connect Raspberry Pi directly to your modem/router using an Ethernet cable; or click the ‘Wifi networks (w)’ icon. The WiFi network selection window appears; wait until it displays the local networks. Select your wireless network and enter the password for it in the Password field. Then click OK.

With Raspberry Pi connected to a network, you get a much broader range of installation options. Near the bottom will be Lakka_RPi4.

Use the arrow keys on your keyboard to select Lakka and press the SPACE bar to add a cross to its selection box (or use a connected mouse to select the Lakka option).

Click Install and answer Yes to the Confirm window. NOOBS will download and extract the Lakka file system to the microSD card. Sit back and wait for the system to be installed.

When it has finished, NOOBS will display ‘OS(es) Installed Successfully’. Press ENTER on the keyboard (or click OK with the mouse).

Starting Lakka

Lakka's main menu. Cores are the emulators used to run retro games. They are modular components based on classic systems and games

Raspberry Pi will restart and this time it will boot into the Lakka operating system. You will see a blue screen with a series of windows and ‘Load Core’ will be highlighted. You can use the arrow keys on the keyboard to navigate the menu, and X to select a menu option, then Z to back up.

Highlight Load Core and press X to select it. Here you will find a list of ‘cores’. These are the engines that emulate different retro consoles and computers.

To test the system is working, highlight 2048 and press X again. You’ll be returned to the main menu, but this time you’ll see ‘Start Core’. Press X to start the core and you’ll be presented with a classic game called 2048. Use the arrow keys to slide the blocks together. Matching numbers double in size, and the aim is to make a 2048 block. Press ESC and ESC again to return to the main Lakka menu.

Connect to the network

You need to connect Lakka to the network. Use your cursor keys to navigate Lakka’s menus, and head to the Settings list. Press the down arrow and select ‘Wi-Fi’. Wait for Lakka to scan the local networks.

Select your wireless LAN network and use the keyboard to enter the Passphrase. The Lakka interface will display the name of your wireless network with ‘Online’ next to it.

Get a game

Blade Buster, a homebrew shoot-’em-up, running on a Raspberry Pi 4

Now it’s time to find and play a game. Games are downloaded as ROM files and added to Lakka. These ROM files need a compatible core to run (most but not all ROM files will run correctly). 

We’ll use a Japanese homebrew ROM called Blade Buster. Download it on your PC or Mac from magpi.cc/bladebuster – click the ‘Blade Buster Download’ link. 

A file called BB_20120301.zip will appear in your Downloads folder. Unlike NOOBS, you do not extract the contents of this file – ROMs are run as compressed zip files. You now need to transfer this file from your computer to your Raspberry Pi.

Turn on Samba

With your Raspberry Pi and PC on the same network, go to the Settings menu in Lakka on your Raspberry Pi and select Services. Highlight Samba and turn it on by pressing X (or using right arrow).

Samba is installed by default on macOS and used to be installed by default in Windows, but it has recently become an optional installation.

In Windows 10, click on the Search bar and type ‘Control Panel’. Click on Control Panel in the search results. Now click ‘Programs’ and ‘Turn Windows features on or off’. Scroll down to find ‘SMB 1.0/CIFS File Sharing Support’ and click the ‘+’ expand icon to reveal its options. Place a check in the box marked ‘SMB 1.0/CIFS Client’. Click OK. This will enable Samba client support on your Windows 10 PC so it can access Raspberry Pi.

Transfer the ROM

Lakka may appear in the left-hand column of your other computer’s file browser (File Explorer on a PC or Finder on a Mac). If not, select Lakka’s main menu on your Raspberry Pi, then choose Information and Network Information.

Take note of the IP address. Enter that into the File Explorer using the format: \\insert.full.ip.address\

Ours, for example, is: \\192.168.0.13\

Copy the Blade Buster zipped game to the ROMS folder on Lakka. 

Back on your Raspberry Pi, go to Load Content > Start Directory in the Lakka menu and find the BB_20120301.zip file. Click it before selecting Load Archive. Choose FCEUmm as the core to play it on.

Press ENTER to start the game. Use the arrow keys to move and X to fire. Enjoy playing the game. Press ESC twice when you’re done, to return to Lakka.

Top tip: SSH

You can also use SSH to copy files from your computer to Raspberry Pi. In Lakka, enable SSH in Services. You can use a program such as FileZilla to copy files across. See magpi.cc/ssh for more information.

Set up a controller

If using a wireless gamepad, insert its dongle into one of Raspberry Pi’s USB ports, insert the batteries, and turn it on. Press the Start button on the gamepad and it will light up.

Video game consoles rarely come with keyboards. And no doubt you’ll want to attach a controller to your console.

If using a wireless gamepad, insert its dongle into one of Raspberry Pi’s USB ports, insert the batteries, and turn it on. Press the Start button on the gamepad and it will light up.

Use the arrow keys to choose Input and User 1 Binds. If it is connected correctly, you will see ‘RetroPad’ next to User 1 Device Type. Scroll down and choose User 1 Bind All. Follow the on-screen instructions to press the buttons and move the analogue sticks on the gamepad. You may have to go through it a few times to get the process right.

You can also set each button individually using the options. Once everything is set up correctly, you’ll be able to use the gamepad to control your Raspberry Pi console.

Move to the television

Your Raspberry Pi games console is now ready to be moved to your television. You will be able to control the games console using your USB or wireless controller and move ROM files directly to it from your Windows PC or Mac computer. 

There’s a lot more to Lakka to discover, but for now we hope you enjoy playing retro games on your Raspberry Pi console. It’s worth heading over the Lakka forums for friendly help and advice: magpi.cc/lakkaforum

Lakka controls: match the buttons and sticks on a gamepad to the controls used in each core

From The MagPi store

Subscribe