RetroArch is a
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
,
cross-platform
In 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 platforms. Some cross-platform software ...
frontend for
emulator
In computing, an emulator is 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 software or use peri ...
s,
game engine
A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term " software engine" used in the softwar ...
s,
video game
Video games, also known as computer games, are electronic games 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 gener ...
s,
media players
A media player could 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, softwa ...
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 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 f ...
s such as command-line interface, a few
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
s (GUI) 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
Gamepads generally feature a set of ...
s (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
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 spec ...
s,
netplay
A multiplayer video game is a video game in which more than one person can play in the same game environment at the same time, either locally on the same computing system (couch co-op), on different computing systems via a local area network, or ...
, gameplay rewinding, cheats, etc.
RetroArch has been ported to many platforms. It can run on several PC operating systems (
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
,
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
), home consoles (
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 ...
,
Xbox Series X,
Wii U
The Wii U ( ) is a home video game console developed by Nintendo as the successor to the Wii. Released in late 2012, it is the first eighth-generation video game console and competed with Microsoft's Xbox One and Sony's PlayStation 4.
Th ...
, etc.), handheld consoles (
PlayStation Vita
The PlayStation Vita (PS Vita, or Vita) is a handheld video game console developed and marketed by Sony Interactive Entertainment. It was first released in Japan on December 17, 2011, and in North America, Europe, and other international terri ...
,
Nintendo Switch
The is a hybrid video game console developed by Nintendo and released worldwide in most regions on March 3, 2017. The console itself is a tablet that can either be docked for use as a home console or used as a portable device, making it a ...
, etc.), on smartphones (
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
,
iOS, etc.), single-board computers (
Raspberry Pi
Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
,
ODROID, etc.) and even on web browsers by using the
Emscripten compiler.
History
Formerly known as SSNES, initially based on pseudonymous programmer
Near's ''libretro'' predecessor ''libsnes'', it began its development in 2010 with Hans-Kristian "themaister" Arntzen committing the first change on
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
. It was intended as a replacement to
bsnes
Higan is a free emulator for multiple video game consoles, including the Super Nintendo Entertainment System. Originally called bsnes (which was later reused for a new emulator by the same developer), the emulator is notable for attempting to e ...
'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 low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perform ...
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, alongsid
Lakka(
LibreELEC-based RetroArch
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
), RetroArch would be on the
Patreon
Patreon (, ) is a membership platform that provides business tools for content creators to run a subscription service. It helps creators and artists earn a monthly income by providing rewards and perks to their subscribers. Patreon charges a com ...
crowdfunding platform to allow providing bounties for developers who fix specific
software bugs and to cover the costs for
matchmaking
Matchmaking is the process of matching two or more people together, usually for the purpose of marriage, in which case the matchmaker is also known as a marriage broker. The word is also used in the context of sporting events such as boxing, in ...
servers.
In 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, an input lag compensation feature called "Run-Ahead" was added.
The Libretro Team planned to release RetroArch onto
Steam
Steam is a substance containing water in the gas phase, and sometimes also an aerosol of liquid water droplets, or air. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporizat ...
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 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 PlayStation 2 emulator for Windows, Linux, and macOS that supports a wide range of PlayStation 2 video games with a high level of compatibility and functionality. Although PCSX2 can closely mirror the original ga ...
libretro core allowed the
Xbox Series X and Series S
The Xbox Series X/S are home video game consoles developed by Microsoft. They were both released on November 10, 2020, as the fourth generation Xbox, succeeding the Xbox One. Along with Sony's PlayStation 5, also released in November 2020 ...
to emulate the
PlayStation 2, something that Sony's own
PlayStation 5
The PlayStation 5 (PS5) is a home video game console developed by Sony Interactive Entertainment. Announced as the successor to the PlayStation 4 in April 2019, it was launched on November 12, 2020, in Australia, Japan, New Zealand, North A ...
could not do at the time.
On September 14, 2021, RetroArch was released on Steam.
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 spec ...
support - A multi-pass post-processing shader
pipeline 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 may refer to:
Science, technology, and mathematics Medicine and biology
* Calreticulin, a protein
*Capillary refill time, for blood to refill capillaries
*Cardiac resynchronization therapy and CRT defibrillator (CRT-D)
* Catheter-re ...
,
NTSC
The first American standard for analog television broadcast was developed by National Television System Committee (NTSC)National Television System Committee (1951–1953), Report and Reports of Panel No. 11, 11-A, 12–19, with Some supplement ...
video artifacts and other effects;
Dynamic Rate Controlto 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 of ...
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 statistic ...
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 u ...
;
* 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
Gamepads generally feature a set of ...
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. They are said to form a peer-to-peer ...
netplay
A multiplayer video game is a video game in which more than one person can play in the same game environment at the same time, either locally on the same computing system (couch co-op), on different computing systems via a local area network, or ...
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, w ...
technique similar to
GGPO
GGPO (Good Game Peace Out) is middleware designed to help create a near- lagless online experience for various emulated arcade games and fighting games. The program was created by Tony Cannon, co-founder of fighting game community site ''Shoryuken ...
;
* 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 the assembly of both an input ('touch panel') and output ('display') device. The touch panel is normally layered on the top of an electronic visual display of an information processing system. The display is ofte ...
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- ...
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, 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
Gamepads generally feature a set of ...
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, but sometimes a loop. The term has sev ...
s by comparing the
hashsums of a
directory
Directory may refer to:
* Directory (computing), or folder, a file system structure in which to store computer files
* Directory (OpenVMS command)
* Directory service, a software application for organizing information about a computer network' ...
's files against databases of hashsums of known good game copies;
* Libretro
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
of cores, games, cheats, etc.;
*
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
and
Vulkan API
Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
support;
*Run-Ahead - Hide the input lag of emulated systems by using both savestates and fast-forwarding;
*
Achievement
Achievement may refer to:
*Achievement (heraldry)
*Achievement (horse), a racehorse
*Achievement (video gaming), a meta-goal defined outside of a game's parameters
See also
* Achievement test for student assessment
* Achiever, a personality type ...
tracking - Integration with the
RetroAchievements service to unlock trophies and badges;
*AI Service - Uses
machine translation
Machine translation, sometimes referred to by the abbreviation MT (not to be confused with computer-aided translation, machine-aided human translation or interactive translation), is a sub-field of computational linguistics that investigates t ...
external services to translate game text on screen.
Supported systems
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:
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''
* '' Int ...
.
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
''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, sc ...
, 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 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; the GNU ...
*
List of video game emulators
References
External links
*
{{Nintendo emulators
Android emulation software
Arcade video game emulators
Atari 2600
Doom (franchise)
DOS emulators
Free and open-source Android software
Free emulation software
Game Boy Advance emulators
Game Boy 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