Recalbox displays one system per console, computer or arcade machine that owns games. This page explains how to hide systems, change their order, and even create your own system to hold a selection of roms.
To group games by criterion (favorites, multiplayer, lightgun, genres, arcade…), what you want is virtual systems — not this page.
Press START, then open SYSTEM-LISTS & GAMELISTS SETTINGS. The SYSTEM LISTS section offers two settings:
SHOW SYSTEMS — the list of all your systems, each with a checkbox: untick the ones you want to hide. The effect is immediate.SYSTEM SORTING — the order of the systems: several predefined sorts (by name, manufacturer, release date…), or the default sort, which follows the order of the systemlist.xml file — including your custom order if you defined one.📷 Screenshot to come:
systems-display-menu.png(SHOW SYSTEMS with its checkboxes)
The equivalents in recalbox.conf:
| Key | Role |
|---|---|
<system>.ignore=1 |
hides the system (e.g. atomiswave.ignore=1). Careful: no emulationstation. prefix for this key. |
emulationstation.systemsorting |
the sort selected in SYSTEM SORTING. |
The systems list is defined by the systemlist.xml file. The original one lives in /recalbox/share_init/system/.emulationstation/systemlist.xml: it is read-only (the Recalbox system is a non-modifiable compressed image) and serves as the reference — this is where you will find each system's uuid.
To customize the order, create your own file at /recalbox/share/system/.emulationstation/systemlist.xml (it does not exist by default). Just list the systems in the order you want, with only their uuid:
<?xml version="1.0"?>
<systemList>
<system uuid="62f2cbed-5bcb-46d8-bca9-daaa36613c7a"/> <!-- nes -->
<system uuid="0a7fd1d3-9673-44ab-bfef-5bb3c8a0d79a"/> <!-- fds -->
<system uuid="3df92492-d69a-48f8-8e14-9a62bd9805a6"/> <!-- snes -->
<system uuid="99e312bc-7602-4038-a871-e53c17fd1d76"/> <!-- satellaview -->
</systemList>
The rules:
uuid matters: the configuration of a stock system (emulators, extensions, theme…) always stays the one from the original file — no point trying to change it in your file, it would be ignored;uuid is simply ignored;SYSTEM SORTING on its default sort, otherwise your order is not used.The same file lets you add your own system entries — for instance a "Super Nintendo Fan Trad" system holding only your translated roms. This does not add a new emulator: a custom system reuses the existing ones.
The easiest way is to start from the <system> block of the closest system, copied from the original file, then change:
uuid — a new uuid, different from all original ones (otherwise your definition would be overwritten by the stock system's). Generate one on uuidgenerator.net for instance;fullname — the displayed name;path (in <descriptor>) — the rom folder, for example %ROOT%/snestrad for /recalbox/share/roms/snestrad;theme (in <descriptor>) — the theme folder name to use: keep the original system's (snes…), or create your own in your theme.Full example, to add inside your systemlist.xml (reordering uuids and custom systems can live in the same file):
<?xml version="1.0"?>
<systemList>
<system uuid="21b8873a-a93e-409c-ad0c-8bb6d682bef8" name="snes" fullname="Super Nintendo Fan Trad">
<descriptor path="%ROOT%/snestrad" theme="snes" extensions=".smc .sfc .zip .7z"/>
<scraper screenscraper="4"/>
<properties type="console" pad="mandatory" keyboard="no" mouse="optional" lightgun="optional" releasedate="1990-11"/>
<emulatorList>
<emulator name="libretro">
<core name="snes9x" priority="1" extensions=".smc .sfc .zip .7z" netplay="1" compatibility="high" speed="high"/>
</emulator>
</emulatorList>
</system>
</systemList>
At minimum, a custom system must define uuid, name, fullname, a <descriptor> with path and extensions, and a valid <emulatorList> — copy the latter from the original system without modifying it. Create the matching rom folder, add your games, restart: your system appears in the list.
The content of
<emulatorList>(core names, priorities) changes from one Recalbox version to the next: after an update, if your custom system no longer launches, resynchronize this block with the original file.
Need help? Join the Recalbox Discord.