After making a few tutorials on RetroPie, I discovered the Lakka system.
I really enjoy it, so I’m going to share with you what I have learned about it in this complete tutorial.
We’ll see how to install Lakka and use it on your Raspberry Pi.
Lakka is an operating system for retro-gaming, that can be used as an alternative to Retropie or Recalbox.
A system image is available for Raspberry Pi on the official website
After flashing it with Etcher, everything will work directly on the first boot.
I’ll show you how to do this step-by-step and share with you a few tips I found to make the most of Lakka on your Raspberry Pi.
As this tutorial is a complete how-to guide, if you already know Lakka, you can go directly to the section that interests you, using the table of contents below.
By the way, if you are interested in retro-gaming, my e-book “Master your Raspberry Pi in 30 days” includes several chapters about this. You’ll learn how to install and use Lakka, but also Retropie and Recalbox. The book also includes secret tips to improve your experience with these systems. Make sure you don’t miss it!
If you are new to Lakka, I recommend starting with this section.
I’ll introduce the Lakka system and explain what the differences are with other retro gaming systems like Retropie.
Lakka is a Linux distribution created for game emulation.
It will turn your Raspberry Pi into a retro gaming console.
If you have played on a PlayStation, the interface should be familiar for you.
The Lakka system runs on LibreElec and uses RetroArch for the graphical interface.
It’s available for many single computer boards (like Raspberry Pi, Orange Pi, Banana Pi, or Tinkerboard), but you can also install it on a generic PC.
The first Lakka strength is that it starts working directly on the first boot.
As I’ll show you in the next sections, once the SD card is ready you can t play almost directly.
You get to the main menu and you need no controller configuration, it works right away.
Also, the configuration is straightforward.
If you want to enable a share to upload ROMs, there is just one option to change (on/off) and it’s ready to use.
You don’t have to think about user configuration, service start/stop, etc …
And the last thing I really like about it is that you can play PSP and PSX games immediately.
On Retropie for example, you need to find and install the BIOS to make it work (and it’s not easy).
On Lakka, it works right away, even without BIOS for some games.
Lakka vs Retropie
Lakka differs from Retropie because they use different technologies.
Lakka uses RetroArch over LibreElec.
Retropie uses EmulationStation over Raspberry Pi OS.
Lakka highlights its user-friendly system (ready to play out of the box).
Lakka is also a lighter system that can work smoothly on any platform, including all Raspberry Pi models.
Retropie has a bigger community, so you’ll find help quickly on any issue you have.
Retropie also has a better front-end interface and runs Kodi to use it also as a powerful media center.
To sum up, both are good emulation systems.
Lakka is better for advanced users even if you can start with no configuration.
And Retropie is better for kids who don’t know too much about computing.
The best answer is to try both and make your own choice 🙂
We can now move onto the installation process.
As I said in the introduction, installation is straightforward.
If you have already installed a system on your Raspberry Pi, it’s the same process.
The first thing to do is to download the Lakka image corresponding to your system.
- Go to the official download page.
- Select your Raspberry Pi model from the list and click on the Download button (the Raspberry Pi 4 is at the end of the list).
It should look like this:
- Wait for the download to finish and move onto the next paragraph.
Flash the SD card
Once you download the Lakka image, you don’t have to do anything with the file.
We’ll use Etcher to flash it onto your SD card.
- If you don’t have it yet, download Etcher here.
It’s a tool to flash SD cards easily.
Download and install it on your computer if needed.
- Start Etcher
- On the left, you need to browse and select the Lakka image.
In the middle, you need to select your SD card (automatic with only one slot).
And then click on “Flash” to start the SD card creation.
- It should look like this:
- After clicking on “Flash”, the SD card creation starts.
Ignore any error message from your operating system and wait for the Etcher success message.
You’re ready to move onto the next paragraph, the SD card is ready.
- Insert the SD card in your Raspberry Pi.
- Start the Raspberry Pi.
- The Lakka logo will appear in the background while the installation process starts.
- After a few seconds, the Raspberry Pi will reboot and the Lakka main menu appears.
- Plug in a controller or a keyboard if not already done.
The system will enable and configure it automatically.
You can now move to the menu to discover Lakka.
In the next section, I’ll help you with the first configuration steps.
Now that our system is operational, we can customize the default configuration to get exactly what we want out of our retro gaming station.
Audio, Video and Languages settings
These settings are basic so I’m not going to write a lot about it.
You just need to know that they are in the Settings menu.
But this is the first thing to do if you have any issues:
In the video settings, you’ll find everything you need to adjust the display to your screen.
In my case, everything was fine, so I didn’t try anything in the menu.
I suppose it’s only useful if you have a small screen (or an old one maybe).
Audio settings are classic.
You can enable or disable audio in-game and the menu.
Then you can adjust the volume or change the output device.
Finally, you can change the language in the Settings > User menu.
Here’s how to configure Wi-Fi on your Raspberry Pi:
- From the main menu, select the Settings icon
- Scroll to the Wi-Fi item and click on it
- After a few seconds, the interface displays all the available wireless networks
- Select the one you want to connect
- Enter the passphrase
- After a few seconds, Lakka adds a “Online” text in front of your WiFi network
Adjust the controller settings
One of Lakka’s strengths is its ability to detect and configure almost any game controller automatically.
You can still check your controller settings, and set them differently if you want.
Here is how to do this:
- From the main menu, navigate to the Settings submenu (second icon)
- Select the Input item and click on it (Button B or Enter)
- Now you get a submenu with several options:
- The Toggle Gamepad Combo: to get back to the main menu from a game
Mine was L3+R3 while I have a SNES controller without L3/R3 🙂
- The Swap OK & Cancel buttons: if you want to revert hit the ok and cancel buttons (A and B on a SNES controller)
- Hotkeys settings: there are a lot of hotkeys you can configure on your keyboard to do some actions. For example, F8 allows you to take a screenshot in a game
- And finally, the “Input User X Binds“, where you can configure each key to a specific action
This is where you can configure your controller as you want
It looks like this:
Set your favorite settings in the User 1 section and move forward.
- The Toggle Gamepad Combo: to get back to the main menu from a game
You can use a Bluetooth controller if you want. I’m often using my old PS4 controller or my 8Bitdo favorite. Both works great.
If you need help to configure them, you can check my tutorial about this.
A feature I really like in Lakka is the ability to access the file system via a Samba share in one click.
Samba is a file share service that allows you to get access to the Raspberry Pi file system from another computer on the network.
But before doing this, you need to know the current IP address of your Raspberry Pi.
Get the current IP address
As a lot of things, finding the IP address on Lakka is easy.
- In the main menu, stay on the first item (with the Lakka berry icon)
- Scroll to the Information item and click on it
- Click on “Network information”
- You should have one line for each network interface, with the IP address.
I have three lines for example, but you may have only two (RJ45 or WiFi, not both).
- lo: local interface, we don’t need it
- eth0: if you use a network cable, take this IP
- wlan0: if you are using a WiFi connection, take this one
- An IP address has this format: A.B.C.D.
For example, my IP address on the eth0 line is 192.168.1.15.
You’ll need it to access the file share later.
Enabling Samba is easy
- From the main menu, go to the Settings menu.
- Scroll down to the Services item, and click on it.
- In the list, move to the “SAMBA enable” line.
- Click one time to put it “ON” like this.
You can also enable SSH and Bluetooth in the same menu if you want.
For SSH access, the user is root and the password is also root.
Try to access the file share
You can now access your file share over the network.
From your computer follow this procedure:
- Open your file explorer program (for example explorer, finder, or nautilus depending on your system).
- Enter the file share in the URL field:
- Windows: \\<IP> (ex: \\192.168.1.15)
- Linux & Mac: smb://<IP> (ex: smb://192.168.1.15)
- You should now see all the shared folders on your screen.
We’ll use it later to upload files to Lakka.
For now, you just need to check that this is working, then move to the next configuration option.
Customize the menu appearance
By default, the Lakka menu is correct, it’s similar to the PS4 menu and you can enjoy it like this.
But I’ll show you how you can configure it as you want in the settings.
- From the main menu, go to the Settings section (second icon).
- Select the User interface.
- You have now two interesting submenus.
- Views: in this part, you can select which elements you want to display or hide in the main menu.
For example, if you are not using the Video feature, you can hide it in the menu.
- Appearance: here you can configure anything in the main menu:
- Menu layout (for small screens)
- Menu icon theme (change the icons)
- Menu shader pipeline (change the background animation)
Be careful, some of them are very slow on Raspberry Pi, keep the ribbon
- Menu color theme (choose the main color for your menu)
- And some other small options to configure shadows and thumbnails
- Views: in this part, you can select which elements you want to display or hide in the main menu.
Make all the changes and test you want, and we can now move to the most important part: How do you play a retro game on Lakka? 🙂
Playing games on Lakka
Once the basic configuration is done, we are ready to play our first game
In this section, I’ll teach you where to download ROMs and how to install them on Lakka. For this part, I’ll take an example to show you how to install a specific game step-by-step.
We’ll try to play “Sonic the Hedgehog 2” on Sega Master System.
Downloading ROMs for any retro gaming system can be complex.
You need to avoid illegal stuff and malware while finding the game you want to play.
Where to download ROMs for Lakka?
I already wrote an article about where to download ROMs for Retropie.
It’s also valid for Lakka, as we need the same files for both.
I recommend using the RomHustler website to download your ROMs.
You’ll find a lot of them on this website and they seem to respect publisher rights, as a lot of ROMs are unavailable because of an ESA request (ESA = Entertainment Software Association).
Also, I had no issue with files downloaded from this website. They all work as expected and there is nothing suspect inside (no malware or anything else).
The download is fast, you just need to wait 10s for each ROM.
So, to start with my example, here is how to find and download the ROM we need for playing “Sonic The HedgeHog 2” on Sega Master System:
- Go to the RomHustler website
- In the top of the website, there is a list of all consoles.
Select the “Sega Master System” console in this list.
- When you scroll down, you have a list of ROMs for the Master System.
- Find “Sonic the Hedgehog 2” in this list.
At this time, this is the third game on the list.
- Click on the game title.
- You are now on the game page.
You can check the screenshots to see if it’s really the game you wanted.
Then click on the download link: “Click here to download this ROM”.
- After a 10s countdown, you can click again to download the ROM.
That’s it, you have your first game ready on your computer.
You now need to extract the files from the archive.
File formats reminder
The file format for each console is different:
- Most of the time you have one file for each game, so just extract this file and keep it for the next paragraph.
- Sometimes you can have several versions for one game.
For example [U], [J], and [EU] for US, Japanese and European versions of the game.
Only keep one, you don’t need to upload all of them to your Raspberry Pi.
- And finally, you can have one game that needs different files.
For example, .iso and .cue files for PlayStation ROMs, or, as I already saw, files with .001, .002, …
In this case, create a folder with all of the files inside it and upload it to your Raspberry Pi.
Ok, so for my example, there is only one file, with a .sms extension, so it’s simple
But I need to upload it to Lakka to play Sonic The Hedgehog 2 🙂
Upload new games to Lakka
If you remember, earlier we enabled the Samba service on Lakka
And we will now use it to upload games to the Raspberry Pi.
That’s why I like the Samba features enabled in one click: it’s simple
- Go back to your file explorer, as for the Samba test (\\<IP> on Windows for example).
- In the folder list go to the ROMs folder.
- There is already a “downloads” folder inside.
I recommend creating a new folder for each console.
So you can know which emulator you need to use for each game.
For my example, create a “Sega Master System” folder, like this:
- Then copy and paste your ROM file into the new “Sega Master System” folder. That’s it, you have nothing else to do, the game can already work on Lakka. I’ll show you how to start this game in the next paragraph.
Start and play a game
The game file is now in the share folder, and on the SD card.
To play your first Lakka game, follow this procedure:
- From the main menu, click on the load content item.
- You now need to select your ROM location.
Choose the “Start directory”.
And then select “Sega Master System” in the list.
- Finally, select the ROM file
It should be something like “Sonic_the_Hedgehog_2_(UE)_[!].sms”.
- When you click on it, Lakka will ask you which core system to use.
There are two available for Sega Master System.
- Take the first one, I don’t really know the difference.
If it’s not working as expected, take the other one.
Sometimes you’ll have the choice between a lot of consoles, make sure to select the one which corresponds to your ROM system.
- And eventually, your game will start.
You now know how to download, upload and start any game on Lakka.
You can restart this procedure with each game you want to play.
Have fun and enjoy the ease of use of the Lakka system.
Another interesting feature on Lakka is the shaders option.
It allows you to improve the image quality (or change it at least).
To try this, use this short procedure:
- Start your game.
- While in the game, use your Toggle Combo to display the Lakka menu.
- Scroll down to Shaders (last item).
- Click on Load Shader Preset.
- Then choose a GLS shader in the list, for example, “bilinear.glslp” near the end.
- Return to your game.
- You should see a change in the game display.
You can try different shaders and even download them, to find the one you prefer.
This way, you can have a “cartoon aspect” instead of an old pixelated game.
Not everyone will like this feature, but it’s a possibility.
At the same time, you can note that there are a lot of options available in this “pause menu”.
- Take a screenshot
- Save your game even if the original game doesn’t offer this feature
- Record or stream your game
- Change game and controller options
- Use the rewind feature or change audio/video settings
That’s a big improvement compared to other retro gaming systems.
You can play the game like it was years ago, but you can also use these features to play it differently.
What is the netplay host in the main menu? Basically, it’s a multi-player game mode. You can host a game on your Raspberry Pi and allow other players to join you. The host chooses “Start netplay host” and the other players have to choose “Connect to netplay host”. I didn’t try it, so I can’t tell you more about this.
Is it possible to use PS3/PS4/Xbox controllers on Lakka? Yes, Lakka supports almost all controllers. To use it with the cable it’s plug and play, working directly. To make it work wirelessly, you can check the documentation page, it depends on each controller.
What is the achievements feature? The achievements setting allows you to enable a PS-like achievement system by giving you rewards and badges when you make a specific action in a specific game. If you want to learn more about it, I recommend checking out the retroachievements.org website. You must create an account on this website to use the feature on Lakka.
If you need a step-by-step demonstration, I have recorded a video on the topic. You can watch it here:
Subscribe to the RaspberryTips YouTube channel to receive new videos in your feed:
That’s it, now you know everything you need to use Lakka on your Raspberry Pi.
Personally, I really like this RetroPie alternative, it’s easy to use and works well.
Maybe it has fewer features but do we really need more?
If you like retro gaming, feel free to check out my other articles on this subject: