Frontends are programs that address a quality-of-life issue that emulators may not fulfill. For example, some emulator developers skip the user interface portion of development by having the user launch them from the command line. This usually means opening Command Prompt in the folder where the emulator is installed and typing something like
emulator.exe game.rom. From a usability perspective, this is not optimal; running emulators from a shell can be considered tedious if commands aren't already scripted by the user (and they can't be expected to know how to set up such a thing if their first time loading the program is a black window that pops up and then disappears). To avoid this, many emulators will try to incorporate some kind of graphical user interface (GUI) in their standalone builds. For the emulators that never receive one however, a separate frontend project usually emerges.
Graphical User Interfaces (GUIs)
Frontends have different types of GUIs, here we have categorized them as follows:
- WIMP stands for "Windows, Icons, Menus and a Pointer". This is a GUI based on one or several window(s) and it's normally controlled by a mouse. Examples of this type of interface are LaunchBox and OpenEmu.
- This type of interface is often intended for viewing on a big screen, such as a TV or arcade monitor. Normally the navigation is optimized for joysticks or gamepads, although they often work with keyboard controls as well. RetroArch, HyperSpin and MAME's integrated frontend MEWUI are examples of this interface.
- A touch interface is often similar to a HTPC interface, the difference is that they are intended for touch screens. This is mostly found in Android frontends intended for smartphones and tablet computers.
These "Launchers" or "Executors" use their own graphical interface to start emulators. They're generally very adaptive and can support different arguments between emulators to ease integration. These frontends can be used with almost any emulator of your choosing, as long as they support command-line arguments.
- This feature is called Big Box and is only available in the paid premium version.
- Only the RetroPie fork
- Was originally built as an attractive front-end for DOSBox but has since expanded to support both modern PC games and emulated console platforms. It comes with an integrated metadata scraper, and the interface is highly customizable, likely the most customizable alongside HyperSpin, but only with a license for the premium version. Premium also includes Big Box, which is an HTPC version of the frontend. Launchbox can also be launched natively from Kodi.
- A graphical frontend for command line emulators with a completely customizable appearance. It hides the underlying operating system and is intended to be controlled with a joystick, gamepad or spin dial, making it ideal for use in arcade cabinets. Attract-Mode is open source and runs on Linux, macOS, and Windows.
- An excellent FOSS alternative to LaunchBox. It has a WIMP style interface and is Windows only. Compared to LaunchBox it has less eye-candy but it requires a lot less system resources, it's blazing-fast and slowdown free.
- According to the author, skeletonKeY is a unified interface for ROMs emulators and frontends. A dynamic GUI provides granular options for MAME, snes9x, mednafen, emulationStation, retroFE, PegasusFE and a very comprehensive interface for retroArch (including netplay). SkeletonKeY integrates and supports the installation of hundreds of emulators. SkeletonKeY is free, open source and very ugly.
- A great general gaming frontend for Windows. For emulation it's not yet at the same level as LaunchBox. For something similar on Linux, check out Lutris.
- A great general gaming frontend for Linux with support for running Windows games with Wine and Proton. However, for the emulation use cases it has some downsides, such as: there is no bulk import for ROMs. There is a lutris-bulk-adder script which might solve this.
- A general gaming frontend for Linux. At the moment it's not useful for huge ROM collections as it seems to crash when bulk importing.
Integrated emulator types
These "frontends" have a graphical user interface that lets you launch emulators that are included with the system, meaning it's not possible (or very difficult) to incorporate other emulators. They may or may not contain original emulator cores. If a program has mostly original cores, then it's called a multi-system emulator and is not included here. If you're looking for a full Linux distribution to run on a Raspberry Pi or similar, check out our Emulation Boxes page.
|PC / x86|
|Mobile / ARM|
- RetroPie for x86 Linux is only available Ubuntu (16.04 LTS or later) and Debian based distros. See these install instructions.
- A frontend for various emulators that runs under macOS.
These programs aren't launchers themselves, but instead tools for changing other launchers.
|PC / x86|
|Steam ROM Manager||2.3.11||✓||✓||✓|
- Steam ROM Manager
- A tool that adds emulator launching capabilities to the Steam client.
|Name||Platform(s)||Latest Version||Core support||Interface(s)||FOSS||Active||Recommended|
|PC / x86|
|RetroArch||1.9.1||Full[B 1]||HTPC, WIMP[B 2]||✓||✓||✓|
|Ludo||0.12.5||Most non GL cores||HTPC||✓||✓||✓|
|Mobile / ARM|
|RetroArch||1.9.1||Full [B 1]||HTPC, Touch||✓||✓||✓|
|Blast16||1.0.18 (2020-01-18)||Genesis Plus GX, PicoDrive||HTPC||✗||✓||✓|
|Ludo||0.11.2||Most non GL cores||HTPC||✓||✓||✓|
- Limited by system hardware
- Press F5 for WIMP interface. Only available on Windows and Linux.
- The flagship project for libretro, and the most widely available.
- A minimalist HTPC frontend with sane default settings, configuration is always optional.
- Games (Gnome)
- A Linux launcher for PC games and a libretro frontend. Very easy to use, almost no setup. You'll need the GNOME Settings app to be able to bulk add ROMs.
- Really nice looking frontend for Raspberry Pi that only support Sega Genesis games. Has a similar UI to the NES/SNES Classic Edition.
MAME was originally designed as a command line program. However, when the project relicensed as open source in February 2016, they merged the frontend MEWUI into the main project as part of the MAME executable. MEWUI uses the ten-foot interface philosophy which accounts for large television displays where the user is expected to use a TV remote-like input device to navigate the menus. However, MAME still supports command line arguments, so many old launchers still work with newer versions.
|PC / x86|
|Mobile / ARM|
- QMC2 is a multi-platform MAME/MESS/UME frontend.
- MAMEUI64 is the current name of MAME32, the original MAME GUI for Windows. As it dates back to 1997, it has additional bugs compared to mainline MAME, lacks several features of modern MAME or makes it difficult to use them via GUI, and does not scale properly to high resolutions. The MAME developers do not recommend using any derivative of MAME32 for these reasons, instead suggesting mainline MAME with an external frontend if the internal user interface is not sufficient.
- An intuitive and info-oriented front-end for MAME; & a prettier derivative of ageing MAME32/MAMEUI. For computers and consoles, it needs builds of the NegaMAME derivative. For arcade games only, you can use Negatron with regular MAME instead.
- A minimal MAME frontend using GTK+ 3. On some Linux distros, you have gnome-video-arcade package: Simple MAME frontend. Available on Ubuntu 16.04+ on official repo.
- Python front end for MAME that can run in Linux and Windows. It also includes a pretty graphical Tile View designed for MAME cabinets which allows control using joystick / gamepad. pfeMAME was written by Gareth Finch and the development project started in 2014.
Mednafen is a command line program with no graphical interface whatsoever. These programs generally ease the process of launching games, but don't address things like controller configuration, which is still done by pressing hotkeys in-game.
|PC / x86|
|PC / x86|
|mupen64plus-gui / m64p||Git (frontend only)
git (m64p package)
|Sega Model 2 UI||WIP 2019-04-02||Model 2 Emulator||WIMP||?||✗||TBD|
|Sega Model 3 UI||WIP 2019-04-12||Supermodel||WIMP||?||✗||TBD|
|MedSat||1.8||Mednafen (Saturn core)||?||?||✗||TBD|