|Developer(s)||The Libretro Team|
|Initial release||May 26, 2010|
1.8.1 / November 3, 2019
|Written in||C, C++|
|Operating system||Linux, Android, iOS, FreeBSD, macOS, Nintendo Switch, Windows 95 and later, Xbox (console), Xbox One, Nintendo 3DS, Nintendo 2DS, Nintendo Gamecube, Nintendo Wii, Nintendo Wii U, PlayStation 3, PlayStation 2, PlayStation Vita, PlayStation Portable, tvOS|
|Platform||IA-32 (x86), x86-64 (x64), ARMv7, AArch64, PowerPC, MIPS, Cell|
|Available in||English, Chinese, German, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Vietnamese, Turkish|
|Type||Video game console emulator|
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 (GUI) optimized for gamepads (the most famous one being called XMB, a clone of Sony's XMB), 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 (Windows, macOS, Linux), home consoles (PlayStation 3, Xbox 360, Wii U, etc.), handheld consoles (PlayStation Vita, Nintendo 3DS, etc.), on smartphones (Android, iOS, etc.), embedded systems (Raspberry Pi, ODROID, etc.) and even on web browsers by using the Emscripten compiler.
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 22.214.171.124 was released on January 11, 2014 and at the time was available on 7 distinct platforms.
On November 27, 2016, the Libretro Team announced that, alongside Lakka (LibreELEC-based RetroArch operating system), 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.
Its major features include:
- Advanced GPU shader support - A multi-pass post-processing shader pipeline allows efficient use of image scaling algorithms, emulation of complex CRT, NTSC video artifacts and other effects;
- Dynamic Rate Control 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-configuration needed from the user after plugging a gamepad 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 overwritting, etc.;
- Frame-by-frame gameplay rewinding at the press of a button;
- 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 (optimized for gamepads), GLUI/MaterialUI (optimized for touch devices) and RGUI (available everywhere);
- 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.
RetroArch can run any libretro core. While RetroArch is available for many platforms, the availability of a specific core varies per platform.
Below is a non-exhaustive table of which systems are available to RetroArch and what project the core is based on:
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.
- "libretro/RetroArch". GitHub.
- "libretro/libretro-samples". GitHub.
- "Home – Libretro". www.libretro.com. Retrieved 2017-08-02.
- "RetroArch". www.retroarch.com. Retrieved 2017-08-02.
- "Lakka documentation - Hardware support". www.lakka.tv. Retrieved 2017-08-02.
- "The retroarch PS Vita port we won't talk about". Wololo.net. 2015-09-20. Retrieved 2017-08-02.
- "Download RetroArch Emulator IPA On iOS 10 [No Jailbreak Required]". Redmond Pie. 2017-07-17. Retrieved 2017-08-05.
- "RetroArch Web Player". buildbot.libretro.com. Retrieved 2017-08-02.
- "Libsnes - libretro/snes9x2010 Wiki". GitHub.
- "SSNES · libretro/RetroArch@eed8e2b". GitHub. Retrieved 2017-08-02.
- "SSNES - The SNES emulator that sucks less. / Community Contributions / Arch Linux Forums". bbs.archlinux.org. Retrieved 2017-08-02.
- "SSNES · libretro/RetroArch@9ab51ad2". GitHub. Retrieved 2017-08-16.
- "RetroArch v126.96.36.199 release information – Libretro". www.libretro.com. Retrieved 2017-08-02.
- "Day 1 Vulkan support – Libretro". www.libretro.com. Retrieved 2017-08-02.
- "We are now on Patreon! – Libretro". www.libretro.com. Retrieved 2017-08-02.
- Matulef, Jeffrey (2017-06-21). "Sega releases classic games on mobile, for free, but at what cost?". Eurogamer. Retrieved 2017-08-03.
- Robinson, Martin (2017-06-26). "Sega defends Sega Forever launch after fan outcry". Eurogamer. Retrieved 2017-08-03.
- "Better than reality: New emulation tech lags less than original consoles".
- Machkovech, Sam (July 13, 2019). "RetroArch will be Steam's biggest emulation launch yet, coming July 30". Ars Technica. Retrieved July 13, 2019.
- "RetroArch". retroarch.com. Retrieved 2017-08-02.
- "ROMs, Playlists, and Thumbnails - Libretro Docs". docs.libretro.com.
- "libretro/libretro-database". GitHub.
- "How to Set Up RetroArch, The Ultimate All-In-One Retro Games Emulator". Retrieved 2017-08-03.
- Klosowski, Thorin. "How to Set Up an All-In-One Retro Game Emulator with RetroArch". Lifehacker. Retrieved 2017-08-03.
- "The NES Classic is sold out, but these emulators do the same thing for free". Digital Trends. 2017-03-31. Retrieved 2017-08-03.
- Dachis, Adam. "RetroArch Emulates Nearly Every Classic Gaming Console on Android". Lifehacker. Retrieved 2017-12-26.
- "Eight Advanced RetroArch Features that Make Retro Gaming Great Again". Retrieved 2017-08-03.
- "RetroArch Emulates NES, Playstation, Gameboy Color/Advance And A Whole Lot More [Android]". MakeUseOf. Retrieved 2017-12-26.