CHA Choko mod Wiki
CHA / Lakka screenshot

Lakka is the official Linux distribution of RetroArch and the libretro ecosystem. And we can run it side by side with our beloved CHA original operating system.


  • The original system, with games and features is all there. You can continue to enjoy the CHA as it was made by the developers. This dual boot is compatible with all version of CHA at least until 1.6 (very likely to be compatible with future versions) and you can install official updates as usual.
  • Even if your CHA doesn't have a SD card reader, the CHA has almost 3 GB of available internal memory and you can also use an USB pendrive to load ROMs and assets.
  • Retroarch, supports thousands of games, custom themes, bezels, Netplay, and more!
  • With Lakka you can upload ROMs and other files to the CHA through your WiFi network, even update the cores.
  • 3 players support with a controller plugged into USB EXT (only in games that support 3 players, obviously).


  • You'll need to open the CHA one time. That may compromise the manufacturer's warranty. But don't worry too much, because unless there is physical damage of the components you can always restore the original system with a backup. That said, although we tested this procedure several times in different CHA, there is no warranty that will work perfectly for you. We can give some support but you are the only one responsible for what you do with your CHA.
  • We are installing nightly builds of Lakka, and they may have some bugs. You can try the same procedure with stable versions.
  • This instructions are mostly for Windows, but if you're comfortable with Linux you can get it done easier than Windows users.
  • This can be installed in micro SD card, for those with a SD card reader. In that case you don't need to put the CHA in FEL mode, just put the micro SD card in your PC.



Software we'll use:

Version 14.5 doesn't recognize the second partition in the CHA internal eMMC as EXT4 (says "other" instead) but will work. Version 15 seems to fail. You can use Gparted, booting from USB.

You can use other apps, of course, as long as they do what we'll need.


  1. The internal memory has two partitions (one FAT and one EXT4). We need to expand the first from 10 MB to 500 MB.
  2. Put the files Lakka needs to boot in that first partition.
  3. Use the USB hack to run a script that will put some necessary files in the EXT4 partition and also expand it.


If you didn't before, now it's a good time to make a full backup.

  • Reboot the PC using an USB disk with Gparted. You can get it here.
  • Move the second partition and expand the FAT partition from 10 MB to 500 MB (or 1 GB if you want to use online updater) but LEAVE 1 MB unallocated before the first partition! THIS IS IMPORTANT!

Beware that Gparted had (has?) a bug resizing small FAT partitions. You can backup the files, delete the FAT partition, create a new FAT partition and restore the files from Windows.

  • Don't disconnect the CHA yet. Just reboot the PC and open Windows Explorer. You'll see the files in the CHA just as if it was a pen drive. If not, you can go to Disk Manager to assign it a drive letter.
  • Open the Lakka system image you downloaded with 7-zip. You'll see a similar named file with *.img extension. Open it (inside 7-zip) and then open "0.fat". Now extract the files inside 0.fat to the FAT partition of the CHA (KERNEL, SYSTEM and sun8i*) but NOT the "extlinux" folder.
  • Eject the CHA (in Windows) or unmout (in Linux), remove the USB cable and close it.
  • Extract the 'Lakka Installer and Updater' folder inside the file Lakka Installer and Updater to the root folder of a USB pendrive (formatted in FAT32/EXT) and insert the pendrive in the USB EXT port of your CHA.
  • Put the pendrive in the USB EXT port of the CHA, plug the HDMI cable and after that, plug the mini USB power cable. After a few seconds the CHA will present you a menu like this:

Now you can select to (un)install Lakka option and what screen resolution will Lakka use.

  • The first time you select to boot into Lakka it will reboot twice before finally boot into RetroArch. First will say it can't resize the partition (but will create all necessary folders if don't already exist) and at second try it will expand the partition to use all available space (either internal eMMC or SD card).
Partition resize.jpg

The 2 joysticks are already configured but nothing else. You have to setup WiFi and everything else to fit your preferences.

  • From now on, the CHA will always boot into Lakka until you swap back to the CHA original system using the menu option in RetroArch.
Lakka first boot.gif


If connected to a 4K TV it will use the 4K resolution and (unfortunately) it hasn't enough power to handle such big images. It will be slow and with some "flashing" garbage (see next video).

Playing in 4K.gif

To avoid that we have options to force a resolution when changing from the CHA menu to Lakka:

  • 1080p (1920x1080@60)
  • 720p (1280x720@60)

Besides loading ROMs (and playlists, assets, configuration files, etc.) from eMMC/SD card, this installation can also load those files from USB.

  • 1. Label you pendisk "CHOKO" (exactly like that) and create a folder in the root named "CHA_LAKKA". The pendisk doesn't need to be empty, but must be formatted in FAT or EXT (the same as for running CHA games from USB).
  • 2. Create the following structure, where you will put the necessary files for playlists, icons, overlays, ROMs, etc.:
CHA LAKKA folder structure.png
  • 3. Now, if you boot into Lakka with this pendisk inserted in the USB EXT port, RetroArch will load the playlist and games from USB.

A pack with playlists, backgrounds and assets will be shared in this repository but this is a very slow "work in progress".

RetroArch may start "empty", but you can browse to /storage/usr/share/roms/ and play any of the 16 official games.

The hotkey for RetroArch Quick Menu (in game menu) is set to "Select + Start".

Any USB drive you plug when running RetroArch will be mounted under ROMs folder. If you have ROMs in that pen they will be accessible from RetroArch.

When you set the WiFi in RetroArch it may show some error but still will connect. If it doesn't, just reboot and it will automatically connect to WiFi.

Did we mention you can user a third controller? :)