Frontends

From Emulation General Wiki
Jump to navigation Jump to search
OpenEmu with a WIMP interface
Attract-Mode with a HTPC interface

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. placeholder text

Graphical User Interfaces (GUIs)[edit]

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
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.

Launcher types[edit]

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.


Name Platform(s) Latest Version Interface(s) FLOSS Active Recommended
PC / x86
LaunchBox Windows 13.15 (Free)
Premium ($75)
WIMP, HTPC[A 1]
ES-DE Windows Linux macOS 3.0.2 HTPC
Playnite Windows 10.33 WIMP, HTPC
Nostlan Windows Linux macOS 2.5 WIMP, HTPC, Touch ~
Lutris Linux 0.5.7.1 WIMP ~
Simple Launcher Windows 2.15.1 WIMP
All Stars Launcher Windows 2024.030 WIMP
mGalaxy Windows 10.1 HTPC
Pegasus Windows Linux macOS Alpha 16 HTPC ~
GameEx Windows 18.64 (Free)
Lifetime pass ($60)
HTPC
GameHub Linux 0.16.3-6-dev WIMP ~
Attract-Mode Windows Linux macOS 2.7.0 HTPC
QuickPlay Windows 4.7.6 WIMP
SimUI Windows macOS 3.1 (Windows)
2.6 (macOS)
WIMP
RetroFE Windows Linux macOS 0.10.31 HTPC
EmulationStation Windows Linux 2.0.1a
3.0.3 (RetroPie fork)
HTPC
Metropolis Launcher Windows git WIMP
FEEL Windows 1.9.8.5 HTPC
skeletonKeY Windows git WIMP, CLI
HyperSpin Windows 1.5.1 HTPC
Emu Loader Windows 8.9.4 WIMP
Terminal Launch Windows 0.0.40b CLI
Maximus Arcade Windows ?.? (30-day trial)
Licenced ($24.99)
HTPC
EmuCon Windows 2.7.7 WIMP
EmuCenter 2 Windows 7.1.0.1
Dev 7.1.0.232
WIMP
LusSpace Windows 1.23 WIMP
Mobile / ARM
Dig Android 1.44.3 (IAP) Touch
Daijishō (台字章) Android 1.4.67 HTPC, Touch
ES-DE Android 3.0.2 Touch
EmulationStation Linux ARM 2.0.1a
3.0.3 (RetroPie fork)
HTPC [A 2] ~[A 2]
Attract-Mode Linux ARM 2.7.0 HTPC TBD
Pegasus Android Linux ARM Alpha 16 HTPC, Touch TBD
RESET Collection Android 1.1.29 ($4.99) Touch TBD
ARC Browser Android 1.26.1 ($7.49) Touch TBD
HyperSpin Android 1.1 Touch TBD
  1. This feature is called Big Box and is only available in the paid premium version.
  2. 2.0 2.1 Only the RetroPie fork

Comparisons[edit]

LaunchBox
LaunchBox-Screenshot-Nintendo-64.jpg
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.
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 slowdown 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.
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.

Integrated emulator types[edit]

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) FOSS Active Recommended
PC / x86
OpenEmu macOS 2.4.1 WIMP
EmuDeck Windows Linux 2.1.0 HTPC
Lakka Linux 5.0 HTPC
RetroPie Linux [I 1] 4.8 HTPC ~
BizHawk Windows 2.9.1 WIMP ~ TBD
RetroBat Windows 6.3.0 HTPC TBD
Provenance iOS AppleTV 2.2.0 HTPC TBD
Mobile / ARM
RetroPie Linux ARM 4.8 HTPC
Lakka Linux ARM 5.0 HTPC

-

EmuDeck Android 2.1.0 HTPC TBD
Consoles
CoinOPS Xbox ?? HTPC ? TBD TBD
  1. RetroPie for x86 Linux is only available in Ubuntu (16.04 LTS or later) and Debian based distros. See these install instructions.

Comparisons[edit]

OpenEmu
A frontend for various emulators that run under macOS.

Launcher mods[edit]

These programs aren't launchers themselves, but instead tools for changing other launchers.

Name Platform(s) Latest Version FOSS Active Recommended
PC / x86
Steam ROM Manager Windows Linux macOS 2.4.17
Ice Windows 1.0.0

Comparisons[edit]

Steam ROM Manager
A tool that adds emulator launching capabilities to the Steam client.

Project-specific Frontends[edit]

Libretro[edit]

Name Platform(s) Latest Version Core support Interface(s) FOSS Active Recommended
PC / x86
RetroArch Windows Linux macOS Web 1.19.1 Full[B 1] HTPC, WIMP[B 2]
Ludo Windows Linux macOS 0.17.2 Most non GL cores HTPC
Games (Gnome) Linux 3.36 Limited WIMP ~
RetriX Windows 2.1.77.0 Limited WIMP, Touch ~ ~
minir Windows Linux git Limited WIMP ~
Phoenix Windows Linux macOS git (pre-alpha) Limited WIMP
Mobile / ARM
RetroArch Android iOS AppleTV Linux ARM SteamLink Web 1.19.1 Full [B 1] HTPC, Touch
Blast16 Linux ARM 1.0.18 (2020-01-18) Genesis Plus GX, PicoDrive HTPC
SNESES Linux ARM 1.0.7 (2020-01-22) Snes9X? HTPC
Ludo Linux ARM git Most non GL cores HTPC
RetriX Windows Windows 10 Phone 2.1.77.0 Limited WIMP, Touch ~ ~ ~
Lemuroid Android 1.15.0 Limited Touch
Consoles
RetroArch Xbox One Xbox PlayStation 4 PlayStation 3 PlayStation 2 Vita PSP Switch Wii U Wii GameCube Nintendo 3DS 1.19.1 Full[B 1] HTPC
RetriX Xbox One [1] Limited HTPC ~ ~
  1. 1.0 1.1 1.2 Limited by system hardware
  2. Press F5 for WIMP interface. Only available on Windows and Linux.

Comparison[edit]

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[edit]

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) FOSS Active Recommended
PC / x86
MAMEUI64 Windows 0.266 WIMP TBD
pfeMAME Windows Linux v2.30.5 WIMP TBD
Erockus Arcade Windows macOS 12.1 WIMP ? TBD
QMC2 Windows Linux macOS FreeBSD 0.195 HTPC TBD
gnome-arcade Linux v.0.256 WIMP TBD
IV/Play Windows 1.8.5.0 WIMP
Negatron Windows Linux macOS 0.100.1 WIMP
M+GUI Windows Linux 1.8.2 WIMP
MameFave Windows Latest WIMP

Comparison[edit]

MAMEUI
MAMEUI64 is a current name of MAME32, the original MAME GUI for Windows. As it dates back to 1997, it had additional bugs compared to mainline MAME, lacked several features of modern MAME or made it difficult to use them via GUI, and did not scale properly to high resolutions. The MAME developers did 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.
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.
QMC2
QMC2 is a multi-platform MAME/MESS/UME frontend.
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.
IV/Play
IV/Play (pronounced "Four Play") was designed and commissioned by John IV as an alternative to MAMEUI. It has a narrow and particular feature set, is keyboard-driven, and utilises many of the navigation and keyboard shortcuts of MAMEUI. It is available as a combo x64/x86 app and is targeted towards Windows 8.1 with leveraged features like Jump List support. IV/Play is decoupled from setting MAME options directly in an effort to future-proof and guard against continual core command line changes[1].
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.
MameFave
A Windows-only frontend launched in March 2022[2]. 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.




DOSBox[edit]

Because DOSBox doesn't have a GUI, projects were made to fulfill that role. More about them: DOSBox Wiki.

Name Platform(s) Latest Version Interface(s) FLOSS Active Recommended
PC / x86
DOSBox Game Launcher Windows Linux macOS 0.98 WIMP
LaunchBox Windows 13.15 (Free)
Premium ($75)
WIMP, HTPC[A 1] ~
D-Fend Reloaded Windows 1.4.4 WIMP
IA Launcher Windows Linux macOS 2.2.1 WIMP
D-Fend Windows 2.0.6.2 (Build 42) WIMP
CBoxRun Windows 0.51 WIMP
  1. This feature is called Big Box and is only available in the paid premium version.

Comparison[edit]

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 build 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[edit]

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) FOSS Active Recommended
PC / x86
Mednaffe Windows Linux 0.9.3 WIMP
MedGui Reborn Windows 0.125 WIMP
MedLaunch Windows 0.5.25.3 WIMP
MedGui Windows 1.99999 WIMP

Comparison[edit]

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[edit]

Name Platform(s) Latest Version Emulator Interface(s) FOSS Active Recommended
PC / x86
Mupen64Plus-Qt Windows Linux macOS git Mupen64Plus WIMP TBD
simple64-gui / simple64 Windows Linux git (frontend only)
2024.06.2 (simple64 package)
Mupen64Plus WIMP TBD
CEN64-Qt Windows Linux macOS git CEN64 WIMP TBD
Sega Model 2 UI Windows WIP 2019-04-02 Model 2 Emulator WIMP ? TBD
Sega Model 3 UI Windows -r886 Supermodel WIMP ? TBD
SupermodelsAssistant Windows 0.12 Supermodel WIMP ? TBD
MedSat Windows 1.8 Mednafen (Saturn core) ? ? TBD
Dapplegrey macOS 7.10 DOSBox WIMP ? TBD

See also[edit]

References[edit]