Frontends

From Emulation General Wiki
Revision as of 11:54, 9 October 2020 by Jpx (talk | contribs)
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) FOSS Active Recommended
PC / x86
LaunchBox Windows 13.12 (Free)
Premium ($75)
WIMP, HTPC[A 1]
Attract-Mode Windows Linux macOS 2.6.1 HTPC
QuickPlay Windows 4.7.5 WIMP
RetroFE Windows Linux macOS 0.10.0 HTPC ~
EmulationStation Windows Linux 2.0.1a
3.0.1 (RetroPie fork)
HTPC [A 2] ~[A 2]
Nostlan Windows Linux macOS 2.4.3 WIMP, HTPC, Touch ~
skeletonKeY Windows 0.99x WIMP, CLI ~
Pegasus Windows Linux macOS Alpha 13 HTPC
HyperSpin Windows 1.5.1 HTPC
Lutris Linux 0.5.7.1 WIMP
GameHub Linux 0.16.0 WIMP
Playnite Windows 7.9 WIMP, HTCP
GameEx Windows 16.40 (Free)
Lifetime pass ($60)
HTPC
mGalaxy Windows 7.6 HTPC
Emu Loader Windows 8.8.3 WIMP
Terminal Launch Windows 190905 CLI
Metropolis Launcher Windows 1.2.0 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.38.3 (IAP) ] Touch
EmulationStation Linux ARM 2.0.1a
3.0.1 (RetroPie fork)
HTPC [A 2] ~[A 2]
Attract-Mode Linux ARM 2.6.1 HTPC TBD
Pegasus Android Linux ARM Alpha 13 HTPC, Touch TBD
RESET Collection Android 1.0.12 ($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. For emulation it's not yet at the same level as LaunchBox. For something similar on Linux, check out Lutris.
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.
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
BizHawk Windows 2.9.1 WIMP ~ TBD
RetroPie Linux [I 1] 4.8 HTPC ~
Lakka Linux 4.3 HTPC
Mobile / ARM
RetroPie Linux ARM 4.8 HTPC
Lakka Linux ARM 4.3 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.2.22
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.18.0 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 0.0.1 (pre-alpha) Limited WIMP
Mobile / ARM
RetroArch Android iOS AppleTV Linux ARM SteamLink Web 1.18.0 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 0.11.2 Most non GL cores HTPC
RetriX Windows Windows 10 Phone 2.1.77.0 Limited WIMP, Touch ~ ~ ~
Lemuroid Android 1.6.0 Limited Touch TBD
Consoles
RetroArch Xbox One Xbox PlayStation 4 PlayStation 3 PlayStation 2 Vita PSP Switch Wii U Wii GameCube Nintendo 3DS 1.18.0 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.
Ludo
A minimalist HTPC frontend with sane default settings, configuration is always optional. It's like an easier to use version of RetroArch.
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
QMC2 Windows Linux macOS FreeBSD 0.195 HTPC TBD
MAMEUI64 Windows 0.264 WIMP TBD
Negatron Windows Linux macOS 0.100.1 WIMP TBD
gnome-arcade Linux Git WIMP TBD
pfeMAME Windows Linux Latest WIMP TBD
M+GUI Windows Linux 1.8.2 WIMP
Mobile / ARM

Comparison

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




Mednafen

Mednafen is a command line program with no graphical interface whatsoever. These programs generally ease the process of launching games, but doesn't address things like controller configuration which is done by pressing hotkeys in-game.

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




Others

Name Platform(s) Latest Version Emulator Interface(s) FOSS Active Recommended
PC / x86
Mupen64Plus-Qt Windows Linux macOS 1.14 Mupen64Plus WIMP TBD
mupen64plus-gui / m64p Windows Linux Git (frontend only)
Template:M64pVer (m64p package)
Mupen64Plus WIMP ? TBD
CEN64-Qt Windows Linux macOS 20200219-alpha CEN64 WIMP TBD
Sega Model 2 UI Windows WIP 2019-04-02 Model 2 Emulator WIMP ? TBD
Sega Model 3 UI Windows WIP 2019-04-12 Supermodel WIMP ? TBD
SupermodelsAssistant Windows 0.12 Supermodel WIMP ? TBD
MedSat Windows 1.8 Mednafen (Saturn core) ? ? TBD

See also