RetroArch
Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
RetroArch is a single app that runs dozens of game emulators via a plugin system called cores, covering consoles from Super Nintendo to PlayStation 4, with rewind, visual shaders, and a gamepad-friendly menu.
RetroArch is a program that lets you run video game emulators and game engines through a single, unified interface. Instead of installing a separate emulator for each old gaming console you want to play, you install RetroArch once and then load individual plugins called "cores." Each core handles a specific system: one core might emulate a Super Nintendo, another an original PlayStation, and so on.
The project is built around an open standard called libretro. This is a programming interface that any developer can use to write an emulator or game engine in a compatible way. RetroArch itself is the main program that wraps around these cores and handles the parts all of them need: displaying video on screen, playing audio, reading input from a controller or keyboard, and managing saves.
RetroArch runs on an unusually wide range of hardware. The platform list in the README includes Android, iOS, macOS, Windows (going back to Windows 95), Linux, PlayStation 2 through PlayStation 4, Nintendo GameCube, Wii, Switch, Nintendo 3DS, Xbox consoles from the original through the Series S/X, Raspberry Pi, and many more niche platforms. The project treats portability as a core design goal.
Beyond basic emulation, RetroArch adds features that most standalone emulators do not have. These include real-time rewind (letting you reverse gameplay like rewinding a video), visual filter effects called shaders (which change how old pixelated graphics appear on modern screens), video recording, and run-ahead (a technique that reduces input lag). It also has a full-featured gamepad-friendly menu system with multiple visual styles.
There are no hard dependencies on any specific library. On Windows, it can run with only the core Windows system. On other platforms it picks up whatever audio and video libraries are available.
Where it fits
- Replace a collection of separate console emulators with one RetroArch installation managed through a single unified interface
- Apply visual shader effects to make retro pixel graphics look better on modern high-resolution screens
- Use the rewind feature to undo mistakes in difficult retro games without manually saving states
- Run classic game emulation on a Raspberry Pi or retro gaming console using RetroArch's wide platform support