Customize sytems

EmulationStation displays systems based on a file called es_systems.cfg, located at /usr/share/emulationstation. In the past, you had to either edit this file and use the command batocera-save-overlay, or copy it to /userdata/system/configs/emulationstation and edit it there.

Both methods could have issues when updating (batocera-save-overlay changes are lost upon updating, and if the file has been changed, your local copy wouldn't reflect those changes).

However, there is a way to put custom informations without losing them during an update, while still having the benefits of said update.

You can create a file named es_systems_XXX.cfg where XXX is a name you wish to use for it. this file must have the same structure as the original es_systems.cfg :

<?xml version="1.0"?>
        <fullname>3DO Interactive Multiplayer</fullname>
        <manufacturer>Panasonic - Sanyo - Goldstar</manufacturer>
        <extension>.iso .chd .cue</extension>
        <command>python /usr/lib/python3.9/site-packages/configgen/ %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM%</command>
            <emulator name="libretro">
                    <core default="true">opera</core>

However, you only need to put what changes for a given <name> between the original and what you want, as the informations in this file will take priority if there is a conflict, the original es_systems.cfg file will still apply for anything else, for exemple, if you wish to change the path of the pico8 games, you simply need to create the file /userdata/system/configs/emulationstation/es_systems_pico8.cfg with the following, and then refresh the gamelist.

<?xml version="1.0" encoding="UTF-8"?>

Here, it'll use the folder /userdata/roms/pico8real to look for pico-8 games instead of the regular one.

  • emulationstation/customize_systems.txt
  • Last modified: 2 weeks ago
  • by fishou