RetroArch runs programs converted into dynamic libraries called libretro cores, using severaluser interfaces such ascommand-line interfaces, a fewgraphical user interfaces optimized forgamepads, several input, audio and video drivers, and other sophisticated features such as dynamic rate control, audio filters, multi-passshaders,netplay, gameplay rewinding, cheats, etc.
Formerly known as SSNES, initially based on pseudonymous programmerNear's predecessorlibsnes,[8] it began its development in 2010 with Hans-Kristian "Themaister" Arntzen committing the first change onGitHub.[9] It was intended as a replacement tobsnes'sQt-based interface[10] but it grew to support more emulation "cores". On April 21, 2012, SSNES was officially renamed[11] 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 seven distinct platforms.[12]
On February 16, 2016, RetroArch became one of the first ever applications to implement support for theVulkan graphics API, having done so on the same day of the API's official release day.[13]
On November 27, 2016, the Libretro Team announced that, alongside Lakka (LibreELEC-based RetroArchoperating system), RetroArch would be on thePatreon crowdfunding platform to allow providing bounties for developers who fix specificsoftware bugs and to cover the costs formatchmaking servers.[14]
In December 2016, GoGames – a company contracted by video game developer and publisherSega – 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.[15][16]
In April 2018, an input lag compensation feature called "Run-Ahead" was added.[17]
The Libretro Team planned to release RetroArch ontoSteam as a free download, integrating Steamworks features into the platform in July 2019. It would have been the first major dedicated emulation title to be released on the platform at the time.[18]
In 2020, theparaLLel libretro core for RetroArch used the GPU to run theNintendo 64 at full speed on common consumer hardware, withupscaled graphics and the accuracy of bit-exact low-level renderer Angrylion.
In August 2020, someone impersonating a trusted member of the team got access to the buildbot server and the GitHub account for the libretro organization, causing vandalism and server wipes.[19]
Advanced GPUshader support – A multi-pass post-processing shaderpipeline to allow efficient usage ofimage scaling algorithms, emulation of complexCRT,NTSC video artifacts and other effects;
Dynamic rate control to synchronize video and audio while smoothing out timing imperfections;[23]
Automatically build categorized playlists by scanning directories for games/ROMs;
Multiple interfaces including:CLI, XMB (optimized forgamepads), GLUI/MaterialUI (optimized for touch devices), RGUI and Ozone (available everywhere);
Game ROM scanner – Automatically constructsplaylists by comparing thehashsums of adirectory's files against databases of hashsums of known good game copies;[25]
Libretrodatabase of cores, games, cheats, etc.;[26]
RetroArch has been praised for the number of systems and games it can play under a singleinterface.[29][30][31][32]
It has been criticized for how difficult it is to configure, due to the extensive number of options available to the user,[30][29] and at the same time has been praised for the more advanced features it possesses.[33]
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.[32][34]
Kyle Orland, writing forArs Technica, said that RetroArch's 'Run-Ahead' feature is "arguably the biggest improvement to the experience the retro gaming community has yet seen".[17]