From e482b45ca47a2252d328782e352c687824bbc574 Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Mon, 25 Jan 2021 18:17:55 +0100 Subject: [PATCH] Added better support for RetroArch installed as Flatpak. --- USERGUIDE.md | 22 +- es-core/src/Settings.cpp | 17 +- .../templates/es_systems.cfg_unix_flatpak | 1120 +++++++++++++++++ 3 files changed, 1150 insertions(+), 9 deletions(-) create mode 100644 resources/templates/es_systems.cfg_unix_flatpak diff --git a/USERGUIDE.md b/USERGUIDE.md index d5d5892bd..a898aaadc 100644 --- a/USERGUIDE.md +++ b/USERGUIDE.md @@ -18,6 +18,8 @@ If you just want to get started as quickly as possible, simply follow these step 6) Start ES-DE and follow the on-screen instructions to configure your controller 7) Scrape game media for your collection and play some games! +As long as ES-DE hasn't frozen, you can always press F4 to close the application. + For additional details, read on below. ## Getting started @@ -481,7 +483,25 @@ ES-DE is a game browsing frontend and does not provide any emulation by itself. Installation and configuration of RetroArch and other emulators is beyond the scope of this guide, but many good resources can be found online on how to do this. -In order to use the default es_systems.cfg file, you need to make sure that the emulator binary directory is in the operating system's path. On Unix systems this is normally not an issue as a package manager has typically been used to install the emulator, and even if compiled from source there is a standardized directory structure which should have you covered. Likewise on macOS, it's assumed that the emulator is installed under the Applications folder so everything should just work. But for Windows you may need to add the emulator directory to your %PATH% variable manually (tip: open Settings from the Start menu and search for _path_). +A general recommendation regarding installation on Linux though is to try to avoid the versions included in the OS repositories as they're usually quite limited with regards to the number of available cores, and they're usually older versions. Instead go for either the Snap or Flatpak distributions or build from source. + +In order to use the default es_systems.cfg file, you need to make sure that the emulator binary is in the operating system's path. On Unix systems this is normally not an issue (unless Flatpak is used) as a package manager has typically been used to install the emulator, and even if compiled from source there is a standardized directory structure which should have you covered. Likewise on macOS, it's assumed that the emulator is installed under the Applications folder so everything should just work. But for Windows you may need to add the emulator directory to your %PATH% variable manually (tip: open Settings from the Start menu and search for _path_). + +If installing RetroArch as Flatpak on Linux you have to work around an incredibly annoying deficiency of this type of software distribution which is that there will be no RetroArch executable directly available to run. To run RetroArch you would instead need to execute `flatpak run org.libretro.RetroArch` and to get ES-DE to work properly with this you either need to use a customized es_systems.cfg file, or create a shell script somewhere in your path that executes the Flatpak command. +Here's an example of such a script: +``` +#!/bin/sh +flatpak run org.libretro.RetroArch "$@" +``` + +For instance on Fedora you could place the shell script in `~/bin` and name it `retroarch` and then everything will work fine. + +There is also a Flatpak-specific es_systems.cfg template shipped with ES-DE, but you need to manually install it if you would like to use it: +``` +cp /usr/local/share/emulationstation/resources/templates/es_systems.cfg_unix_flatpak ~/.emulationstation/es_systems.cfg +``` + +The source path may differ from this example depending on which prefix was used when building ES-DE. As an alternative, if the emulator is not in your search path, you can either hardcode an absolute path in es_systems.cfg or use the %ESPATH% variable to set the emulator relative to the ES-DE binary location. Again, please refer to [INSTALL.md](INSTALL.md#es_systemscfg) for details regarding this. diff --git a/es-core/src/Settings.cpp b/es-core/src/Settings.cpp index f4f6022d3..509864894 100644 --- a/es-core/src/Settings.cpp +++ b/es-core/src/Settings.cpp @@ -213,14 +213,15 @@ void Settings::setDefaults() mStringMap["EmulatorCorePath"] = { "", "" }; #else const std::string emulatorCorePath = - "~/.config/retroarch/cores:" // Compiled from source - "~/snap/retroarch/current/.config/retroarch/cores:" // Snap package - // As installed via the OS repositories: - "/usr/lib/x86_64-linux-gnu/libretro:" // Ubuntu and Linux Mint - "/usr/lib64/libretro:" // Fedora - "/usr/lib/libretro:" // Manjaro - "/usr/local/lib/libretro:" // FreeBSD and OpenBSD - "/usr/pkg/lib/libretro"; // NetBSD + "~/.config/retroarch/cores:" // Compiled from source + "~/snap/retroarch/current/.config/retroarch/cores:" // Snap package + "~/.var/app/org.libretro.RetroArch/config/retroarch/cores:" // Flatpak package + // As installed from the OS repositories: + "/usr/lib/x86_64-linux-gnu/libretro:" // Ubuntu and Linux Mint + "/usr/lib64/libretro:" // Fedora + "/usr/lib/libretro:" // Manjaro + "/usr/local/lib/libretro:" // FreeBSD and OpenBSD + "/usr/pkg/lib/libretro"; // NetBSD mStringMap["EmulatorCorePath"] = { emulatorCorePath, emulatorCorePath }; #endif mBoolMap["LaunchCommandOverride"] = { true, true }; diff --git a/resources/templates/es_systems.cfg_unix_flatpak b/resources/templates/es_systems.cfg_unix_flatpak new file mode 100644 index 000000000..ee1319a7f --- /dev/null +++ b/resources/templates/es_systems.cfg_unix_flatpak @@ -0,0 +1,1120 @@ + + + + + 3do + 3DO + %ROMPATH%/3do + .iso .ISO .bin .BIN .chd .CHD .cue .CUE .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/4do_libretro.so %ROM% + 3do + 3do + + + ags + Adventure Game Studio + %ROMPATH%/ags + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + ags + ags + + + amiga + Commodore Amiga + %ROMPATH%/amiga + .adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/puae_libretro.so %ROM% + amiga + amiga + + + amiga600 + Commodore Amiga 600 + %ROMPATH%/amiga600 + .adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/puae_libretro.so %ROM% + amiga + amiga600 + + + amiga1200 + Commodore Amiga 1200 + %ROMPATH%/amiga1200 + .adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/puae_libretro.so %ROM% + amiga + amiga1200 + + + amigacd32 + Commodore Amiga CD32 + %ROMPATH%/amigacd32 + .adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/puae_libretro.so %ROM% + amigacd32 + amigacd32 + + + amstradcpc + Amstrad CPC + %ROMPATH%/amstradcpc + .dsk .DSK .sna .SNA .tap .TAR .cdt .CDT .voc .VOC .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/cap32_libretro.so %ROM% + amstradcpc + amstradcpc + + + apple2 + Apple II + %ROMPATH%/apple2 + .nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + apple2 + apple2 + + + apple2gs + Apple IIGS + %ROMPATH%/apple2gs + .nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + apple2gs + apple2gs + + + arcade + Arcade + %ROMPATH%/arcade + .chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mame2016_libretro.so %ROM% + arcade + arcade + + + astrocade + Bally Astrocade + %ROMPATH%/astrocade + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + astrocade + astrocade + + + atari2600 + Atari 2600 + %ROMPATH%/atari2600 + .a26 .A26 .bin .BIN .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/stella2014_libretro.so %ROM% + atari2600 + atari2600 + + + atari5200 + Atari 5200 + %ROMPATH%/atari5200 + .xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/atari800_libretro.so %ROM% + atari5200 + atari5200 + + + atari7800 + Atari 7800 ProSystem + %ROMPATH%/atari7800 + .a78 .A78 .bin .BIN .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/prosystem_libretro.so %ROM% + atari7800 + atari7800 + + + atari800 + Atari 800 + %ROMPATH%/atari800 + .xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/atari800_libretro.so %ROM% + atari800 + atari800 + + + atarijaguar + Atari Jaguar + %ROMPATH%/atarijaguar + .j64 .J64 .jag .JAG .rom .ROM .abs .ABS .cof .COF .bin .BIN .prg .PRG .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/virtualjaguar_libretro.so %ROM% + atarijaguar, atarijaguarcd + atarijaguar + + + atarijaguarcd + Atari Jaguar CD + %ROMPATH%/atarijaguarcd + .j64 .J64 .jag .JAG .rom .ROM .abs .ABS .cof .COF .bin .BIN .prg .PRG .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/virtualjaguar_libretro.so %ROM% + atarijaguarcd + atarijaguarcd + + + atarilynx + Atari Lynx + %ROMPATH%/atarilynx + .lnx .LNX .o .O .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_lynx_libretro.so %ROM% + atarilynx + atarilynx + + + atarist + Atari ST + %ROMPATH%/atarist + .st .ST .msa .MSA .stx .STX .dim .DIM .ipf .IPF .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/hatari_libretro.so %ROM% + atarist + atarist + + + atarixe + Atari XE + %ROMPATH%/atarixe + .xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/atari800_libretro.so %ROM% + atarixe + atarixe + + + atomiswave + Atomiswave + %ROMPATH%/atomiswave + .chd .CHD .cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/flycast_libretro.so %ROM% + atomiswave + atomiswave + + + bbcmicro + BBC Micro + %ROMPATH%/bbcmicro + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + bbcmicro + bbcmicro + + + c64 + Commodore 64 + %ROMPATH%/c64 + .d64 .D64 .d71 .D71 .d80 .D80 .d81 .D81 .d82 .D82 .g64 .G64 .g41 .G41 .x64 .X64 .t64 .T64 .tap .TAP .prg .PRG .p00 .P00 .crt .CRT .bin .BIN .gz .GZ .d6z .D6Z .d7z .D7Z .d8z .D8Z .g6z .G6Z .x6z .X6Z .cmd .CMD .m3u .M3U .vsf .VSF .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/vice_x64_libretro.so %ROM% + c64 + c64 + + + cavestory + Cave Story (NXEngine) + %ROMPATH%/cavestory + .exe .EXE .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/nxengine_libretro.so %ROM% + cavestory + cavestory + + + cdtv + Commodore CDTV + %ROMPATH%/cdtv + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + cdtv + cdtv + + + chailove + ChaiLove game engine + %ROMPATH%/chailove + .chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/chailove_libretro.so %ROM% + love + chailove + + + channelf + Fairchild Channel F + %ROMPATH%/channelf + .bin .BIN .chf .CHF .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/freechaf_libretro.so %ROM% + channelf + channelf + + + coco + Tandy Color Computer + %ROMPATH%/coco + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + coco + coco + + + coleco + ColecoVision + %ROMPATH%/coleco + .rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/bluemsx_libretro.so %ROM% + colecovision + colecovision + + + daphne + Daphne Arcade Laserdisc Emulator + %ROMPATH%/daphne + .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/daphne_libretro.so %ROM% + daphne + daphne + + + desktop + Desktop applications + %ROMPATH%/desktop + .sh .csh + bash %ROM% + pc + desktop + + + doom + Doom + %ROMPATH%/doom + .wad .WAD .iwad .IWAD .pwad .PWAD + flatpak run org.libretro.RetroArch -L %COREPATH%/prboom_libretro.so %ROM% + pc + doom + + + dos + DOS (PC) + %ROMPATH%/dos + .bat .BAT .com .COM .exe .EXE .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/dosbox_core_libretro.so %ROM% + dos + dos + + + dragon32 + Dragon 32 + %ROMPATH%/dragon32 + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + dragon32 + dragon32 + + + dreamcast + Sega Dreamcast + %ROMPATH%/dreamcast + .chd .CHD .cdi .CDI .iso .ISO .elf .ELF .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/flycast_libretro.so %ROM% + dreamcast + dreamcast + + + famicom + Nintendo Family Computer + %ROMPATH%/famicom + .nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/nestopia_libretro.so %ROM% + nes, famicom + famicom + + + fba + Final Burn Alpha + %ROMPATH%/fba + .chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/fbneo_libretro.so %ROM% + arcade + fba + + + fbneo + FinalBurn Neo + %ROMPATH%/fbneo + .chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/fbneo_libretro.so %ROM% + arcade + fbneo + + + fds + Nintendo Famicom Disk System + %ROMPATH%/fds + .nes .NES .fds .FDS .unf .UNF .UNIF .UNIF .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/nestopia_libretro.so %ROM% + fds + fds + + + gameandwatch + Nintendo Game and Watch + %ROMPATH%/gameandwatch + .mgw .MGW .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/gw_libretro.so %ROM% + gameandwatch + gameandwatch + + + gamegear + Sega Game Gear + %ROMPATH%/gamegear + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + gamegear + gamegear + + + gamecube + Nintendo GameCube + %ROMPATH%/gamecube + .gcm .GCM .iso .ISO .wbfs .WBFS .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .tgc .TGC .wad .WAD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/dolphin_libretro.so %ROM% + gamecube + gc + + + gb + Nintendo Game Boy + %ROMPATH%/gb + .sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/bsnes_libretro.so %ROM% + gb + gb + + + gba + Nintendo Game Boy Advance + %ROMPATH%/gba + .gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_gba_libretro.so %ROM% + gba + gba + + + gbc + Nintendo Game Boy Color + %ROMPATH%/gbc + .sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/bsnes_libretro.so %ROM% + gbc + gbc + + + genesis + Sega Genesis + %ROMPATH%/genesis + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + genesis, megadrive + genesis + + + gx4000 + Amstrad GX4000 + %ROMPATH%/gx4000 + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + gx4000 + gx4000 + + + intellivision + Mattel Electronics Intellivision + %ROMPATH%/intellivision + .int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/freeintv_libretro.so %ROM% + intellivision + intellivision + + + kodi + Kodi home theatre software + %ROMPATH%/kodi + .sh .csh + bash %ROM% + pc + kodi + + + lutris + Lutris open gaming platform + %ROMPATH%/lutris + .sh .csh + bash %ROM% + pc + lutris + + + lutro + Lutro game engine + %ROMPATH%/lutro + .lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/lutro_libretro.so %ROM% + lutro + lutro + + + macintosh + Apple Macintosh + %ROMPATH%/macintosh + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + macintosh + macintosh + + + mame + Multiple Arcade Machine Emulator + %ROMPATH%/mame + .chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mame2016_libretro.so %ROM% + arcade + mame + + + mame-advmame + AdvanceMAME + %ROMPATH%/mame-advmame + .chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + arcade + mame-advmame + + + mame-libretro + Multiple Arcade Machine Emulator + %ROMPATH%/mame-libretro + .chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mame_libretro.so %ROM% + arcade + mame-libretro + + + mame-mame4all + MAME4ALL + %ROMPATH%/mame-advmame + .chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + arcade + mame-mame4all + + + mastersystem + Sega Master System + %ROMPATH%/mastersystem + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + mastersystem + mastersystem + + + megacd + Sega Mega-CD + %ROMPATH%/megacd + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + segacd + megacd + + + megacdjp + Sega Mega-CD + %ROMPATH%/megacdjp + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + segacd + megacdjp + + + megadrive + Sega Mega Drive + %ROMPATH%/megadrive + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + megadrive, genesis + megadrive + + + mess + Multi Emulator Super System + %ROMPATH%/mess + .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mess2015_libretro.so %ROM% + mess + mess + + + moonlight + Moonlight game streaming + %ROMPATH%/moonlight + .moonlight .MOONLIGHT .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + moonlight + moonlight + + + msx + MSX + %ROMPATH%/msx + .rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/bluemsx_libretro.so %ROM% + msx + msx + + + msx1 + MSX1 + %ROMPATH%/msx1 + .rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/bluemsx_libretro.so %ROM% + msx + msx1 + + + msx2 + MSX2 + %ROMPATH%/msx2 + .rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/bluemsx_libretro.so %ROM% + msx + msx2 + + + n64 + Nintendo 64 + %ROMPATH%/n64 + .n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mupen64plus_next_libretro.so %ROM% + n64 + n64 + + + naomi + Sega NAOMI + %ROMPATH%/naomi + .chd .CHD .cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/flycast_libretro.so %ROM% + naomi + naomi + + + nds + Nintendo DS + %ROMPATH%/nds + .nds .NDS .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/melonds_libretro.so %ROM% + nds + nds + + + neogeo + Neo Geo + %ROMPATH%/neogeo + .chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/fbneo_libretro.so %ROM% + neogeo + neogeo + + + neogeocd + Neo Geo CD + %ROMPATH%/neogeocd + .chd .CHD .cue .CUE .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/neocd_libretro.so %ROM% + neogeocd + neogeocd + + + nes + Nintendo Entertainment System + %ROMPATH%/nes + .nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/nestopia_libretro.so %ROM% + nes + nes + + + ngp + Neo Geo Pocket + %ROMPATH%/ngp + .ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_ngp_libretro.so %ROM% + ngp + ngp + + + ngpc + Neo Geo Pocket Color + %ROMPATH%/ngpc + .ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_ngp_libretro.so %ROM% + ngpc + ngpc + + + odyssey2 + Magnavox Odyssey2 + %ROMPATH%/odyssey2 + .bin .BIN .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/o2em_libretro.so %ROM% + odyssey2 + odyssey2 + + + openbor + OpenBOR game engine + %ROMPATH%/openbor + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + openbor + openbor + + + oric + Tangerine Computer Systems Oric + %ROMPATH%/oric + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + oric + oric + + + palm + Palm OS + %ROMPATH%/palm + .prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mu_libretro.so %ROM% + palm + palm + + + pc + IBM PC + %ROMPATH%/pc + .bat .BAT .com .COM .exe .EXE .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/dosbox_core_libretro.so %ROM% + pc + pc + + + pcengine + NEC PC Engine + %ROMPATH%/pcengine + .pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_pce_fast_libretro.so %ROM% + pcengine + pcengine + + + pcenginecd + NEC PC Engine CD + %ROMPATH%/pcenginecd + .pce .PCE .cue .CUE .ccd .CCD .iso .ISO .img .IMG .bin .BIN .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_pce_libretro.so %ROM% + pcenginecd + pcenginecd + + + pcfx + NEC PC-FX + %ROMPATH%/pcfx + .cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_pcfx_libretro.so %ROM% + pcfx + pcfx + + + pokemini + Nintendo Pokémon Mini + %ROMPATH%/pokemini + .min .MIN .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/pokemini_libretro.so %ROM% + pokemini + pokemini + + + ports + Ports + %ROMPATH%/ports + .sh .csh + bash %ROM% + pc + ports + + + ps2 + Sony PlayStation 2 + %ROMPATH%/ps2 + .iso .ISO .isz .ISZ .cso .CSO .bin .BIN .elf .ELF .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/play_libretro.so %ROM% + ps2 + ps2 + + + psp + PlayStation Portable + %ROMPATH%/psp + .elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/ppsspp_libretro.so %ROM% + psp + psp + + + psvita + PlayStation Vita + %ROMPATH%/psp + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + psvita + psvita + + + psx + Sony PlayStation 1 + %ROMPATH%/psx + .cue .CUE .toc .TOC .m3u .M3U .ccd .CCD .exe .EXE .pbp .PBP .chd .CHD .cbn .CBN .img .IMG .iso .ISO .mdf .MDF .z .Z .znx .ZNX .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_psx_libretro.so %ROM% + psx + psx + + + residualvm + ResidualVM game engine + %ROMPATH%/residualvm + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + residualvm + residualvm + + + samcoupe + SAM Coupé + %ROMPATH%/samcoupe + .dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/simcp_libretro.so %ROM% + samcoupe + samcoupe + + + satellaview + Nintendo Satellaview + %ROMPATH%/satellaview + .smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/snes9x_libretro.so %ROM% + satellaview + satellaview + + + saturn + Sega Saturn + %ROMPATH%/saturn + .ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_saturn_libretro.so %ROM% + saturn + saturn + + + scummvm + ScummVM game engine + %ROMPATH%/scummvm + .scummvm .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/scummvm_libretro.so %ROM% + scummvm + scummvm + + + sega32x + Sega Mega Drive 32X + %ROMPATH%/sega32x + .bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/picodrive_libretro.so %ROM% + sega32x + sega32x + + + sega32xjp + Sega Super 32X + %ROMPATH%/sega32xjp + .bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/picodrive_libretro.so %ROM% + sega32x + sega32xjp + + + sega32xna + Sega Genesis 32X + %ROMPATH%/sega32xna + .bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/picodrive_libretro.so %ROM% + sega32x + sega32xna + + + segacd + Sega CD + %ROMPATH%/segacd + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + segacd + segacd + + + sg-1000 + Sega SG-1000 + %ROMPATH%/sg-1000 + .mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM% + sg-1000 + sg1000 + + + snes + Nintendo SNES (Super Nintendo) + %ROMPATH%/snes + .smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/snes9x_libretro.so %ROM% + snes + snes + + + snesna + Nintendo SNES (Super Nintendo) + %ROMPATH%/snesna + .smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/snes9x_libretro.so %ROM% + snes + snesna + + + solarus + Solarus game engine + %ROMPATH%/solarus + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + solarus + solarus + + + spectravideo + Spectravideo + %ROMPATH%/spectravideo + .rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/bluemsx_libretro.so %ROM% + spectravideo + spectravideo + + + steam + Valve Steam + %ROMPATH%/steam + .sh .csh + bash %ROM% + pc + steam + + + stratagus + Stratagus game engine + %ROMPATH%/stratagus + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + stratagus + stratagus + + + sufami + Bandai SuFami Turbo + %ROMPATH%/sufami + .smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/snes9x_libretro.so %ROM% + sufami + sufami + + + supergrafx + NEC SuperGrafx + %ROMPATH%/supergrafx + .pce .PCE .sgx .SGX .cue .CUE .ccd .CCD .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_supergrafx_libretro.so %ROM% + supergrafx + supergrafx + + + thomson + Thomson TO/MO series + %ROMPATH%/thomson + .fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/theodore_libretro.so %ROM% + thomson + thomson + + + tg16 + NEC TurboGrafx-16 + %ROMPATH%/tg16 + .pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_pce_fast_libretro.so %ROM% + pcengine + tg16 + + + tg-cd + NEC TurboGrafx-CD + %ROMPATH%/tg-cd + .pce .PCE .cue .CUE .ccd .CCD .iso .ISO .img .IMG .bin .BIN .chd .CHD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_pce_libretro.so %ROM% + pcenginecd + tg-cd + + + ti99 + Texas Instruments TI-99 + %ROMPATH%/ti99 + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + ti99 + ti99 + + + trs-80 + Tandy TRS-80 + %ROMPATH%/trs-80 + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + trs-80 + trs-80 + + + uzebox + Uzebox + %ROMPATH%/uzebox + .uze .UZE .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/uzem_libretro.so %ROM% + uzebox + uzebox + + + vectrex + Vectrex + %ROMPATH%/vectrex + .bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/vecx_libretro.so %ROM% + vectrex + vectrex + + + videopac + Philips Videopac G7000 (Magnavox Odyssey2) + %ROMPATH%/videopac + .bin .BIN .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/o2em_libretro.so %ROM% + videopac + videopac + + + virtualboy + Nintendo Virtual Boy + %ROMPATH%/virtualboy + .vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_vb_libretro.so %ROM% + virtualboy + virtualboy + + + wii + Nintendo Wii + %ROMPATH%/wii + .gcm .GCM .iso .ISO .wbfs .WBFS .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .tgc .TGC .wad .WAD .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/dolphin_libretro.so %ROM% + wii + wii + + + wiiu + Nintendo Wii U + %ROMPATH%/wiiu + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + wiiu + wiiu + + + wonderswan + Bandai WonderSwan + %ROMPATH%/wonderswan + .ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_wswan_libretro.so %ROM% + wonderswan + wonderswan + + + wonderswancolor + Bandai WonderSwan Color + %ROMPATH%/wonderswancolor + .ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/mednafen_wswan_libretro.so %ROM% + wonderswancolor + wonderswancolor + + + x68000 + Sharp X68000 + %ROMPATH%/x68000 + .dim .DIM .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD .m3u .M3U .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/px68k_libretro.so %ROM% + x68000 + x68000 + + + xbox + Microsoft Xbox + %ROMPATH%/xbox + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + xbox + xbox + + + xbox360 + Microsoft Xbox 360 + %ROMPATH%/xbox360 + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + xbox360 + xbox360 + + + zmachine + Infocom Z-machine + %ROMPATH%/zmachine + .7z .7Z .zip .ZIP + PLACEHOLDER %ROM% + zmachine + zmachine + + + zx81 + Sinclair ZX81 + %ROMPATH%/zx81 + .tzx .TZX .p .P .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/81_libretro.so %ROM% + zx81 + zx81 + + + zxspectrum + Sinclair ZX Spectrum + %ROMPATH%/zxspectrum + .tzx .TZX .tap .TAP .z80 .Z80 .rzx .RZX .scl .SCL .trd .TRD .sh .SH .sna .SNA .szx .SZX .udi .UDI .mgt .MGT .img .IMG .dsk .DSK .gz .GZ .7z .7Z .zip .ZIP + flatpak run org.libretro.RetroArch -L %COREPATH%/fuse_libretro.so %ROM% + zxspectrum + zxspectrum + +