Libretro Cores

Packaging Libretro cores

Games supports only Libretro cores shipping a Libretro Core Descriptor file. The cores and their descriptors are looked for in $(libdir)/libretro directory and in paths defined in the LIBRETRO_PLUGIN_PATH environment variable.

Cores currently included in the Games flatpak bundle

These cores allow some games to work out-of-the-box without having to install additional packages.

Cores added for testing purpose to the unstable nightly

These cores don't work well enough yet in Games to be added to be distributed with the stable version.

Cores available for Games as flatpak extensions

These cores include correct *.info files so they can be used in Games, but need to be provided separately (e.g. licensing issues)

  • PicoDrive (non-commercial)

    • flatpak remote-add --from bochecha

    • flatpak install bochecha org.gnome.Games.LibretroPlugin.PicoDrive

Cores we need to evaluate

Additionnal info

Rules for selection of cores

  • No BIOS needed, either at all or not for the commonly used games in the core, or the BIOS needs to be available by legal means that don't require a soldering iron. For example, the NeoGeo BIOS is shipped with Linux versions of the games.

  • No single game ports, those should be installed as an "app", not as a data file that the front-end would handle. gnome-games should be seen as a concatenation of games available in the system, and a way to handle "data files" from older systems, such as ROMs for consoles, floppy disks from vintage computers or installers/archives for games for which we have an engine (SCUMMVM being a prime example).
  • The core needs to be of decent quality and require hardware features comparable to those necessary to run GNOME Shell comfortably.


  • How to choose the Libretro core if multiple ones are available for the games?
  • We need to ensure that running a game with a core and then another doesn't break the saves.
    • Should we use per game+core saves rather than simply per game saves?
    • Should we push for and interchangeable save format per system? (NES saves should work with any NES emulator, etc.)

Design/Playground/Games/LibretroCores (last edited 2018-03-13 17:13:10 by AdrienPlazas)