top of page

5.0 / 13-04-2024





average rating is null out of 5
average rating is null out of 5
average rating is null out of 5

Lakka is a lightweight a open-source Linux distribution that converts small computers into full blown retrogaming consoles. It's also the official Linux distribution of RetroArch and is able to emulate a wide variety of systems and has some useful features such as automatic joypad recognition, rewinding, netplay, and shaders.


Most Recent Changes


  • Based on LibreELEC 11.0 build system

  • RetroArch updated to 1.17.0

  • Cores updated to their most recent versions

  • New cores added:dirksimple: Dragon’s Lair player
    dosbox-core: DOSBox
    ep128emu: Enterprise 64/128, Videoton TVC, Amstrad CPC and ZX Spectrum
    geolith: Neo Geo AES and MVS Cartridge Systems
    jaxe: XO-CHIP/S-CHIP/CHIP-8
    numero: TI-83
    thepowdertoy: The Powder Toy
    vice_xpet: Commodore PET
    vircon32: Virtual Game Console inspired by 16/32-bit systems
    vitaquake2: Quake II

  • Mesa updated to 24.0.4

  • Updated Linux kernelmainline: 6.1.84
    raspberry: 6.1.77
    amlogic: 6.1.38

  • Added images for following devicesRaspberry Pi 5
    Raspberry Pi Zero 2 in Retroflag GPI Case 2W
    Raspberry Pi Compute Module 4 in Retroflag GPI Case 2
    Generic PC:Support for nVidia GPUs (using proprietary nVidia driver, separate image)
    Allwinner SOC:OrangePi Zero2
    OrangePi 3 LTS
    Amlogic SOC:BananaPi CM4
    BananaPi M2 Pro
    BananaPi M2S
    BananaPi M5
    Radxa Zero
    Radxa Zero2
    WeTek Core
    WeTek Hub
    WeTek Play 2
    Rockchip SOC:Firefly ROC-PC Plus
    OrangePi 4 LTS
    Radxa Rock Pi 4 Plus
    Radxa Rock Pi 4 C Plus

  • Retrorama - theme and dynamic wallpapers for XMB

  • Full changelog


  • RetroArch updated to 1.14.0

  • Cores updated to their most recent versionsfake-08: added new libretro core (Pico-8)
    mojozork: added new libretro core (Z-Machine)
    puae2021: added new libretro core (Amiga, less demanding version of the core)

  • Mesa updated to 22.1.7

  • Added image for Orange Pi 4 LTS (Rockchip RK3399)

  • Added support for more Nintendo Switch variants (Hekate 6.0.1+ is required, on Nintento Switch Lite use touchscreen to change the default input device: Settings → Input → Port 1 Controls → Device Index → top most item)

  • Updated Linux kernelmainline: 5.10.123
    raspberry: 5.10.110
    amlogic: 5.11.22

  • Full ChangeLog


  • RetroArch updated to 1.10.3

  • Cores updated to their most recent versionsa5200: added new libretro core race: fixed savestates on arm platforms

  • Mesa updated to 22.0.2

  • Amlogic: disable composite output on generic TV boxes by default

  • Generic: fix/add back support for Ventoy


  • RetroArch updated to version 1.10.2

  • Cores updated to their most recent versions

  • New cores addedrace: Neo-Geo Pocket
    bk-emulator: BK-0010/0011/Terak 8510a
    same_cdi: Philips CD-i
    mame: MAME current

  • RetroArch: fixed scanning of .wbfs Nintendo Wii games

  • pcsx_rearmed: fixed dynarec on aarch64

  • duckstation core (Sony Playstation) removed

  • Mesa updated to version 22.0.1

  • Mainline kernel updated to 5.10.109 (PC, Amlogic, Allwinner, NXP)

  • Raspberry kernel updated to 5.10.103

  • Nvidia support fixed (driver is now compiled as module)

  • Added Support for USB Wi-Fi dongles ASUS BT500 and TP-Link UB500

  • RPi.GPIO Python library added to all Raspberry Pi images (support for custom scripts for various cases)

  • System files for standalone cores added (no need to add them manually, but we disabled the system files downloader in Lakka - see below)

Removed system files downloader

System files downloader was removed from Lakka, as Lakka already ships files in the system folder required by various cores. It is still possible to add own files as before, but as some of these files have to match the version of the libretro core, this feature is not available in Lakka in order to avoid incompatibility between core and the files in system folder (espcially in case of PPSSPP). Files required by following cores are included in the Lakka image:

  • cannonball: tile patch and tile map files, you have to add your ROM files if you want to use the core from the standalone launcher

  • dinothawr

  • dolphin

  • ecwolf

  • fbneo: high score file

  • mame2003-plus: artwork, high score / cheat / history files

  • mame: artwork and sample files

  • nxengine: Cave Story files

  • ppsspp: assets

  • prboom

  • scummvm: themes and DAT files for various game engines

  • uae4arm: floppy drive sounds

  • xrick

If you have already added some system files to your Lakka, they will still have priority over files in the image. To remove these files, please remove them via SCP / SFTP from the /storage/system folder (do not remove them via SAMBA share System, as this share shows already the path used by RetroArch; you can use the share to add new files).

Bluetooth pairing

Couple releases back a hack was added to RetroArch to remove existing pairings. This is useful in case you need to re-pair a game controller (e.g. you paired it with different device), but as the pairing is already stored in the Lakka OS, only attempt to connect is made. To remove pairing, simply navigate to SettingsBluetooth, wait for the scanning to finish (you do not need to put your game controller in pairing mode yet) and if you see your game controller, scroll to it and then press the Start button on connected game controller or press the Space key on the keyboard. Then restart RetroArch, switch on pairing mode on your game controller, navigate to SettingsBluetooth, wait for the scanning to finish and chose your game controller for pairing.

We have also added a small fix in cases your game controller would not reconnect after it was already succesfully paired, but it will not automatically connect after waking it up / rebooting. However you need to re-pair your game controller, so please follow the steps in previous paragraph.

To auto-connect your paired game controller after boot, make sure that Bluetooth service is enabled via SettingsServicesBluetooth.

Vulkan / GL

Many cores already support Vulkan, therefore on platforms, where Vulkan support is included (PC with Intel and AMD GPU, Raspberry Pi 4, Nintendo Switch) we recommend using the vulkan video driver (SettingsVideoOutputVideo). Many cores should automatically switch to different video driver in case they do not support the selected one. If you encounter crash, please try again with gl / glcore video driver, as most probably the level of implementation of Vulkan on the platform / in the GPU driver does not meet the requirements of the core or the Vulkan support for your platform is not supported by the core.


  • Build system based on LibreELEC 10.0.2

  • RetroArch updated to 1.10.1

  • Cores updated to their most recent  (versionssuperbroswar: added new libretro core)
    (sameduck: added new libretro core)

  • Mesa updated to 22.0.0

  • Mainline kernel updated to 5.10.103 (PC, Amlogic, Allwinner, NXP)

  • Raspberry kernel updated to 5.10.95

  • Most arm devices switched to aarch64

  • Rockchip RK3288, RK3328 and RK3399 switched to mainline kernel 5.10.76

  • Added support for additional Allwinner and Amlogic devices (not tested on our side, as we do not own many of these devices)

  • Nintendo Switch: complete rewrite of the port with many fixes and enhancements

  • Tinkerboard and MiQi now use common system RK3288 (hence the change of the image names); you need to place empty file named .nocompat in the /storage/.update folder / Update Samba share

  • Dropped support for RPi4.arm

This is our first release with the updated build system. We tried to port all our changes to this new build system, but we might have missed some of our optimizations and enhancements. Please report us any regression or missing features or drivers via our issue tracker.

Not all platforms have been ported to the new build system yet. For these platforms we have released a maintenance update (3.7.1) with RetroArch and libretro cores updated to the same versions as in 4.0 release. Lakka users with Hardkernel’s Odroid XU3/4, Odroid Go Advance / Super, and Anbernic’s RG351M / RG351P / RG351MP / RG351V devices get update as well.


  • RetroArch updated to 1.10.0Fixed crashing when recording/streaming

  • Cores updated to their most recent versionswasm4: added new libretro core
    jumpnbump: added new libretro core
    blastem: added new libretro core
    freechaf: added new libretro core
    potator: added new libretro core
    quasi88: added new libretro core
    retro8: added new libretro core
    xmil: added new libretro core
    fmsx: added new libretro core

  • Mesa updated to 21.3.6

  • Mainline kernel updated to 5.10.101

  • Raspberry kernel/firmware reverted to 1.20210831 (to work around issue with 4K displays not initializing)

  • Disabled wifi powersaving on Raspberry devices to improve wifi stability

  • Added support for Raspberry Pi Zero 2 W with GPICase

  • Added utility to turn off Xbox360 gamepads


For new installs, recorded videos will be saved in /storage/recordings accessible via SAMBA share Recordings. If you update from earlier version, RetroArch will by default save videos to /storage/.config/retroarch/records, which is also accessible via SAMBA share Configfilesretroarchrecords. You can change the default path for saving videos via SettingsDirectoryRecordings. Please, bear in mind that this feature is demanding, especially when using GPU recording (3D cores). It may not work with every core. Please see RetroArch bug tracker for any existing issues with recording.

Config file for recording

Currently it is possible only to use software encoder. Use the below configuration and store it as e.g. Software.cfg in the following path:

  • directly on the SD card/drive when connected to a computer:on Switch (works also when connected as mass storage): /lakka/storage/.config/retroarch/records_config
    on other devices: LAKKA_DISK:/.config/retroarch/records_config (may require superuser privileges to access this path / write files here)

  • via SAMBA share Configfilesretroarchrecords_config

  • via SSH/SFTP access to the filesystem: /storage/.config/retroarch/records_config

Configuration file contents

  vcodec = libx264


  • RetroArch updated to to control the menu by all users is back
    New option for automatic frame delay (accessible via Settings → Latency, and also via Quick Menu; Advanced Settings must be enabled to access this option)

  • Cores updated to their most recent versionsbeetle-fce: added new libretro core (exists besides beetle-fce-fast)
    ecwolf: added new libretro core
    fbneo: added highscore.dat to RetroArch system folder
    mame2003-plus: added artwork, cheat.dat and history.dat to RetroArch system folder
    scummvm: added engine files, themes, soundfont and basic scummvm.ini file to RetroArch system folder,

  • Mesa updated to 21.2.5

  • Mainline kernel updated to 5.10.78

  • Raspberry kernel/firmware updated to 1.20211029

  • Fixed issue with older Intel GPUs (crocus driver is now preferred and using MESA_LOADER_DRIVER_OVERRIDE is not required anymore)

Known issues

See GitHub for information about currently open bugs and issues and also for possible workarounds for these bugs/issues.


  • RetroArch updated to 1.9.12

  • Cores updated to their most recent versions

  • DAT/XML files for manual scanning of roms for fbneo and mame2003-plus added to the image

  • Database files are now accessible via SAMBA share Database

  • Nintendo Switch: fixed booting / shutdown (updated systemd mount units)

  • disable_ertm=1 removed (caused issues with other gamepads disconnecting)

Known issues

Xbox wireless gamepads

As we removed disable_ertm=1 from the image, you may need to add it back manually in order to make the Bluetooth connection with your Xbox wireless gamepad reliable. To do so you kindly follow these instructions:

Either access your Lakka device via command line and execute: echo options bluetooth disable_ertm=1 > /storage/.config/modprobe.d/xpadneo.conf


access Lakka file system via SAMBA and add file named xpadneo.conf with following contents to the share Configfiles → subfolder modprobe.d: options bluetooth disable_ertm=1

Older Intel GPUs

If you cannot boot to RetroArch and get stuck on the boot screen with the Lakka flower and you have an older Intel GPUs, follow these instructions to rectify this issue:

Either access your Lakka device via command line and execute: echo MESA_LOADER_DRIVER_OVERRIDE=crocus > /storage/.cache/services/retroarch.conf


 access Lakka file system via SAMBA and add (or edit the existing) file named retroarch.conf with following contents to the share Services → subfolder services: MESA_LOADER_DRIVER_OVERRIDE=crocus

No video output over HDMI on Raspberry Pi

In case you have no video output over HDMI on your Raspberry Pi, edit distroconfig.txt and remove following two lines:


The above settings are aimed to display at maximum 1080p on 4K displays (as 4K is not suitable for Lakka on Raspberry Pi), however it seem that these settings are not working properly with some non-4K displays/TV sets.


  • RetroArch updated to 1.9.11

  • Cores updated to their most recent versions

  • Mesa updated to 21.2.4

  • Updated Kernel/Firmwarefixed Analog / CRT output on Raspberry Pi


  • RetroArch updated to 1.9.10Added Bluetooth pairing removal (press START / Space in the device list to remove pairing for the selected device)

  • Cores updated to their most recent versionsEnabled RDP/RSP dynarec on N64 cores on Generic

  • Mesa updated to 21.2.3DRI i965 driver replaced with GALLIUM crocus driver

  • Added support for new devicesPiBoyDMG
    Capcom Home Arcade
    Anbernic RG351MP

  • Added xpadneo driver to support Xbox Wireless gamepads

  • Added WireGuard VPN support

  • Updated Kernel/Firmware


RetroArch updated from 1.9.7 to 1.9.9added core option categories

  • updated translations
    general stability improvements to enhance the user experience

Cores updated to their most recent versionsnew core: 

  • upstream Duckstation core (Sony Playstation)
    new core: PCSX2 (Sony Playstation 2), available only on 64-bit PC
    new core: DOSBOX-pure (DOS)
    fixed Play! (Sony Playstation 2) and available on more platforms
    fixed Vulkan support in PPSSPP (Sony Playstation Portable)

  • Mesa updated to 21.2.1

  • Fixed display of CJK characters


  • RetroArch updated from 1.9.5 to 1.9.7

  • Optimized scanning of large data set

  • Added support for mapping multiple controllers to a single input device

  • ‘Analog to Digital Type’ usability improvements

  • Updated translations from Crowdin

  • Cores updated to their most recent versions

  • Dolpin: add dolphin-emu/Sys folder to RetroArch system folder

  • New: np2kai core (PC-98)

  • Generic: enable MIDI sequencer support

  • Generic: add Gamecon support

  • RPi: disable 4K modes


  • RetroArch updated to 1.9.5

  • Cores updated to their most recent versionsbsnes_hd was added
    flycast: enabled OIT for OpenGL platforms

  • Raspberry Pi 3 - now with 64-bit support (aarch64)

  • Odroid XU3/4 port runs now at full speed

  • Mesa updated to 21.1.2

  • Nintendo Switch port is now able to stream your games from your PC (moonlight/sunshine)

  • New script for collecting troubleshooting logs

  • Support for loading the image via Ventoy, a bootable USB solution (on PC)


Following the release schedule of RetroArch we bring you updated version of Lakka, so you don’t stay behind.

As usual the release includes the latest RetroArch version at the time, which is currently 1.9.4, as well as updates to all the supported cores to the most recent versions. You can update your existing 3.0 installation using the built-in updater (except on Nintendo Switch; you have to update manually, but gavin_darkglider is working hard to implement updates for Lakka on your console). If you are using older (2.3.x) release, clean installation is recommended.

  • RetroArch updated to 1.9.4Prevent unnecessary extraction to disk of compressed content files
    Brightness restoration
    Updated translations from Crowdin

  • Cores updated to their most recent versions

  • Added battery stats in RetroArch (for devices that have sysfs node for system battery)

  • Fixed safe shutdown on GPICase

  • Fixed audio issues on Raspberry Pi 4

  • Fixed FMV issues with PPSSPP core

  • Fixed backlight brightness

  • Odroid XU3/4 port is now fully functional and will be optimized in future releases

  • Mesa updated to 21.1.1

  • VULKAN enabled in Dolphin and PPSSPP (Raspberry Pi 4, Generic 64 bit, Nintendo Switch)

  • Improvements to the Nintendo Switch portFixed Vulkan renderer
    Fixed Joycon mappings
    Fixed mounts
    Added dock support (note: the kernel will crash/lock-up if the console is put into sleep before placed into dock)

  • Added some cores that were not included in previous versionbeetle-saturn

Show Previous Changes


It has been over a year since our latest release, therefore there are many changes in this update. During this time we were working hard to bring you the new and updated Lakka. Thanks to our nightly build infrastructure many of you helped us test this release and gave us precious feedback.

As usual the release includes the latest RetroArch version at the time, which is currently 1.9.3, as well as updates to all the supported cores to the most recent versions, even some new cores were added. This time we recommend doing a clean install to avoid any incompatibility issues, as significant changes to the underlaying operating system and RetroArch were made. The size of the boot partition was increased to 2 GB, which is not compatible with previous installations.

Highlights of this release include:

  • Operating system based on LibreELEC 9.2 build system

  • Vulkan API enabled for AMD and Intel GPUs (Generic) and for Raspberry Pi 4

  • Support for joycons

  • RetroArch updated to 1.9.3Screensaver (Settings -> User Interface)
    Set time zone directly in RetroArch (Settings -> Services)
    Menu for pairing bluetooth devices
    Better searching in playlists (search term now filters the entries instead of jumping to first match)
    Option to automatically enable ‘game focus’ mode when running/resuming content
    Explore - search for content accross all your playlists based on various criteria, such as developer, publisher, genre, system, year, …
    Content loading animations
    Easy dropdown lists for input remapping
    Many menu and widget improvements
    Fixed Wi-Fi menu (displays access points with longer names correctly)
    Performance menu to adjust CPU governor

  • Cores updated to their most recent versions

  • Support for new devices/architecture:64 bit images for Raspberry Pi 4 (no 32 bit release)
    Odroid Go Advance / Anbernic RG351P/M and V / Gameforce Chi
    Nintendo Switch (instructions)
    iMX6 with mainline kernel and MESA

  • New libretro cores:Genesis Plus-GX Wide (widescreen enabled core for SEGA Genesis / MegaDrive)
    Stella (port of upstream Atari 2600 VCS emulator)
    Supafaust (SNES emulator optimized for multicore ARM platforms)
    Swanstation (a.k.a. Duckstation, PSX emulator)
    LowRes NX (Retrogame console that can be programmed in BASIC)
    Mu (PalmOS emulator)
    Opera (Fork of 4DO/FreeDO emulator)

In the near future we will try to polish this release and squash any bugs that will be found and reported. As part of the new release strategy of the libretro organisation we will push new versions of Lakka with updated cores and RetroArch more often than in the past, hopefully twice a month. Our goal is to use 64 bit (aarch64) where possible and we aim to bring 64 bit release for Raspberry Pi 3 in upcoming versions.

We are also preparing for next major release, which will be based on LibreELEC 10. As with this release, support for some devices might be dropped, but we will do our best to keep support for as many devices as possible and managable.

We thank all contributors, who made this release possible, notably to Natinusala, Demetris and davidgf for the Odroid Go Advance ports, and shoutout to Team LibreELEC for their work as well. Special thanks goes to the Switchroot Team - CTCaer, Azkali, Natinusala, M4XW, Plaidman and gavin_darkglider to name a few - for the port to Nintendo Switch.

You are welcome to join our Discord server to contribute to the project, report your findings, ask for support or just hang out with retrogaming and DIY enthusiasts around the globe!


The Lakka team wishes everyone a happy new year and welcomes 2020 with a new update and a new tier-based releases system!

This new Lakka update, 2.3.2, contains RetroArch 1.8.4 (was 1.7.2), some new cores and a handful of core updates.

As part of our new tier-based updates, Lakka 2.3.2 is for now only available for the following platforms:

  • 64-bit Generic (x86_64)

  • Rasperry Pi 1 and Zero (with and without GPICase)

  • Raspberry Pi 2 and 3

  • Raspbery Pi 4

The rest of the platforms will be updated during the following weeks.

As usual, you can update by downloading the new images from the website or by going in the Online Updater directly in your Lakka box.

New tier-based updates schedule

Lakka supports more than 40 different platforms, and it has gotten quite hard to maintain and support them all actively. Some of them are discontinued products, and nobody on the team has them anymore.

As a result, we have decided to split all platforms into different tiers. Basically, higher tier platforms will have active support and more frequent updates, and lower tier platforms will have more sparse releases (if any).

The high tier platforms are the most popular ones:

  • 64-bit Generic (x86_64)

  • Rasperry Pi 1 and Zero (with and without GPICase)

  • Raspberry Pi 2 and 3

  • Raspbery Pi 4

For now, all other platforms are placed under the lower tier category. We may do a middle tier in the future, with platforms such as Pine64 and Odroid boards, which are still quite popular nonetheless.

Keep an eye for new tier releases on this website and on our social media accounts!

Manual content scanner

It’s been a long time since Lakka got a RetroArch update. This new version adds some welcome features - the most interesting this time is the manual content scanner. You read it right, no more database is required to build your playlists!

Whether it’s because the database is missing or your platform has little memory to handle big scans, you now have the choice to do a manual scan to build playlists on your Lakka box. This new scanning method simply takes all files ending with a known extension in a folder and adds them to the playlist for that system. It’s as simple as it gets!

You can see the manual content scanner menu in the thumbnail of this article (MaterialUI menu driver).

Clean playlists

Another quality of life improvement for playlists is the new “clean playlists” option. This allows you to clean your playlists after removing your games files, as well as resetting core association if the core doesn’t exist anymore.

This new option does the following:

  • Remove all entries where the game file has been removed

  • Remove all duplicates

  • Resets the core association if the core can no longer be foundRetroArch will ask you which core to use the next time you try to run a game from that playlist
    If the core association is correct but the core has been renamed since, the new core name is updated in the playlist

Cores can be removed when updating Lakka, even if we try to do it least frequently as possible. For instance, Lakka 2.3 removed a lot of old cores in favor of their new, improved versions.

Thanks to this new clean playlists feature, removing a core is no longer considered a breaking change when updating Lakka.

Disk control improvements

The latest major improvement is the disk control overhaul, which enhances disk swapping for game with a high number of disks (such as Amiga floppy games).

You can read the entirety of the changes made to the disk swapping system in the RetroArch 1.8.4 blog post.

Core updates

As usual, everything in the libretro ecosystem has been updated to the very last version: cores, databases, overlays, joypad autoconfigs…

New core: quicknes

This very lightweight Nintendo Entertainment System was only enabled for some platforms on Lakka. It is now enabled for all of them.

New cores: vitaquake2 and vitaquake3

Only available for the Generic platform for now, those two cores are open source reimplementations of the Quake II and III engines respectively. Originally written for the PlayStation Vita by Rinnegatamante, both homebrews are now available for everyone as libretro cores.

New core: NeoCD

The latest core to be added in this Lakka update is NeoCD-Libretro, an improved version of the NeoCD Neo Geo CD emulator. This new version of NeoCD is more accurate and performs better than the previous standalone emulator, even on low end hardware like a Raspberry Pi.

Goodbye dosbox, hello dosbox-svn

And finally, the old dosbox core retires with Lakka 2.3.2. The newer dosbox-svn core was added some time ago, and it’s time for it to be used as a default and for the old one to be removed.

The future of Lakka

As time goes by, we are slowly moving forward to Lakka 3.0, which we already talked about in a previous release article. We will take this opportunity to drop all the old platforms we cannot maintain and support anymore. Lakka 2.0 will still be available for those, but we won’t be moving forward with them for the future.

The list of all dropped platforms will be made available when we release Lakka 3.0.

In the meantime, you can already try Lakka 3.0 by downloading an image for your device here! Since this is a major rewrite of the system, we would like to have user feedbacks as we work on it. Don’t hesitate to post an issue on our GitHub repository.

bottom of page