Retro games on the Raspberry Pi

Gamer’s Paradise

© Lead Image © Leo Lintang,

© Lead Image © Leo Lintang,

Article from Issue 209/2018

With the right software, you can turn the Raspberry Pi into a versatile console for retro games.

If you are a gaming console enthusiast, the Raspberry Pi is a powerful accessory for your hobby. In addition to recalboxOS and RetroPie, Lakka is now climbing into the ring on this small-board computer and bringing old console games to life.

If you are of a certain age, you might remember the entertaining games from the 80s with simple block graphics, an equally simple plot, and background noise that usually consisted of a few notes. These technically and visually simple games have recently become popular again, and you don't have to invest in consoles or online games: A cheaper and more flexible Raspberry Pi is more fun, and you can play on your TV set, just like the old days.

The retro gaming platform Lakka [1], a LibreELEC derivative with the RetroArch desktop, a Rasp Pi, and a TV or monitor can mutate into several gaming consoles thanks to a wide variety of emulation options.

You don't even have to own a Rasp Pi 3 (RPi3). An older model works, too, with restrictions. A hardware guide [2] shows which game emulators are compatible with which edition of the Rasp Pi. Lakka's programmers have done their homework: The LibreELEC derivative does not require any laborious manual configuration or connection to a modern TFT display: Even an old tube TV is enough.

Setting Up Lakka

After downloading the approximately 300MB Lakka image from the project page [3] and unpacking it, transfer the image file to the microSD card with the command:

$ dd if=Lakka-RPi2.arm-<Version>.img of=/dev/sd<X> bs=1M

Replace <Version> with the version number of your downloaded image and the <X> in the device name of the target with the correct device name. Some distributions also address the card as /dev/mmcblk0; if so, then specify this block device as the destination. Partition names like sdb1 do not work here.

After restarting the Rasp Pi, the dashboard appears with RetroArch's main menu; navigate through it with the arrow keys. Press Esc to return to the main menu from submenus. Early on, you should check Internet access. If you are using an older Rasp Pi model, you can connect via Ethernet. With the RPi3, Lakka detects the wireless module and offers the corresponding configuration in the Settings menu (Figure 1).

Figure 1: The wireless RPi3 module instantly recognizes Lakka and offers the corresponding options.

The Settings menu can be accessed by activating the gearwheel symbol in the dashboard and then selecting the WiFi option. In the Information | Network Information submenu, the current IP address appears next to the local host IP address if a network connection is available.

The developers are constantly improving Lakka, so the next step is to update the system by going to Online Updater | Update Lakka and following the onscreen instructions.


The customization options for the system are in the Settings menu. To change the menu hierarchy to a different language, choose the User submenu. Use the arrow keys to change to the Language point and select the desired language. Clicking Esc takes you back to the Settings menu and saves your changes.

To enable the mouse, choose Settings | Menu. First slide the switch for the Show Advanced Settings option to On, and then move the slider beside the Mouse Support option to On.

The somewhat confusing menu structure in Lakka often requires a look at the documentation [4]. The software is still under development, so some settings seem to be provisional – in particular, settings for graphics options, such as shadow and transparency. In the test, for example, changing the menu design led to switches for individual menu groups, some of which were not operational – making the system virtually unusable.

Although you might need to adjust the video and audio settings in some games, the Driver submenu lets you modify the loaded kernel modules, which might be necessary if emulators do not emit sound, for example. Alternative Linux modules are available in the system. Use the arrow keys to adjust the settings; the system accepts the changes immediately (Figure 2).

Figure 2: The console emulator settings are made in a separate intuitive menu.

If you prefer to work on the command line, you can also customize Lakka by editing the /storage/.config/retroarch/retroarch.cfg file. When editing manually, note that you need to deactivate RetroArch with the

systemctl stop retroarch

command before starting to work. After completing the configuration, restart the service with the

systemctl start retroarch



In the 1980s, game consoles were primarily controlled by joysticks and, later, multifunctional controllers. To recreate this retro gaming experience, the software supports various controllers; according to the website [5], they can be partially addressed over Bluetooth.

In these tests, I used a Sony DualShock 4 controller that usually can be operated over Bluetooth or wired over the USB bus. However, it was not possible to connect the controller to the RPi3 via Bluetooth. Even a test with the model 2 and an external USB Bluetooth dongle by Asus, which is otherwise easily supported by Linux, failed to solve the problem. Therefore the controller could only be used over USB. Lakka automatically detected and initialized the device when connecting the cable.

Controllers have different control elements, so you should check which buttons trigger which functions. Also, some old DOS games developed for traditional PCs did not support joysticks or controllers and were controlled by the keyboard.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Lakka

    The Lakka Linux distribution comes with everything you need to play retro games and lets you install games directly in the user interface. All you need is a Raspberry Pi and, ideally, a simple gamepad.

  • GameHub

    If you regularly buy games through Steam, GOG, and Humble Bundle, GameHub can help you keep them organized by bringing them all together into a single library.

  • Kodi 18.0 and LibreELEC 9.0

    Thanks to Kodi 18.0, LibreELEC 9.0 now supports the DRM encryption used by many streaming services. However, integrating Netflix, Amazon, and other streaming services does involve some manual work.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More