Jump to content

RetroArch

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Fpscan (talk | contribs) at 08:11, 16 April 2022 (New version updated). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

RetroArch
Developer(s)Libretro
Initial releaseMay 26, 2010; 14 years ago (2010-05-26)
Stable release
1.10.3 / April 15, 2022; 2 years ago (2022-04-15)
Repositorygithub.com/libretro/RetroArch
Written inC, C++
Operating systemUnix-like, Linux, Android, iOS, FreeBSD, macOS, Windows 95 and later, Xbox Series X and Series S, Xbox One, Xbox, Nintendo Switch, Nintendo 3DS, Nintendo 2DS, Nintendo GameCube, Nintendo Wii, Nintendo Wii U , PlayStation 4, PlayStation 3, PlayStation 2, PlayStation Vita, PlayStation Portable, PlayStation Classic, tvOS
PlatformIA-32 (x86), x86-64 (x64), ARMv7, AArch64, PowerPC, MIPS, Cell
Available inEnglish, Mandarin, Spanish, German, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Vietnamese, Turkish, Arabic, Greek, Persian, Hebrew, Asturian
TypeVideo game console emulator
LicenseGPLv3
Websitewww.retroarch.com, www.libretro.com

RetroArch (pronounced /ˌrɛtrˈɑːr/) 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,[1][2] designed to be fast, lightweight, portable and without dependencies.[3] 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.[4][5] It can run on several PC operating systems (Windows, macOS, Linux), home consoles (PlayStation 3, Xbox 360, Wii U, etc.), handheld consoles (PlayStation Vita,[6] Nintendo 3DS, etc.), on smartphones (Android, iOS,[7] etc.), single-board computers (Raspberry Pi, ODROID, etc.) and even on web browsers[8] by using the Emscripten compiler.

History

Formerly known as SSNES, initially based on pseudonymous programmer Near's libretro predecessor libsnes,[9] it began its development in 2010 with Hans-Kristian "themaister" Arntzen committing the first change on GitHub.[10] It was intended as a replacement to bsnes's Qt-based interface[11] but it grew to support more emulation "cores". On April 21, 2012, SSNES was officially renamed[12] 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.[13]

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.[14]

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

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

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

The Libretro Team planned 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.[19]

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.[20]

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.[21]

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

Features

Its major features include:

  • Advanced GPU shader support - A multi-pass post-processing shader pipeline to allow efficient usage 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-input needed from the user after plugging gamepads in;
  • Peer-to-peer netplay that uses a rollback technique similar to GGPO;[23]
  • 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 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), RGUI and Ozone (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;[24]
  • Libretro database of cores, games, cheats, etc.;[25]
  • OpenGL 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;[26]
  • AI Service - Uses machine translation external services to translate game text on screen.[27]

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 Based on
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/STE/TT/Falcon Hatari
Bandai WonderSwan Mednafen
ColecoVision blueMSXGearcoleco
Commodore 64 VICEFrodo
Commodore 128 VICE
Commodore Amiga PUAE
UAE4ARM
Commodore CBM VICE
Commodore PET VICE
Commodore PLUS/4 VICE
Commodore VIC-20 VICE
DOS DOSBoxDOSBox-Pure

DOSBox-SVN

Elektronika - BK-0010/BK-0011 M
Fairchild ChannelF FreeChaF
GCE - Vectrex vecx
Handheld Electronic GW
Mac II minivmac
Magnavox Odyssey² O2EM
Mattel Intellivison FreeIntv
Mega Duck SameDuck
Microsoft MSX fMSX
blueMSX
NEC PC Engine / CD Mednafen
NEC TurboGrafx-16 / SuperGrafx Mednafen
NEC PC-8000 / PC-8800 QUASI88
NEC PC-98 Neko Project II Kai

Neko Project II

NEC PC-FX Mednafen
NEC TurboGrafx-CD Mednafen
Nintendo 3DS CitraCitra 2018
Nintendo 64 Mupen64PlusMupen64Plus-Next

ParaLLEl N64

Nintendo DS DeSmuMEDeSmuME 2015
melonDS
Nintendo Entertainment System higan
Emux
FCEUmm
Nestopia UE
QuickNES
Mesen
Nintendo Famicom Disk System FCEUmm

Mesen Nestopia
higanQuickNES

Nintendo Game Boy / Color Emux
Gambatte
SameBoy
TGB Dual
higanMesen-S
Nintendo Game Boy Advance Mednafen
gpSP
Meteor
mGBA
VisualBoyAdvance
Nintendo GameCube Dolphin
Nintendo Pokémon Mini PokeMini
Nintendo Super Nintendo Entertainment System Mednafenbsnes

Snes9x Mesen-S

NIntendo Virtual Boy Mednafen
Nintendo Wii Dolphin
Palm OS Mu
Philips CDi SAME CDi

Cdi 2015

Sega 32X PicoDrive
Sega Dreamcast Redream
Flycast (formerly Reicast)
Sega Game Gear Genesis Plus GXPicoDriveSMS Plus GX

Gearsystem

Sega Master System PicoDrive
Genesis Plus GXSMS Plus GX

Gearsystem

Sega Mega CD/Sega CD Genesis Plus GXPicoDrive
Sega Mega Drive/Genesis Genesis Plus GX
BlastEm

PicoDrive

Sega Saturn uoYabause
MednafenYabaSanshiro

Kronos

Sega ST-V Kronos
SG-1000 blueMSX

Gearsystem

Sharp X1 X Millennium
Sharp X68000 PX68k
Sinclair ZX81 EightyOne
Sinclair ZX Spectrum Fuse
Sony PlayStation Mednafen
PCSX ReARMed
DuckStationSwanStation
Sony PlayStation 2 Play!
PCSX2
Sony PlayStation Portable PPSSPP
SNK Neo Geo Pocket / Color Mednafen
RACE
Super NES bsnes
higan
Snes9x
Mesen-S
SVI blueMSX
The 3DO Company 3DO Opera
Thomson computers Theodore
Uzebox Uzem
Vectrex VecXGL
Watara Supervision Potator

Below is a non-exhaustive list of things that do not fit in the list above, such as individual games, libraries, or programming languages.

Arduboy Arduous
Bomberman Mr. Boom
Cave Story NXEngine
ChaiScript ChaiLove
CHIP-8 JAXE
Dinothawr Dinothawr
Doom PrBoom
Doom 3 boom3

boom 3 xp

FFmpeg FFmpeg
Flashback REminiscence
Gong Gong
Java ME SquirrelJME
Jump 'n Bump Jump 'n Bump
LowRes NX LowRes NX
Lua Engine Lutro
Minecraft Craft
OutRun Cannonball
PICO-8 Retro8
PocketCDG PocketCDG
Quake 1 TyrQuake
Quake II vitaQuake 2
Rick Dangerous XRick
RPG Maker 2000/2003 EasyRPG
ScummVM ScummVM
The Powder Toy The Powder Toy
TIC-80 TIC-80
Tomb Raider OpenLara
VaporSpec VaporSpec
VeMUlator VeMUlator
WASM-4 WASM-4
Wolfenstein 3D ECWolf

Reception

RetroArch has been praised for the number of systems and games it can play under a single interface.[28][29][30][31]

It has been criticized for how difficult it is to configure, due to the extensive number of options available to the user,[29][28] and at the same time has been praised for the more advanced features it possesses.[32]

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.[31][33]

Tyler Loch, 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".[18]

See also

References

  1. ^ "libretro/RetroArch". GitHub.
  2. ^ "libretro/libretro-samples". GitHub. 12 October 2021.
  3. ^ "Home – Libretro". www.libretro.com. Retrieved 2017-08-02.
  4. ^ "RetroArch". www.retroarch.com. Retrieved 2017-08-02.
  5. ^ "Lakka documentation - Hardware support". www.lakka.tv. Retrieved 2017-08-02.
  6. ^ "The retroarch PS Vita port we won't talk about". Wololo.net. 2015-09-20. Retrieved 2017-08-02.
  7. ^ "Download RetroArch Emulator IPA On iOS 10 [No Jailbreak Required]". Redmond Pie. 2017-07-17. Retrieved 2017-08-05.
  8. ^ "RetroArch Web Player". buildbot.libretro.com. Retrieved 2017-08-02.
  9. ^ "Libsnes - libretro/snes9x2010 Wiki". GitHub.
  10. ^ "SSNES · libretro/RetroArch@eed8e2b". GitHub. Retrieved 2017-08-02.
  11. ^ "SSNES - The SNES emulator that sucks less. / Community Contributions / Arch Linux Forums". bbs.archlinux.org. Retrieved 2017-08-02.
  12. ^ "SSNES · libretro/RetroArch@9ab51ad2". GitHub. Retrieved 2017-08-16.
  13. ^ "RetroArch v1.0.0.0 release information – Libretro". www.libretro.com. Retrieved 2017-08-02.
  14. ^ "Day 1 Vulkan support – Libretro". www.libretro.com. Retrieved 2017-08-02.
  15. ^ "We are now on Patreon! – Libretro". www.libretro.com. Retrieved 2017-08-02.
  16. ^ Matulef, Jeffrey (2017-06-21). "Sega releases classic games on mobile, for free, but at what cost?". Eurogamer. Retrieved 2017-08-03.
  17. ^ Robinson, Martin (2017-06-26). "Sega defends Sega Forever launch after fan outcry". Eurogamer. Retrieved 2017-08-03.
  18. ^ a b "Better than reality: New emulation tech lags less than original consoles". 19 April 2018.
  19. ^ Machkovech, Sam (July 13, 2019). "RetroArch will be Steam's biggest emulation launch yet, coming July 30". Ars Technica. Retrieved July 13, 2019.
  20. ^ De Matteis, Daniel (August 16, 2020). "Hacker vandalised our buildbot and Github organization". libretro.com. Retrieved August 20, 2020.
  21. ^ Campbell, Ian Carlos (2020-11-30). "Enterprising developers are emulating PS2 games on the Xbox Series S and X". The Verge. Retrieved 2020-12-11.
  22. ^ "RetroArch on Steam".
  23. ^ "RetroArch". retroarch.com. Retrieved 2017-08-02.
  24. ^ "ROMs, Playlists, and Thumbnails - Libretro Docs". docs.libretro.com.
  25. ^ "libretro/libretro-database". GitHub. 19 October 2021.
  26. ^ "RetroAchievements.org". RetroAchievements.
  27. ^ Matteis, Daniel De. "RetroArch 1.7.8 – AI Service – How To Set It Up – Libretro". Retrieved 2021-04-28.
  28. ^ a b "How to Set Up RetroArch, The Ultimate All-In-One Retro Games Emulator". Retrieved 2017-08-03.
  29. ^ a b Klosowski, Thorin. "How to Set Up an All-In-One Retro Game Emulator with RetroArch". Lifehacker. Retrieved 2017-08-03.
  30. ^ "The NES Classic is sold out, but these emulators do the same thing for free". Digital Trends. 2017-03-31. Retrieved 2017-08-03.
  31. ^ a b Dachis, Adam. "RetroArch Emulates Nearly Every Classic Gaming Console on Android". Lifehacker. Retrieved 2017-12-26.
  32. ^ "Eight Advanced RetroArch Features that Make Retro Gaming Great Again". Retrieved 2017-08-03.
  33. ^ "RetroArch Emulates NES, Playstation, Gameboy Color/Advance And A Whole Lot More [Android]". MakeUseOf. Retrieved 2017-12-26.