Frontends
- For frontend and launcher software that runs on consoles and handhelds, see Homebrew and ROM hacks#Launchers.
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.
The term "Frontend application" can sometimes be confused with multi-system emulators and ROM managers.
-
OpenEmu with a WIMP interface
-
Attract-Mode with a HTPC interface
Graphical User Interfaces (GUIs)
Frontends have different types of GUIs, here we have categorized them as follows:
- WIMP
- 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.
- HTPC
- HTPC stands for "Home theater PC". 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 or Steam, PCSX2 and DuckStation's Big Picture Mode are examples of this interface.
- Touch
- 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.
- CLI
- A command-line interface operated through terminal commands or executable arguments, offering no graphical elements.
Launcher types
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 premium (paid) version.
- ↑ Android release is not free and contains proprietary code.
- ↑ 3.0 3.1 Only the RetroPie fork
- ↑ Some users have expressed concerns about the app's stability and security.
Comparisons
x86
- LaunchBox
- 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.
- Attract-Mode
- 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.
- Attract-Mode Plus
- Attract-Mode Plus is a fork of Attract-Mode, enhanced by numerous community-driven improvements, fixes, and features. Licensed under the terms of the GNU General Public License, version 3 or later.
- QuickPlay
- 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 slow down-free.
- Simple Launcher
- Simple Launcher is a WIMP Open Source emulator frontend that streamlines retro gaming on Windows. It offers cover art display, multi-emulator support, gamepad functionality, and user-friendly features, all without the need for rom databases. Users can easily configure cover art size, gamepad support, systems, emulators, rom folders, and more. Has Windows-x64 version and available for Windows-ARM64.
- skeletonKeY
- 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.
- Playnite
- A great general gaming frontend for Windows. Version 9 greatly expanded emulation support, and better arcade support is planned. For something similar on Linux, check out Lutris.
- Lutris
- A great general gaming frontend for GNU/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.
- GameHub
- 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.
- NeoStation
- A modern, lightweight cross-platform frontend that emphasizes UX/UI and features NeoSync, a built-in cloud service for syncing RetroArch save states across devices.
ARM
- Daijishō
- Gives a console-like user interface for Android devices, capable of scraping boxart and providing metadata for many games and platforms, launching games for any compatible emulator app or core on Android, and applying custom wallpaper themes, including downloadable themes. Also has widgets and can track the user's RetroAchievements profile.
- ES-DE
- An Android port of ES-DE, this also provides a console-like user interface for Android devices; however, the Android version requires a one-time payment/Patreon subscription to download and use, and can be updated for free. It has similar features to Daijisho, but theming the user interface is more customizable than Daijisho.
- Dig
- An older frontend for Android with a simple touch-friendly user interface, capable of launching games for any compatible emulator app.
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 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.
| Name | Platform(s) | Latest version | Interface(s) | License | Active | Recommended |
|---|---|---|---|---|---|---|
| PC / x86 | ||||||
| OpenEmu | 2.4.1 | WIMP | BSD-3-Clause (Permissive) | Stalled | ✅ | |
| EmuDeck | 2.4 | HTPC | GPLv3 (Copyleft) | ✅ | ✅ | |
| Lakka | 6.1 | HTPC | ? | ✅ | ✅ | |
| RetroPie | 4.8 | HTPC | GPLv3 (Copyleft) | ✅ | Limited | |
| BizHawk | 2.11.1 | WIMP | MIT (Permissive) • GPL (Copyleft) | ✅ | TBD | |
| RetroBat | 8.2.1 | HTPC | LGPLv3 (Copyleft) | ✅ | TBD | |
| Provenance | 3.3.0 | HTPC | BSD-3-Clause (Permissive) | ✅ | TBD | |
| emuze | 0.59.0 | HTPC • WIMP | GPLv3 (Copyleft) | ✅ | TBD | |
| Mobile / ARM | ||||||
| RetroPie | 4.8 | HTPC | GPLv3 (Copyleft) | ✅ | ✅ | |
| Lakka | 6.1 | HTPC | ? | ✅ | ✅ | |
| EmuDeck | 2.1.0 | HTPC | BSD-3-Clause (Permissive) | ✅ | TBD | |
| Consoles | ||||||
| CoinOPS | ? | HTPC | ? | TBD | TBD | |
| Tico | 0.7.1 | HTPC | MIT (Permissive) | ✅ | ✅ | |
- ↑ RetroPie for x86 Linux is only available for Ubuntu- (16.04 LTS or later) and Debian-based distributions. See these installation instructions.
Comparisons
- OpenEmu
- A frontend for various emulators that run under macOS.
Launcher mods
These programs aren't launchers themselves, but instead tools for changing other launchers.
| Name | Platform(s) | Latest version | Interface(s) | License | Active | |
|---|---|---|---|---|---|---|
| PC / x86 | ||||||
| Steam ROM Manager | 2.5.29 | placeholder text | GPLv3 (Copyleft) | ✅ | ||
| Ice | 1.0.0 | placeholder text | MIT (Permissive) | ❌ | ||
| UIX Emulatorinator | 2.8 | placeholder text | Open-source planned | ✅ | ||
Comparisons
- Steam ROM Manager
- A tool that adds emulator launching capabilities to the Steam client.
- UIX Emulatorinator
- This tool allows users to compile a centralized retro library and export it to other major frontends like LaunchBox and Playnite. While built primarily as a manager and exporter, it features its own functional interface so it can be used as a launcher by itself.
Project-specific frontends
| Name | Platform(s) | Latest version | Core support | Interface(s) | License | Active | Recommended |
|---|---|---|---|---|---|---|---|
| PC / x86 | |||||||
| RetroArch | 1.22.2 | Full[B 1] | HTPC • WIMP[B 2] | GPLv3 (Copyleft) | ✅ | ✅ | |
| Ludo | 0.22.5 | Most non-GL cores | HTPC | GPLv3 (Copyleft) | ✅ | ✅ | |
| Games (Gnome) | 3.36 | Limited | WIMP | GPLv3 (Copyleft) | ❌ | Limited | |
| RetriX | 2.1.77.0 | Limited | WIMP • Touch | BSD-3-Clause (Permissive) | Sporadic | ❌ | |
| minir | git | Limited | WIMP | BSD-3-Clause (Permissive) | ❌ | ❌ | |
| Phoenix | git (pre-alpha) | Limited | WIMP | GPLv2 (Copyleft) | ❌ | ❌ | |
| Mobile / ARM | |||||||
| RetroArch | 1.22.2 | Full[B 1] | HTPC • Touch | GPLv3 (Copyleft) | ✅ | ✅ | |
| Blast16 | 1.0.18 (2020-01-18) |
Genesis Plus GX • PicoDrive | HTPC | Proprietary | ✅ | ✅ | |
| SNESES | 1.0.7 (2020-01-22) |
Snes9x? | HTPC | Proprietary | ✅ | ✅ | |
| Ludo | git | Most non-GL cores | HTPC | GPLv3 (Copyleft) | ✅ | ✅ | |
| RetriX | 2.1.77.0 | Limited | WIMP • Touch | BSD-3-Clause (Permissive) | Sporadic | Limited | |
| Lemuroid | 1.15.0 | Limited | Touch | GPLv3 (Copyleft) | ✅ | ✅ | |
| Consoles | |||||||
| RetroArch | 1.22.2 | Full[B 1] | HTPC | GPLv3 (Copyleft) | ✅ | ✅ | |
| RetriX | [1] | Limited | HTPC | BSD-3-Clause (Permissive) | Sporadic | ❌ | |
Comparison
- RetroArch
- The flagship project for libretro, and the most widely available.
- Lemuroid
- Lighter, cut-down Retroarch alternative for Android.
- Ludo
- 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.
- Blast16
- Really nice looking frontend for Raspberry Pi that only support Sega Genesis games. Has a similar UI to the NES/SNES Classic Edition.
- SNESES
- Same as Blast16 but for Super Nintendo games.
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.
| Name | Platform(s) | Latest version | Interface(s) | License | Active | Recommended |
|---|---|---|---|---|---|---|
| PC / x86 | ||||||
| pfeMAME | v3.5.3 | WIMP | Non-commercial | ✅ | TBD | |
| Erockus Arcade | 14.2 | WIMP | Proprietary | ✅ | TBD | |
| gnome-arcade | 0.263 | WIMP | GPLv3 (Copyleft) | ✅ | TBD | |
| Ample | 0.288 | WIMP | Proprietary | ✅ | TBD | |
| IV/Play | 2.4.14 | WIMP | Proprietary | ✅ | TBD | |
| MacMAME | 0.283a | WIMP | GPLv2 | ✅ | TBD | |
| Negatron | 1.0.2 | WIMP | GPLv3 (Copyleft) | ✅ | ❌ | |
| QMC2 | 0.243 | HTPC | GPLv2 (Copyleft) | ❌ | ❌ | |
| MameFave | 1.0.1.1 | WIMP | Proprietary | ❌ | ❌ | |
| M+GUI | 1.8.2 | WIMP | Proprietary | ❌ | ❌ | |
Comparison
- pfeMAME
- 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.
- gnome-arcade
- 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.
- Ample
- A user-friendly open source front-end for using MAME. Started out as an Apple II-series emulator. Recently expanded to include Classic Mac, Tandy TRS-80 and Compatibles, Oric, Atari ST, and more. Requires macOS 10.11+.
- Negatron
- 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.
- QMC2
- QMC2 is a multi-platform MAME/MESS/UME frontend.
- MameFave
- A Windows-only frontend launched in March 2022[1]. Creator intends for this to be a simple way to manage hundreds of ROMs.
- The favorites database can be filtered to help you find the game you want to play.
- Works with many versions of MAME (32 and 64-bit).
- Optional artwork download includes icons and marquees for all the classics!
- Links to your favorite games can be made in just a few mouse clicks.
- Games can be played directly from the ROM picker and search windows.
Because DOSBox doesn't have a GUI, projects were made to fulfill that role. More information about them is available on the DOSBox Wiki.
| Name | Platform(s) | Latest version | Interface(s) | License | Active | Recommended |
|---|---|---|---|---|---|---|
| PC / x86 | ||||||
| DOSBox Game Launcher | 0.99 (Stable) 0.100 Beta 17 (Dev) |
WIMP | GPLv2 (Copyleft) | ✅ | ✅ | |
| LaunchBox | 13.27 (Free) Premium (75 US$) 1.21 |
WIMP • HTPC[D 1] | Proprietary | ✅ | Limited | |
| D-Fend Reloaded | 1.4.4 | WIMP | GPLv3 (Copyleft) | ❌ | ❌ | |
| IA Launcher | 2.2.1 | WIMP | GPLv3 (Copyleft) | ❌ | ❌ | |
| D-Fend | 2.0.6.2 (Build 42) | WIMP | Proprietary | ❌ | ❌ | |
| CBoxRun | 0.51 | WIMP | Proprietary | ❌ | ❌ | |
- ↑ This feature is called Big Box and is only available in the premium (paid) version.
Comparison
- DOSBox Game Launcher
- Another frontend based on Java that is said to be inspired by the D-Fend's.
- LaunchBox
- Originally developed as a DOSBox frontend. It now supports any emulator or Windows game but has retained its excellent DOSBox functionality.
- D-Fend Reloaded
- Was a great frontend, which allowed custom per-game configurations to cut back on fiddling with settings just to run specific games well. It also let use third-party builds of DOSBox, instead of the one it comes with, so it could have been used with forks as well.
- IA Launcher
- IA Launcher is a graphical games launcher for under 3000 MS-DOS games from old times. It uses the Internet Archive to download games on-the-fly and DOSBox to play them offline.
- D-Fend
- Very old, outdated and out of support. Was reborned as D-Fend Reloaded.
- CBoxRun
- Zero relevance, lack of developing, dead for a long time.
Mednafen is a command-line program with no graphical interface whatsoever. These programs generally ease the process of launching games, featuring an equivalent for most of the emulator's functions via their graphical interfaces.
| Name | Platform(s) | Latest version | Interface(s) | License | Active | Recommended |
|---|---|---|---|---|---|---|
| PC / x86 | ||||||
| Mednaffe | 0.9.3 | WIMP | GPLv3 (Copyleft) | ✅ | ✅ | |
| MedGui Reborn | 0.127 | WIMP | CC0-1.0 (Public domain equivalent) | ✅ | ✅ | |
| MedLaunch | 0.5.25.3 | WIMP | MIT (Permissive) | ❌ | ❌ | |
| MedGui | 1.99999 | WIMP | ? | ❌ | ❌ | |
Comparison
- Mednaffe
- One of the older and better frontends for Mednafen, with a good user-friendly interface as well as Linux support.
- MedGui Reborn
- Reincarnation of the MedGui. New versions appear shortly after the release of a new version of the emulator, and new commits on GitHub happens regularly. The only serious drawback is the fairly awkward interface.
- MedLaunch
- Just dead and outdated.
- MedGui
- Now is a thing of the past. But it has been revived as MedGui Reborn.
Others
| Name | Platform(s) | Latest version | Emulator | Interface(s) | License | Active | Recommended |
|---|---|---|---|---|---|---|---|
| PC / x86 | |||||||
| Mupen64Plus-Qt | 1.17 | Mupen64Plus | WIMP | BSD-3-Clause (Permissive) | ✅ | TBD | |
| simple64-gui / simple64 | git (frontend only) 2024.12.1 (simple64 package) |
Mupen64Plus | WIMP | GPLv3 (Copyleft) | ✅ | TBD | |
| CEN64-Qt | git | CEN64 | WIMP | BSD-3-Clause (Permissive) | ✅ | TBD | |
| Sega Model 2 UI | WIP (2019-04-02) | Model 2 Emulator | WIMP | ? | ❌ | TBD | |
| Sega Model 3 UI | -r886 | Supermodel | WIMP | ? | ❌ | TBD | |
| SupermodelsAssistant | 0.12 | Supermodel | WIMP | ? | ✅ | TBD | |
| MedSat | 1.8 | Mednafen (Saturn core) | ? | ? | ❌ | TBD | |
| Dapplegrey | 9.9.2 | DOSBox | WIMP | ? | ✅ | TBD | |
| zRupi | v2-pre | LoopyMSE | WIMP | ? | ❌ | TBD | |
See also
References
- ↑ Reddit thread: MameFave GUI for MAME
