RetroArch
RetroArch is a free, open-source and cross-platform front-end for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.
RetroArch runs programs converted into dynamic libraries called libretro cores, using several user interfaces such as command-line interface, a few graphical user interfaces optimized for gamepads, several input, audio and video drivers, plus other sophisticated features like dynamic rate control, audio filters, multi-pass shaders, netplay, gameplay rewinding, cheats, etc.
RetroArch has been ported to many platforms. It can run on several PC operating systems, home consoles, handheld consoles, on smartphones, single-board computers and even on web browsers by using the Emscripten compiler.
History
Formerly known as SSNES, initially based on pseudonymous programmer byuu's libretro predecessor libsnes, it began its development in 2010 with Hans-Kristian "themaister" Arntzen committing the first change on GitHub. It was intended as a replacement to bsnes's Qt-based interface but it grew to support more emulation "cores". On April 21, 2012, SSNES was officially renamed to RetroArch to reflect this change in direction.RetroArch's version 1.0.0.0 was released on January 11, 2014 and at the time was available on 7 distinct platforms.
On February 16, 2016, RetroArch became one of the first ever applications to implement support for the Vulkan graphics API, having done so on the same day of the API's official release day.
On November 27, 2016, the Libretro Team announced that, alongside , RetroArch would be on the Patreon crowdfunding platform to allow providing bounties for developers who fix specific software bugs and to cover the costs for matchmaking servers.
On December, 2016, GoGames – a company contracted by video game developer and publisher Sega – approached the RetroArch developers with the intention of using their software in their SEGA Forever project but ultimately the cooperation did not come to fruition due to licensing disagreements.
In April 2018 Input Lag Compensation was added.
The Libretro team plans to release RetroArch onto Steam as a free download, integrating Steamworks features into the platform in July 2019. It will be the first major dedicated emulation title to be released on the platform.
Features
Its major features include:- Advanced GPU shader support - A multi-pass post-processing shader pipeline to allow efficient usage of image scaling algorithms, emulation of complex CRT, NTSC video artifacts and other effects;
- to synchronize video and audio while smoothing out timing imperfections;
- FFmpeg recording - Built-in support for lossless video recording using FFmpeg's libavcodec;
- Gamepad abstraction layer called Retropad;
- Gamepad auto-configuration - Zero-input needed from the user after plugging gamepads in;
- Peer-to-peer netplay that uses a rollback technique similar to GGPO;
- Audio DSP plugins like an equalizer, reverb and other effects;
- Advanced savestate features - Automatic savestate loading, disabling SRAM overwriting, etc.;
- Frame-by-frame gameplay rewinding;
- Button overlays for touchscreen devices like smartphones;
- Thumbnails of game box art;
- Low input and audio lag options;
- Automatically build categorized playlists by scanning directories for games/ROMs;
- Multiple interfaces including: CLI, XMB, GLUI/MaterialUI and RGUI ;
- Game ROM scanner - Automatically constructs playlists by comparing the hashsums of a directory's files against databases of hashsums of known good game copies.
- Libretro database of cores, games, cheats, etc.
- OpenGL and Vulkan API support.
- Achievement tracking - Integration with the RetroAchievements service to unlock trophies and badges.
Supported systems
Below is a non-exhaustive table of which systems are available to RetroArch and what project the core is based on:
System | Based on |
3DO | 4DO |
Arcade | MAME MESS FB Neo FinalBurnAlpha |
Amstrad CPC | Caprice32 CrocoDS |
Atari 2600 | Stella |
Atari 5200 | Atari800 |
Atari 7800 | ProSystem |
Atari Jaguar | Virtual Jaguar |
Atari Lynx | Mednafen Handy |
Atari Falcon | Hatari |
ColecoVision | blueMSX |
Commodore 64 | VICE |
Dreamcast | Redream Flycast |
Famicom Disk System | Nestopia higan |
Game Boy / Color | Emux Gambatte SameBoy TGB Dual higan |
Game Boy Advance | Mednafen gpSP Meteor mGBA VisualBoyAdvance |
GameCube | Dolphin |
Game Gear | Genesis Plus GX |
MSX | fMSX blueMSX |
Neo Geo Pocket / Color | Mednafen |
NEC PC-98 | Neko Project II |
Nintendo 64 | Mupen64Plus |
Nintendo Entertainment System | higan Emux FCEUmm Nestopia UE QuickNES |
Nintendo DS | DeSmuME melonDS |
Nintendo 3DS | Citra |
Odyssey² | O2EM |
PC-FX | Mednafen |
32X | Picodrive |
Mega CD/Sega CD | Genesis Plus GX |
Mega Drive/Genesis | Genesis Plus GX |
Master System | PicoDrive Genesis Plus GX |
PlayStation Portable | PPSSPP |
PlayStation | Mednafen PCSX ReARMed |
PlayStation 2 | |
Pokémon Mini | PokeMini |
Sega Saturn | uoYabause Mednafen |
Super NES | Bsnes higan Snes9x |
Thomson computers | |
TurboGrafx-16 / SuperGrafx | Mednafen |
TurboGrafx-CD | Mednafen |
Vectrex | VecXGL |
Virtual Boy | Mednafen |
Wii | Dolphin |
WonderSwan | Mednafen |
ZX Spectrum | Fuse |
ZX81 | EightyOne |
Below is a non-exhaustive list of things that don't fit in the list above, such as individual games, libraries, or programming languages.
Bomberman | Mr. Boom |
Cave Story | NXEngine |
CHIP-8 | Emux |
Doom | PrBoom |
FFmpeg | FFmpeg |
Quake 1 | TyrQuake |
Tomb Raider | OpenLara |
Reception
RetroArch has been praised for the number of systems and games it can play under a single interface.It has been criticized for how difficult it is to configure, due to the extensive number of options available to the user, and at the same time has been praised for the more advanced features it possesses.
On Android, it has been praised for the fact that overlays can be customized, for the expandability of the libretro cores it supports, for its compatibility with several USB and Bluetooth controller peripherals, in addition to the app being free and having no ads.
Tyler Loch, writing for Ars Technica, said that RetroArch's 'Input Lag Compensation' mode is "arguably the biggest improvement to the experience the retro gaming community has yet seen".