STEP 1. Accessing Lakka filesystem
It is necessary to access the Lakka filesystem in order to accomplish tasks such as adding ROMs or BIOSes. Access to the filesystem also makes it possible to content like screenshots or savefiles from Lakka. There are two overall approaches to gaining access to the Lakka filesystem:
Network access (First make sure WiFi is enabled under "Services" in Lakka settings, then make sure to connect to your WiFi network with your password!)
Attaching the Lakka drive to another system
Lakka can also be configured to use ROMs that are served from a NAS for users who are comfortable working in a Linux shell environment.
Our Easy Mode console
The editable portions of the Lakka system can be found in the following folders. Note that these the only folders which are made accessible via SAMBA – accessing other areas of the filesystem requires a different approach.
roms - ROMs, films, music, and other content
savestates - ‘quicksave’ states, as opposed to savefiles
shaders - to override shaders
system - to store BIOSesupdate - copy update files here to update Lakkaplaylists - to access the playlistsjoypad - joypad autoconfiguration profiles which are specific to your Lakka system
thumbnails - the place where box art, title screen thumbnails, etc. are stored for displaying the appropriate art next to the game title when you are select games.
The recommended method: Transferring files via a network connection
Samba is a service running on Lakka (disabled by default, but we enable it manually on all of our consoles at RetroGame.Club before purchase!) which allows other systems on the local network to add and remove files from Lakka via the CIFS/SMB protocol. SMB is the same tool used to share computer files on a windows network.
Windows, OS X, and most Linux distributions should be able to navigate directly to Lakka’s Samba share by entering \\lakka\ into their file browser. If you cannot reach the Lakka system by name, it may be possible to reach it by IP. Once you have determined Lakka’s IP, enter that address in the file browser as with the Lakka name earlier, such as \\FULL.IP.ADDRESS.HERE\.
File transfer via SCP
This method requires that SSH be enabled in Lakka, but it is faster than SAMBA. It will also require that you have and be familiar with operating SCP-enabled file transfer software or an SSH client capable of managing SCP file transfers.
You may be able to connect to Lakka via the name “lakka” in your SCP client. If not, you will need to find the IP of your Lakka box. The credentials for SCP are the same as for SSH: username root and password root.
SCP on Linux and Mac OS X hosts
In a terminal, copy the files over network using the scp command:
scp -r roms/* root@ip-of-your-lakka:roms/ scp -r bios/* root@ip-of-your-lakka:system/
SCP on Windows hosts
Download the free software FileZilla or WinSCP, and connect to Lakka using the SCP protocol (port 22). They will expose the directories of Lakka, you can transfer files by dragging and dropping.
Direct drive access
This method consists of mounting the SD card, flash drive, or hard drive where Lakka is installed on a host workstation running Windows, Linux, or OS X. It is not convenient if you have installed Lakka on a device with internal storage, since you would have to connect the drive to another PC. But it works well for ARM boards, where the storage media is an SD card most of the time.
Direct drive access on a Linux host
If you’re on Linux, you can mount the second partition of your SD card/USB pendrive, and access the files on this partition. This way, you don’t need network connection, and you can access all files on your drive, including RetroArch configuration files located in .config/retroarch/.
Direct drive access on a Windows host
Accessing ext4 partitions from windows is not supported natively but there are some workarounds available:
Use a 3rd party software/driver to access the partitions (This web article has some more information on this topic).
Use a complicated Linux Virtual Machine setup.
The easiest option would be to use a 3rd party software/driver but they don’t support all the features/requirements which ext4 file system require. Its not recommended as they can corrupt the file systems.
The safest option would be to use Linux itself… Although, it does not qualify its place in this section, its the most safe/secure way to access your lakka data partition. Here are 2 ways of using Linux:
Direct drive access on an OS X host
Mac OS X does not allow users to mount ext4 partitions natively. Paragon’s ExtFS driver is paid software. OSXFuse is free software. We have not tested either of these yet.
Using an external USB drive
Lakka offers the possibility to store your ROMs on an external USB drive.
Your USB drive must be formatted as FAT, NTFS or ext2/3/4. Store some ROMs on it, and plug it in your Lakka Box. The partition will be mounted automatically in a new folder under /storage/roms/, and your ROMs will appear in the menu. Please note that installing Lakka itself to an external USB hard drive is also an option.
Note: If you are using Lakka for PC in live USB mode, you should be able to access the hard drives of the host computer.
ROM storage and organization
Game ROMs must be placed within the roms folder. It is recommended to keep ROMs zipped, except for CD images. I recommend you sort your ROMs into subfolders named after the system which the ROMs belong to. This results in hierarchy such as:
roms/ Atari - 2600/ Game 1.zip Game 2.zip Game 3.zip Sega - 32X/ Game 1.zip Game 2.zip etc. etc.
However, in Lakka you are free to organize your ROMs as you prefer. As long as they are all located somewhere in the roms folder they will be detected when you scan the directory.
Lakka also supports loading ROMs from an external USB drive, this is a quick way I upgrade storage for my customers by using a low-profile USB drive.
For advanced users, Lakka also supports loading ROMs from remote storage using network filesystems like NFS.
STEP 2. ROM scanning and playlist generation
To make your games show up in Lakka after transfering them over your local network, navigate to the menu that looks like this:
Then choose the directory you want to scan for games. (I recommend if you have over 10,000 roms to scan each folder individually rather than scan the entire collection all at once.)
Lakka uses a ROM scanning system to generate the playlists in its horizontal menu. It is a VERY convenient way to sort your ROMs on a per-system basis without any additional knowledge required.
Each ROM stored in a folder being scanned by RetroArch is checked against a database.
This database is based on No-Intro and will recognize only the good dumps. See it as a sort of ROM validator. It is recommended to use "No-Intro" romsets with Lakka for this reason. Also, in general, these rom sources are verified to work and will save a lot of time filtering through hundreds and thousands of non-compatible or simply bad copies of games!
If you would like to generate playlists manually, or generate playlists for systems that do not have scanning support yet, the playlist file format has been documented.
Cartridge ROMs from the famous consoles are well known and all follow the same rules:
A ROM is composed of a single file
It can be zipped or not (Prefer zipped for Lakka)
The preferred format for CD images like the PS1 is BIN+CUE. The .cue is a text file which when opened looks like this:
FILE "Location/NameOfTheBin.bin" BINARY TRACK 01 MODE2/2352 INDEX 01 00:00:00
Note that if the .Cue file does not direct to the proper location of the .bin it won't be recognized by Lakka. (if the .Bin file is in the same folder as the .Cue file then you only have to put the name of the .bin file inside the quotations!)
For PSP games, the preferred format is ISO. However, I have tried using ISO files with PS1 and have had success, so feel free to experiment if you have the time, but if you want to save yourself trouble then start with .Bin and .Cue files first!
rcade games are a special case and arcade emulation is complex.
Lakka ships two emulators able to launch arcade ROMs: MAME2003 and FBA.
FBA is set as the default emulator for Arcade in Lakka. We ship the version 0.2.97.38. It is faster than MAME and emulates the following platforms:
Data East DEC-0, DEC-8 and DECO IC16 based games
Galaxian based hardware
Irem M62, M63, M72, M90, M92 and M107 hardware
Pacman based hardware
Psikyo 68EC020 and SH-2 based hardware
Sega System 1, System 16 (and similar), System 18, X-Board and Y-Board
Super Kaneko Nova System
Taito F2, X, Z and others
Miscellaneous drivers for lots of other hardware
MAME supports more games than FBA. We ship the version from 2003 also called 0.78. It is an old version, but it was the easiest to package in Lakka and it is faster than newer versions of MAME.
Arcade ROMs are special and follow these rules:
Arcade ROMs have to stay zipped, they contain many files.
Arcade emulators run the .zip games directly, they take care of uncompressing, while other emulators let RetroArch uncompress the ROM for them.
Never rename an arcade ROM, the file name is an identifier that helps the emulator to know how to emulate it.
Arcade ROMs have versions. Each arcade emulator comes with its own ROM set. A ROM that works under MAME2003 can be incompatible with MAME2014 or FBA.
Arcade ROMs can have parents/clone relationships.
Arcade ROMs can be of 3 types:
Non-merged: Games are standalone, each zip contain all the files needed to run the game, including the parent ROM.
Split: Games require the parent ROM to run.
Merged: Clones are merged in the parent. You end up with more than one game in a single zip.
In Lakka, I recommend you use FBA with an FBA v0.2.97.38 split ROM set. RetroArch doesn’t support merged sets anyway.
If you really need to run more games that aren't available in this set, choose MAME2003 with a MAME0.78 splitted ROM set.
And there you have it! You should now be able to transfer any games you own to LAKKA without too much difficulty.
If you benefited from this article, please share it with friends or consider purchasing your next console directly from www.RetroGame.Club