Tooling

Emulators (Multi-system Frontends)

RetroArch, Batocera, EmulationStation Desktop Edition, OpenEmu, Lakka, RecalBox — the all-in-one frontends that wrap dozens of console cores.

The "I want one app that runs every system" layer. For per-console picks see Nintendo emulators, Sony emulators, and misc / PC / arcade. For ROM hash-checking and metadata scraping see ROM management. For Steam Deck-shape Linux distros built around these frontends see Linux / SteamOS / Deck. The Pi flavors of Lakka / Batocera / RecalBox live under Pi OS Distributions and the broader Pi retro context under Pi Classic Projects. For a developer-side view of the engines these games originally ran on see Game Development.

The 2024–26 reality: RetroArch is still the libretro mothership but the frontend wars have settled — EmulationStation Desktop Edition (ES-DE) is the polished cross-platform UI most enthusiasts now layer on top, Batocera is the dominant turnkey distro, and EmuDeck (see Linux / SteamOS / Deck) auto-installs all of this on a Steam Deck in one click.

The libretro core ecosystem

  • ★ ★ RetroArch — GPL-3.0 / mixed-license OSS; Win/Mac/Linux/Android/iOS (post-EU-DMA + Apple policy reversal)/consoles. The universal frontend for the libretro API. Hundreds of cores: Nestopia, Snes9x, Genesis Plus GX, Beetle PSX, mGBA, melonDS, ParaLLEl-N64, Mupen64Plus-Next, PCSX-ReARMed, Flycast, plus standalone-also-libretro builds of Dolphin, PCSX2, DuckStation, Citra (and forks), and more. CRT shaders, run-ahead latency reduction, save-state rewind, RetroAchievements integration, netplay. Honest flag: notoriously complex menu — most newcomers want Batocera or ES-DE on top.
  • libretro — the API itself; OSS. Anyone can ship a libretro core; that's why the catalog is huge.

Frontends that wrap RetroArch (or run their own cores)

  • EmulationStation Desktop Edition (ES-DE) — free OSS; Win/Mac/Linux/Android. The community continuation of the long-running ES frontend, with a far cleaner UI, theme system (Slate, Modern, Retro), built-in scraper, and per-system core preferences. The default "pretty grid of game art" frontend most enthusiasts now choose. Pairs with RetroArch + standalone emulators.
  • Batocera.linux — free OSS; Linux distro. Boot a USB or install on a mini-PC / handheld and you have RetroArch + ES + scrapers + dozens of cores configured out of the box. Powers most "retro arcade cabinet" builds in 2025-26. Runs on x86, ARM, Pi, Apple Silicon, RK3588 handhelds, etc.
  • Lakka — free OSS; LibreELEC-based Linux distro = RetroArch only with no other UI. Lighter than Batocera; rigid. Good if you want a single-purpose RetroArch box.
  • RecalBox — free OSS; Linux distro; kid-friendly defaults, tighter curation than Batocera, smaller core list. The "set up grandkid's console" pick.
  • OpenEmu — free OSS; Mac-only. Beautifully native macOS app with an Apple-style library and per-system cores (mGBA, Mupen64Plus, etc.). Lags on cutting-edge cores vs RetroArch but the polish is unmatched on Mac.
  • LaunchBox / BigBox — free + paid Win; "Big Box" arcade-cabinet mode is paid (~$50 lifetime / $30/yr Premium). Massive theme community; the Windows MAME-cabinet default historically. ES-DE has cooled its momentum.
  • Pegasus Frontend — free OSS; cross-platform; QML-themable, lighter than ES-DE, smaller theme catalog.
  • AttractMode — free OSS; long-running attract-mode-style frontend, popular in MAME cabinet builds.

Pi / SBC-shape frontends

  • RetroPie — free OSS; Raspberry Pi OS overlay; EmulationStation + RetroArch + dozens of cores. The classic Pi retro distro. Pi 4 sweet spot. See Pi Classic Projects and Pi OS Distributions.
  • Batocera on Pi — see above; a more polished out-of-box alternative to RetroPie on Pi 4 / Pi 5.
  • Knulli — Batocera-shape custom firmware for Anbernic / handheld hardware — see Retro handheld firmware.

Choosing a stack

  • Just want it to work, plug into TV: Batocera on a $80 mini-PC or used Intel NUC.
  • Already on Steam Deck / SteamOS: EmuDeck auto-installs ES-DE + RetroArch + standalones.
  • Polished desktop frontend on existing Win/Mac/Linux PC: ES-DE on top of RetroArch + standalones.
  • Mac-native lover: OpenEmu.
  • Pi 4 in a NES shell / arcade build: RetroPie or Batocera.
  • MAME cabinet: Batocera or LaunchBox/BigBox.

Pick this if…

  • Default "all systems, OSS, cross-platform": RetroArch + ES-DE.
  • Default "all systems, turnkey distro on dedicated hardware": Batocera.
  • Mac, native, beautiful: OpenEmu.
  • Cabinet / MAME-leaning Windows: LaunchBox/BigBox.
  • Pi: RetroPie or Batocera Pi build.
  • Single-purpose RetroArch box: Lakka.

On this page