RetroArch

Last updated
RetroArch
Developer(s) Libretro
Initial releaseMay 26, 2010;14 years ago (2010-05-26)
Stable release
1.19.1 [1]   OOjs UI icon edit-ltr-progressive.svg / 4 June 2024;2 months ago (4 June 2024)
Repository github.com/libretro/RetroArch
Written in C++ , C
Operating system Haiku, Unix-like, Linux, Android, iOS, FreeBSD, macOS, Windows, Xbox Series X and Series S, Xbox One, Xbox, Switch, New Nintendo 3DS, New Nintendo 2DS, GameCube, Wii, Wii U, PlayStation 4, PlayStation 3, PlayStation 2, Vita, PlayStation Portable, PlayStation Classic, tvOS, webOS
Platform IA-32 (x86), x86-64 (x64), ARMv7, AArch64, PowerPC, MIPS, Cell
Available in English, Mandarin, Spanish, German, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Vietnamese, Turkish, Arabic, Greek, Persian, Hebrew, Asturian
Type Video game console emulator
License GNU General Public License, version 3.0
Website www.retroarch.com , www.libretro.com

RetroArch is a free and open-source, cross-platform frontend for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, [2] [3] designed to be fast, lightweight, portable and without dependencies. [4] It is licensed under the GNU GPLv3.

Contents

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, smartphones, smart TV's, single-board computers and web browsers. [5] [6] Versions for PlayStation 4 and PlayStation 3 are not out yet, but are available unofficially (as of 1st April 2024.) [7]

History

Formerly known as SSNES, initially based on pseudonymous programmer Near's predecessor libsnes, [8] it began its development in 2010 with Hans-Kristian "themaister" Arntzen committing the first change on GitHub. [9] It was intended as a replacement to bsnes's Qt-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 the Vulkan 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 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. [14]

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. [15] [16]

In April 2018, an input lag compensation feature called "Run-Ahead" was added. [17]

The Libretro Team planned to release RetroArch onto Steam 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 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]

In November 2020, RetroArch in conjunction with a PCSX2 libretro core allowed the Xbox Series X and Series S to emulate the PlayStation 2, something that Sony's own PlayStation 5 could not do at the time. [20]

On September 14, 2021, RetroArch was released on Steam. [21]

On May 15, 2024, RetroArch was officially released on iOS through the App Store. [22]

Features

Its major features include:

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:

System Computer system/video game console emulator
3DO 4DO
Amstrad CPC Caprice32
CrocoDS
Arcade MAME
MESS
FinalBurn Neo
FinalBurn Alpha
Atari 2600 Stella
Atari 5200 a5200
Atari800
Atari 7800 ProSystem
Atari Falcon Hatari
Atari Jaguar Virtual Jaguar
Atari Lynx Mednafen
Handy
Atari ST Hatari
WonderSwan Mednafen
ColecoVision blueMSX
Gearcoleco
Commodore 64 VICE
Frodo
Commodore 128 VICE
Amiga PUAE
UAE4ARM
Commodore CBM-II VICE
Commodore PET VICE
Commodore Plus/4 VICE
VIC-20 VICE
MS-DOS and compatible operating systems DOSBox
DOSBox-Pure
DOSBox-SVN
Electronika BK-0010/BK-0011 M
Fairchild Channel F FreeChaF
Vectrex vecx
Handheld electronic game GW
Mac II minivmac
Odyssey² O2EM
Intellivision FreeIntv
Mega Duck SameDuck
MSX fMSX
blueMSX
NEC PC Engine / CD Mednafen
NEC TurboGrafx-16 / SuperGrafx Mednafen
NEC PC-8000 / PC-8800 QUASI88
NEC PC-98Neko Project II Kai
Neko Project II
NEC PC-FX Mednafen
NEC TurboGrafx-CD Mednafen
Nintendo 3DS Citra
Citra 2018
Nintendo 64 Mupen64Plus
Mupen64Plus-Next
ParaLLEl N64
Nintendo DS DeSmuME
DeSmuME 2015
melonDS
Nintendo Entertainment System higan
Emux
FCEUmm
Nestopia UE
QuickNES
Mesen
Famicom Disk System FCEUmm
Mesen
Nestopia
higan
QuickNES
Game Boy / Color Emux
Gambatte
SameBoy
TGB Dual
higan
Mesen-S
Game Boy Advance Mednafen
gpSP
Meteor
mGBA
VisualBoyAdvance
GameCube Dolphin
Nintendo Pokémon Mini PokeMini
Super Nintendo Entertainment System higan
Mednafen
bsnes
Snes9x
Mesen-S
Virtual Boy Mednafen
Wii Dolphin
Palm OS Mu
Philips CD-i SAME CDi
Cdi 2015
32X PicoDrive
Dreamcast Redream
Flycast (formerly Reicast)
Game Gear Genesis Plus GX
PicoDrive
SMS Plus GX
Gearsystem
Master System PicoDrive
Genesis Plus GX
SMS Plus GX
Gearsystem
Mega CD/Sega CD Genesis Plus GX
PicoDrive
Mega Drive/Genesis Genesis Plus GX
BlastEm
PicoDrive
Saturn uoYabause
Mednafen
YabaSanshiro
Kronos
Sega ST-VKronos
Sega VMU VeMUlator
SG-1000 blueMSX
Gearsystem
Sharp X1 X Millennium
X68000 PX68k
ZX81 EightyOne
ZX Spectrum Fuse
PlayStation Mednafen
PCSX ReARMed
DuckStation
SwanStation
PlayStation 2 Play!
PCSX2
PlayStation Portable PPSSPP
Neo Geo Pocket / Color Mednafen
RACE
Spectravideo blueMSX
3DO Interactive Multiplayer Opera
Thomson computers Theodore
Uzebox Uzem
Vectrex VecXGL
Watara Supervision Potator

Reception

RetroArch has been praised for the number of systems and games it can play under a single interface. [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 for Ars Technica, said that RetroArch's 'Run-Ahead' feature is "arguably the biggest improvement to the experience the retro gaming community has yet seen". [17]

See also

Related Research Articles

<span class="mw-page-title-main">UAE (emulator)</span> Computer emulator which emulates the Commodore Amiga

UAE is a computer emulator which emulates the hardware of Commodore International's Amiga range of computers. Released under the GNU General Public License, UAE is free software.

<span class="mw-page-title-main">Game controller</span> Device used with games or entertainment systems

A game controller, gaming controller, or simply controller, is an input device or input/output device used with video games or entertainment systems to provide input to a video game. Input devices that have been classified as game controllers include keyboards, mice, gamepads, and joysticks, as well as special purpose devices, such as steering wheels for driving games and light guns for shooting games. Controllers designs have evolved to include directional pads, multiple buttons, analog sticks, joysticks, motion detection, touch screens and a plethora of other features.

<span class="mw-page-title-main">NESticle</span> Nintendo Entertainment System emulator

NESticle is a Nintendo Entertainment System emulator, which was written by Icer Addis of Bloodlust Software. Released on April 3, 1997, the widely popular program originally ran under MS-DOS and Windows 95. It was the first freeware NES emulator, and became commonly considered the NES emulator of choice for the 1990s. Initially offering few features and only supporting a handful of games, development proceeded rapidly and to expand usability such that NESticle is today credited with introducing the concept of recordable playthrough for emulation, as well as providing the capacity for users to create their own graphical hacks via an integrated graphics editor. In pioneering this heightened level of access for users, and providing the tools for fans to hack and remix familiar classics, NESticle has been credited by Spin as representing a milestone toward the development of video game music as a genre.

<span class="mw-page-title-main">Gamepad</span> Type of video game controller

A gamepad is a type of video game controller held in two hands, where the fingers are used to provide input. They are typically the main input device for video game consoles.

VisualBoyAdvance is a free emulator of the Game Boy, Game Boy Color, and Game Boy Advance handheld game consoles as well as of Super Game Boy and Super Game Boy 2. It is still downloadable to this day.

ePSXe PlayStation emulator

ePSXe is a PlayStation video game console emulator for x86-based PC hardware with Microsoft Windows and Linux, as well as devices running Android. It was written by three authors, using the aliases calb, _Demo_ and Galtor. ePSXe is closed source with the exception of the application programming interface (API) for its plug-ins.

<span class="mw-page-title-main">Project64</span> Nintendo 64 emulation software

Project64 is a free and open-source Nintendo 64 emulator written in the programming languages C and C++ for Microsoft Windows. This software uses a plug-in system allowing third-party groups to use their own plug-ins to implement specific components. Project64 can play Nintendo 64 games on a computer reading ROM images, either dumped from the read-only memory of a Nintendo 64 ROM cartridge or created directly on the computer as homebrew.

<span class="mw-page-title-main">Retrogaming</span> Cultural activity with old video games

Retrogaming, also known as classic gaming and old school gaming, is the playing and collection of obsolete personal computers, consoles, and video games. Usually, retrogaming is based upon systems that are outmoded or discontinued, although ported retrogaming allows games to be played on modern hardware via ports or compilations. It is typically for nostalgia, preservation, or authenticity. A new game could be retro styled, such as an RPG with turn-based combat and pixel art in isometric camera perspective.

<span class="mw-page-title-main">Dolphin (emulator)</span> Nintendo GameCube and Wii emulation software

Dolphin is a free and open-source video game console emulator for GameCube and Wii that runs on Windows, Linux, macOS, Android, Xbox One, Xbox Series X and Series S.

<span class="mw-page-title-main">PCSX2</span> PlayStation 2 video game console emulator

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 gameplay experience on the PlayStation 2, PCSX2 supports a number of improvements over gameplay on a traditional PlayStation 2, such as the ability to use higher resolutions than native, anti-aliasing and texture filtering.

<span class="mw-page-title-main">PCSX-Reloaded</span> Video game console emulator

PCSX is a free and open-source, video game console emulator that allows software designed to be used with the Sony PlayStation to run on personal computers. Over the years, development changed hands several times with PCSX-Reloaded (PCSXR) now being the main version. As of 2021, the emulator seems to be no longer under active development. A newer, actively maintained fork of PCSX-Reloaded is PCSX-Redux.

<span class="mw-page-title-main">Stella (emulator)</span> Atari 2600 emulator

Stella is an emulator of the Atari 2600 game console, and takes its name from the console's codename. It is open-source, and runs on most major modern platforms including Windows, Mac OS X, and Linux. Stella was originally written in 1996 by Bradford W. Mott, and is now maintained by Stephen Anthony.

higan (emulator) Multi-system emulator

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, the emulator is notable for attempting to emulate the original hardware as accurately as possible through low-level, cycle-accurate emulation and for the associated historical preservation efforts of the Super NES platform.

<span class="mw-page-title-main">Video game console emulator</span> Program that reproduces video game consoles behavior

A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass limitations of the original hardware, such as broader controller compatibility, timescale control, easier access to memory modifications, and unlocking of gameplay features. Emulators are also a useful tool in the development process of homebrew demos and the creation of new games for older, discontinued, or rare consoles.

Mupen64Plus, formerly named Mupen64-64bit and Mupen64-amd64, is a free and open-source, cross-platform Nintendo 64 emulator, written in the programming languages C and C++. It allows users to play Nintendo 64 games on a computer by reading ROM images, either dumped from the read-only memory of a Nintendo 64 cartridge or created directly on the computer as homebrew.

<span class="mw-page-title-main">Mednafen</span> Emulator for multiple systems

Mednafen, formerly known as Nintencer, is an OpenGL and SDL multi-system free software wrapper that bundles various original and third-party emulation cores into a single package, and is driven by command-line input. It is distributed under the terms of the GPL-2.0-or-later license. Certain emulation cores of Mednafen have been ported to RetroArch/Libretro.

<span class="mw-page-title-main">OpenEmu</span> Multiple video games software

OpenEmu is an open-source multi-system video game emulator designed for macOS. It provides a plugin interface to emulate numerous consoles' hardware, such as the Nintendo Entertainment System, Genesis, Game Boy, and many more. The architecture allows for other developers to add new cores to the base system without the need to account for specific macOS APIs.

<span class="mw-page-title-main">PPSSPP</span> PSP emulator

PPSSPP is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, Nintendo Wii U, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series X/S and Symbian with a focus on speed and portability. It was released to the public on November 1, 2012, licensed under the GNU GPLv2 or later. The PPSSPP project was created by Henrik Rydgård, one of the co-founders of the Dolphin emulator.

RetroN is a series of video game consoles created and developed by Hyperkin which allows users to play video games from consoles such as the Nintendo Entertainment System and the Super NES. Since the release of the RetroN 5, they have been connected via HDMI. The latest in the series, RetroN Sq, was released in 2021.

<span class="mw-page-title-main">Citra (emulator)</span> Discontinued Nintendo 3DS emulator

Citra is a discontinued free and open-source emulator of the handheld Nintendo 3DS for Windows, macOS, Linux, and Android. Citra's name is derived from CTR, which is the model name of the original 3DS. Citra can run many homebrew games and commercial games.

References

  1. "Release 1.19.1". 4 June 2024.
  2. "libretro/RetroArch". GitHub. Archived from the original on 2018-10-23. Retrieved 2017-10-01.
  3. "libretro/libretro-samples". GitHub. 12 October 2021. Archived from the original on 12 June 2018. Retrieved 31 October 2017.
  4. "Home – Libretro". www.libretro.com. Archived from the original on 2017-08-03. Retrieved 2017-08-02.
  5. Marín, Daniel. "RetroArch, tutorial: how it works, compatible consoles, games and more". El Output. Archived from the original on 2023-05-22. Retrieved 2024-08-05.
  6. Pablinux (2023-12-12). "RetroArch Web Player, retro console games in the browser". Linux Adictos. Archived from the original on 2024-08-05. Retrieved 2024-08-05.
  7. Aurora (2019-12-28). "News: RetroArch FINALLY gets released on PlayStation 4 with 25 cores including PS1, MAME and experimental Nintendo 64 emulators..." Wololo.net. Archived from the original on 2019-12-30. Retrieved 2024-08-05.
  8. "Libsnes - libretro/snes9x2010 Wiki". GitHub. Archived from the original on 2020-10-18. Retrieved 2017-08-06.
  9. "SSNES · libretro/RetroArch@eed8e2b". GitHub. Archived from the original on 2021-12-10. Retrieved 2017-08-02.
  10. "SSNES - The SNES emulator that sucks less. / Community Contributions / Arch Linux Forums". bbs.archlinux.org. Archived from the original on 2014-09-13. Retrieved 2017-08-02.
  11. "SSNES · libretro/RetroArch@9ab51ad2". GitHub. Archived from the original on 2021-12-10. Retrieved 2017-08-16.
  12. "RetroArch v1.0.0.0 release information – Libretro". www.libretro.com. 11 January 2014. Archived from the original on 2014-01-15. Retrieved 2017-08-02.
  13. "Day 1 Vulkan support – Libretro". www.libretro.com. 16 February 2016. Archived from the original on 2016-02-19. Retrieved 2017-08-02.
  14. "We are now on Patreon! – Libretro". www.libretro.com. 27 November 2016. Archived from the original on 2017-08-03. Retrieved 2017-08-02.
  15. Matulef, Jeffrey (2017-06-21). "Sega releases classic games on mobile, for free, but at what cost?". Eurogamer. Archived from the original on 2019-04-23. Retrieved 2017-08-03.
  16. Robinson, Martin (2017-06-26). "Sega defends Sega Forever launch after fan outcry". Eurogamer. Archived from the original on 2017-06-26. Retrieved 2017-08-03.
  17. 1 2 "Better than reality: New emulation tech lags less than original consoles". 19 April 2018. Archived from the original on 19 April 2018. Retrieved 4 May 2018.
  18. Machkovech, Sam (July 13, 2019). "RetroArch will be Steam's biggest emulation launch yet, coming July 30". Ars Technica . Archived from the original on July 13, 2019. Retrieved July 13, 2019.
  19. De Matteis, Daniel (August 16, 2020). "Hacker vandalised our buildbot and Github organization". libretro.com. Archived from the original on August 16, 2020. Retrieved August 20, 2020.
  20. Campbell, Ian Carlos (2020-11-30). "Enterprising developers are emulating PS2 games on the Xbox Series S and X". The Verge. Archived from the original on 2020-11-30. Retrieved 2020-12-11.
  21. "RetroArch on Steam". Archived from the original on 2019-07-13. Retrieved 2021-09-14.
  22. Davis, Wes (May 15, 2024). "RetroArch brings its free multisystem emulation to the iOS App Store". The Verge. Retrieved May 15, 2024.
  23. https://github.com/libretro/libretro.github.com/raw/master/documents/ratecontrol.pdf [ bare URL PDF ]
  24. "RetroArch". retroarch.com. Archived from the original on 2017-06-06. Retrieved 2017-08-02.
  25. "ROMs, Playlists, and Thumbnails - Libretro Docs". docs.libretro.com. Archived from the original on 2017-12-26. Retrieved 2017-12-26.
  26. "libretro/libretro-database". GitHub. 19 October 2021. Archived from the original on 10 June 2018. Retrieved 31 October 2017.
  27. "RetroAchievements.org". RetroAchievements. Archived from the original on 2012-11-21. Retrieved 2019-12-10.
  28. Matteis, Daniel De. "RetroArch 1.7.8 – AI Service – How To Set It Up – Libretro". Archived from the original on 2019-08-25. Retrieved 2021-04-28.
  29. 1 2 "How to Set Up RetroArch, The Ultimate All-In-One Retro Games Emulator". Archived from the original on 2017-08-03. Retrieved 2017-08-03.
  30. 1 2 Klosowski, Thorin. "How to Set Up an All-In-One Retro Game Emulator with RetroArch". Lifehacker. Archived from the original on 2017-08-03. Retrieved 2017-08-03.
  31. "The NES Classic is sold out, but these emulators do the same thing for free". Digital Trends. 2017-03-31. Archived from the original on 2017-08-03. Retrieved 2017-08-03.
  32. 1 2 Dachis, Adam. "RetroArch Emulates Nearly Every Classic Gaming Console on Android". Lifehacker. Archived from the original on 2017-12-26. Retrieved 2017-12-26.
  33. "Eight Advanced RetroArch Features that Make Retro Gaming Great Again". Archived from the original on 2017-08-03. Retrieved 2017-08-03.
  34. "RetroArch Emulates NES, PlayStation, Gameboy Color/Advance and a Whole Lot More [Android]". MakeUseOf. Archived from the original on 2017-12-26. Retrieved 2017-12-26.