RetroArch is a
free and open-source
Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
,
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
frontend for
emulator
In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run sof ...
s,
game engine
A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
s,
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s,
media players
Media player may refer to:
*Digital media player, home appliances that play digital media
*Media player software, software that plays digital media
*Portable media player, portable hardware that plays digital media
*Windows Media Player
Windo ...
and other applications. It is the reference implementation of the libretro
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
, 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 interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
s such as
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
s, a few
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
s optimized for
gamepad
A gamepad is a type of video game controller held in two hands, where the fingers (especially thumbs) are used to provide input. They are typically the main input device for video game consoles.
Features
Some common additions to the standar ...
s, several input, audio and video drivers, and other sophisticated features such as dynamic rate control, audio filters, multi-pass
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
s,
netplay, gameplay rewinding, cheats, etc.
RetroArch has been ported to many platforms. It can run on several
PC operating systems,
home consoles
A home video game console is a video game console that is designed to be connected to a display device, such as a television, and an external power source as to play video games. While initial consoles were dedicated units with only a few game ...
,
handheld consoles,
smartphones
A smartphone is a mobile phone with advanced computing capabilities. It typically has a touchscreen interface, allowing users to access a wide range of applications and services, such as web browsing, email, and social media, as well as mult ...
,
smart TV
A smart TV, also known as a connected TV (CTV or, rarely, CoTV), is a traditional television set with integrated Internet and interactive Web 2.0 features that allow users to stream music and videos, browse the internet, and view photos. Smart T ...
's,
single-board computers
A single-board computer (SBC) is a complete computer built on a single circuit board, with microprocessor(s), memory, input/output (I/O) and other features required of a functional computer. Single-board computers are commonly made as demonstr ...
and
web browsers
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scree ...
. , versions for
PlayStation 4
The PlayStation 4 (PS4) is a home video game console developed by Sony Interactive Entertainment. Announced as the successor to the PlayStation 3 in February 2013, it was launched on November 15, 2013, in North America, November 29, 2013, in ...
and
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
are not out yet, but are available unofficially.
History
Formerly known as SSNES, initially based on pseudonymous programmer
Near
NEAR or Near may refer to:
People
* Thomas J. Near, US evolutionary ichthyologist
* Near, a developer who created the higan emulator
Science, mathematics, technology, biology, and medicine
* National Emergency Alarm Repeater (NEAR), a form ...
's predecessor ''libsnes'', it began its development in 2010 with Hans-Kristian "
Themaister" Arntzen committing the first change on
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
. It was intended as a replacement to
bsnes
Higan is a free and open source emulator for multiple video game consoles, including the Super Nintendo Entertainment System. It was developed by Near. Originally called bsnes (which was later reused for a new emulator by the same developer), ...
'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 seven distinct platforms.
On February 16, 2016, RetroArch became one of the first ever applications to implement support for the
Vulkan
Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
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 Lakka (
LibreELEC-based RetroArch
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
), RetroArch would be on the
Patreon
Patreon (, ) is a monetization platform operated by Patreon, Inc., that provides business tools for content creators to run a subscription service and sell digital products. It helps artists and other creators earn a recurring income by provid ...
crowdfunding platform to allow providing bounties for developers who fix specific
software bug
A software bug is a design defect ( bug) in computer software. A computer program with many or serious bugs may be described as ''buggy''.
The effects of a software bug range from minor (such as a misspelled word in the user interface) to sev ...
s and to cover the costs for
matchmaking
Matchmaking is the process of pairing two or more people together, usually for the purpose of marriage, in which case the intermediary or matchmaker is also known as a marriage broker. Matchmaking may be done as a profession for a fee or it may ...
servers.
In December 2016, GoGames – a company contracted by video game developer and publisher
Sega
is a Japanese video game company and subsidiary of Sega Sammy Holdings headquartered in Tokyo. It produces several List of best-selling video game franchises, multi-million-selling game franchises for arcade game, arcades and video game cons ...
– 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, an input lag compensation feature called "Run-Ahead" was added.
The Libretro Team planned to release RetroArch onto
Steam
Steam is water vapor, often mixed with air or an aerosol of liquid water droplets. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporization. Saturated or superheated steam is inv ...
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.
In 2020, the
paraLLel
Parallel may refer to:
Mathematics
* Parallel (geometry), two lines in the Euclidean plane which never intersect
* Parallel (operator), mathematical operation named after the composition of electrical resistance in parallel circuits
Science a ...
libretro core for RetroArch used the GPU to run the
Nintendo 64
The (N64) is a home video game console developed and marketed by Nintendo. It was released in Japan on June 23, 1996, in North America on September 29, 1996, and in Europe and Australia on March 1, 1997. As the successor to the Super Nintendo E ...
at full speed on common consumer hardware, with
upscaled 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.
In November 2020, RetroArch in conjunction with a
PCSX2
PCSX2 is a free and open-source emulator of the PlayStation 2 for x86 computers. It supports most PlayStation 2 video games with a high level of compatibility and functionality, and also supports a number of improvements over gameplay on a trad ...
libretro core allowed the
Xbox Series X and Series S
The Xbox Series X and Xbox Series S are the fourth generation of consoles in the Xbox series, succeeding the previous generation's Xbox One. Released on November 10, 2020, the higher-end Xbox Series X and lower-end Xbox Series S are part o ...
to emulate the
PlayStation 2
The PlayStation 2 (PS2) is a home video game console developed and marketed by Sony Interactive Entertainment, Sony Computer Entertainment. It was first released in Japan on 4 March 2000, in North America on 26 October, in Europe on 24 Novembe ...
, something that Sony's own
PlayStation 5
The PlayStation 5 (PS5) is a home video game console developed by Sony Interactive Entertainment. It was announced as the successor to the PlayStation 4 in April 2019, was launched on November 12, 2020, in Australia, Japan, New Zealand, North ...
could not do at the time.
On September 14, 2021, RetroArch was released on Steam.
On May 15, 2024, RetroArch was officially released on
iOS
Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
,
iPadOS
iPadOS is a mobile operating system developed by Apple for its iPad line of tablet computers. It was given a name distinct from iOS, the operating system used by Apple's iPhones to reflect the diverging features of the two product lines, suc ...
,
tvOS
tvOS (formerly Apple TV Software) is an operating system developed by Apple for the Apple TV, a digital media player. In the first-generation Apple TV, Apple TV Software was based on Mac OS X. The software for the second-generation and later ...
and
visionOS
visionOS is a mixed reality operating system derived primarily from iPadOS and its core frameworks (including UIKit, SwiftUI, ARKit and RealityKit), and MR-specific frameworks for foveated rendering and real-time interaction. It was develope ...
through the
App Store
An app store, also called an app marketplace or app catalog, is a type of digital distribution platform for computer software called applications, often in a mobile context. Apps provide a specific set of functions which, by definition, do not i ...
.
Features
Its major features include:
* Advanced GPU
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
support – A multi-pass post-processing shader
pipeline
A pipeline is a system of Pipe (fluid conveyance), pipes for long-distance transportation of a liquid or gas, typically to a market area for consumption. The latest data from 2014 gives a total of slightly less than of pipeline in 120 countries ...
to allow efficient usage of
image scaling
In computer graphics and digital imaging, image scaling refers to the resizing of a digital image. In video technology, the magnification of digital material is known as upscaling or resolution enhancement.
When scaling a vector graphic image ...
algorithms, emulation of complex
CRT
CRT or Crt most commonly refers to:
* Cathode-ray tube, a display
* Critical race theory, an academic framework of analysis
CRT may also refer to:
Law
* Charitable remainder trust, United States
* Civil Resolution Tribunal, Canada
* Columbia ...
,
NTSC
NTSC (from National Television System Committee) is the first American standard for analog television, published and adopted in 1941. In 1961, it was assigned the designation System M. It is also known as EIA standard 170.
In 1953, a second ...
video artifacts and other effects;
* Dynamic rate control to synchronize video and audio while smoothing out timing imperfections;
*
FFmpeg
FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing vide ...
recording – Built-in support for
lossless
Lossless compression is a class of data compression that allows the original data to be perfectly reconstructed from the compressed data with no loss of information. Lossless compression is possible because most real-world data exhibits statisti ...
video recording using FFmpeg's
libavcodec
libavcodec is a free and open-source library of codecs for encoding and decoding video and audio data.
libavcodec is an integral part of many open-source multimedia applications and frameworks. The popular MPV, xine and VLC media players use ...
;
* Gamepad
abstraction layer
In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libra ...
called Retropad;
*
Gamepad
A gamepad is a type of video game controller held in two hands, where the fingers (especially thumbs) are used to provide input. They are typically the main input device for video game consoles.
Features
Some common additions to the standar ...
auto-configuration – Zero-input needed from the user after plugging gamepads in;
*
Peer-to-peer
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
netplay that uses a
rollback
In political science, rollback is the strategy of forcing a change in the major policies of a state, usually by replacing its ruling regime. It contrasts with containment, which means preventing the expansion of that state; and with détente, ...
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
A touchscreen (or touch screen) is a type of electronic visual display, display that can detect touch input from a user. It consists of both an input device (a touch panel) and an output device (a visual display). The touch panel is typically l ...
devices like smartphones;
*
Thumbnail
Thumbnails are reduced-size versions of pictures or videos, used to help in recognizing and organizing them, serving the same role for images as a normal text index does for words. In the age of digital images, visual search engines and image-o ...
s of game
box art;
* Low input and audio lag options;
* Automatically build categorized playlists by scanning directories for games/ROMs;
* Multiple interfaces including:
CLI CLI may refer to:
Computing
* Call Level Interface, an SQL database management API
* Command-line interface, of a computer program
* Command-line interpreter or command language interpreter; see List of command-line interpreters
* CLI (x86 instruc ...
, XMB (optimized for
gamepad
A gamepad is a type of video game controller held in two hands, where the fingers (especially thumbs) are used to provide input. They are typically the main input device for video game consoles.
Features
Some common additions to the standar ...
s), GLUI/MaterialUI (optimized for touch devices), RGUI and Ozone (available everywhere);
*
Game ROM scanner – Automatically constructs
playlist
A playlist is a list of video or audio files that can be played back on a media player, either sequentially or in a shuffled order. In its most general form, an audio playlist is simply a list of songs that can be played once or in a loop. ...
s by comparing the
hashsums of a
directory's files against databases of hashsums of known good game copies;
* Libretro
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
of cores, games, cheats, etc.;
*
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
and
Vulkan API support;
*Run-ahead – Hide the input lag of emulated systems by using both savestates and fast-forwarding;
*
Achievement tracking – Integration with the RetroAchievements service to unlock trophies and badges;
*AI service – Uses
machine translation
Machine translation is use of computational techniques to translate text or speech from one language to another, including the contextual, idiomatic and pragmatic nuances of both languages.
Early approaches were mostly rule-based or statisti ...
external services to translate game text on screen.
Supported systems
While RetroArch is available for many platforms, the availability of a specific libretro core varies per platform. For example, fewer cores are available for the
iOS
Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
or
Android version, than for the
PC.
Below is a non-exhaustive table of which systems are available to RetroArch and what project the core is based on:
Reception
RetroArch has been praised for the number of systems and games it can play under a single
interface
Interface or interfacing may refer to:
Academic journals
* ''Interface'' (journal), by the Electrochemical Society
* '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics''
* '' Inter ...
.
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.
Kyle Orland, writing for
Ars Technica
''Ars Technica'' is a website covering news and opinions in technology, science, politics, and society, created by Ken Fisher and Jon Stokes in 1998. It publishes news, reviews, and guides on issues such as computer hardware and software, sci ...
, said that RetroArch's 'Run-Ahead' feature is "arguably the biggest improvement to the experience the retro gaming community has yet seen".
See also
*
List of free and open-source software packages
This is a list of free and open-source software (FOSS) packages, computer software licensed under free software licenses and open-source licenses. Software that fits the Free Software Definition may be more appropriately called free software; ...
*
List of video game emulators
References
External links
*
{{Nintendo emulators
2010 software
Android emulation software
Arcade video game emulators
Atari 2600
DOS emulators
Free and open-source Android software
Free emulation software
Game Boy Advance emulators
Game Boy emulators
Game Gear emulators
MSX
Nintendo DS emulators
Nintendo Entertainment System emulators
PlayStation emulators
Sega Genesis emulators
Sega Master System emulators
Sega Saturn
Super Nintendo Entertainment System emulators
TurboGrafx-16 emulators