Frontends

From Emulation General Wiki
Revision as of 22:49, 4 December 2023 by Alexorbro (talk | contribs) (Others)
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.

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

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.16 (Free)
Premium ($75)
WIMP, HTPC[A 1]
EmulationStation Desktop Edition Windows Linux macOS 2.2.1 HTPC
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.1.0 (RetroPie fork)
HTPC [A 2] ~[A 2]
Lutris Linux 0.5.7.1 WIMP ~
Nostlan Windows Linux macOS 2.3 WIMP, HTPC, Touch ~
skeletonKeY Windows git WIMP, CLI ~
Playnite Windows 10.34 WIMP, HTPC ~
Pegasus Windows Linux macOS Alpha 16 HTPC
HyperSpin Windows 1.5.1 HTPC
GameHub Linux 0.16.2 WIMP
GameEx Windows 18.64 (Free)
Lifetime pass ($60)
HTPC
mGalaxy Windows 8.5 HTPC
Emu Loader Windows 8.8.3 WIMP
Terminal Launch Windows 190905 CLI
Metropolis Launcher Windows git WIMP
FEEL Windows 1.9.8.5 HTPC
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 [https://play.google.com/store/apps/details?id=com.digdroid.alman.dig 1.40.8 (IAP) ] Touch
EmulationStation Linux ARM 2.0.1a
3.1.0 (RetroPie fork)
HTPC [A 2] ~[A 2]
Daijishō Android 1.3.1 HTPC, Touch TBD
Attract-Mode Linux ARM 2.6.1 HTPC TBD
Pegasus Android Linux ARM Alpha 15 HTPC, Touch TBD
RESET Collection Android 1.1.19 ($4.99) 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 2.2 2.3 Only the RetroPie fork

Comparisons

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

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.

Name Platform(s) Latest Version Interface(s) FOSS Active Recommended
PC / x86
OpenEmu macOS 2.4.1 WIMP
Lakka Linux 5.0 HTPC
RetroPie Linux [I 1] 4.8 HTPC ~
BizHawk Windows 2.10-rc1 WIMP ~ TBD
Provenance iOS AppleTV 2.2.0 HTPC TBD
Mobile / ARM
RetroPie Linux ARM 4.8 HTPC
Lakka Linux ARM 5.0 HTPC
Consoles
CoinOPS Xbox ?? HTPC ? TBD TBD
  1. RetroPie for x86 Linux is only available Ubuntu (16.04 LTS or later) and Debian based distros. See these install instructions.

Comparisons

OpenEmu
A frontend for various emulators that runs under macOS.

Launcher mods

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.3.11
Ice Windows 1.0.0

Comparisons

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

Project-specific Frontends

Libretro

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

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

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
IV/Play Windows 1.8.5.0 WIMP TBD
pfeMAME Windows Linux v2.29.4 WIMP TBD
Erockus Arcade Windows macOS 11.5 WIMP ? TBD
QMC2 Windows Linux macOS FreeBSD 0.195 HTPC TBD
gnome-arcade Linux v.0.256 WIMP TBD
MAMEUI64 Windows 0.248 WIMP
Negatron Windows Linux macOS 0.100.1 WIMP
M+GUI Windows Linux 1.8.2 WIMP
MameFave Windows Latest WIMP

Comparison

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 utilities many of the navigation and keyboard short cuts 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].
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.
MAMEUI
Currently unmaintained, MAMEUI64 was the 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.
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

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.97 WIMP
LaunchBox Windows 13.16 (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

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

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.

Name Platform(s) Latest Version Interface(s) FOSS Active Recommended
PC / x86
MedGui Reborn Windows 0.125 WIMP
Mednaffe Windows Linux 0.9.3 WIMP ~
MedLaunch Windows 0.5.25.3 WIMP
MedGui Windows 1.99999 WIMP

Comparison

MedGui Reborn
Last survivor and with active developing. New versions appears 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. Reincarnation of the ancient MedGui.
Mednaffe
Arguably has a better interface than the MedGui Reborn, as well as Linux support. Mednaffe's creator claims what it isn't dead, but development is currently inactive.
MedLaunch
Old and dead. Totally not recommended.
MedGui
Original one is history now, but it was revived as MedGui Reborn.




Others

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

References