Latest revision |
Your text |
Line 1: |
Line 1: |
− | {{Note| Imported from Wikipedia. Doing cleanup as we don't utilize some of their extensions..yet.}}
| + | = About = |
| | | |
− | {{Infobox software
| + | RetroArch is a front end for various emulators ported over to the [[libRetro]] library. Each core is a specific emulator, for a specific set of hardware. While not the actual emulator, its become a common theme amongst people to say they run RetroArch to play their games, instead of the actual emulators in [[libRetro]]. |
− | | name = RetroArch
| |
− | | logo = retroarch-plain-logo.xcf
| |
− | | developer = The Libretro Team
| |
− | | released = {{start date and age|2010|05|26}}
| |
− | | latest release version = 1.7.5
| |
− | | latest release date = {{Start date and age|2018|10|02}}
| |
− | | repo = {{URL|https://github.com/libretro/RetroArch}}
| |
− | | programming_language = [[C (programming language)|C]], [[C++]]
| |
− | | operating system = [[GNU/Linux]], [[Android (operating system)|Android]], [[iOS]], [[FreeBSD]], [[macOS]], [[Nintendo Switch]], [[Windows NT 3.51]] and later
| |
− | | platform = [[IA-32|IA-32 (x86)]], [[x86-64|x86-64 (x64)]], [[ARMv7]], [[AArch64]], [[PowerPC]], [[MIPS architecture|MIPS]], [[Cell (microprocessor)|Cell]]
| |
− | | language = [[English language|English]], [[Chinese language|Chinese]], [[German language|German]], [[French language|French]], [[Italian language|Italian]], [[Japanese language|Japanese]], [[Korean language|Korean]], [[Dutch language|Dutch]], [[Polish language|Polish]], [[Portuguese language|Portuguese]], [[Russian language|Russian]], [[Vietnamese language|Vietnamese]]
| |
− | | genre = [[Video game console emulator]]
| |
− | | license = [[GNU General Public License|GPLv3]]
| |
− | | website = {{URL | http://www.retroarch.com/}}
| |
− | }}
| |
− | '''RetroArch''' is the reference implementation of the [[libretro]] [[Application programming interface|API]]. It is free, [[open-source software|open-source]], [[cross-platform]] software, licensed under the [[GNU GPLv3]].
| |
| | | |
− | It is described as a [[Front-end (computing)|front-end]] for [[emulator]]s, [[game engine]]s, [[video game]]s, [[Digital media player|media players]] and other applications, designed to be fast, lightweight, portable and without dependencies.
| + | == libRetro == |
− | | + | For the full article see [[libRetro]] |
− | RetroArch runs programs converted into dynamic libraries called libretro cores, using several [[user interface]]s such as command-line interface, a few [[graphical user interface]]s (GUI) optimized for [[gamepad]]s (the most famous one being called XMB, a clone of Sony's [[XrossMediaBar|XMB]]), several input, audio and video drivers, plus other sophisticated features like dynamic rate control, audio filters, multi-pass [[shader]]s, [[netplay]], gameplay rewinding, cheats etc.
| |
− | | |
− | RetroArch has been ported to many platforms. It can run on several PC operating systems ([[Microsoft Windows|Windows]], [[OS X]], [[GNU/Linux]]), home consoles ([[PlayStation 3]], [[Xbox 360]], [[Wii U]], etc.), handheld consoles ([[PlayStation Vita]], [[New Nintendo 3DS|Nintendo 3DS]], etc.), on smartphones ([[Android (operating system)|Android]], [[iOS]], etc.), embedded systems ([[Raspberry Pi]], [[ODROID]], etc.) and even on web browsers by using the [[Emscripten]] compiler.
| |
− | | |
− | == History ==
| |
− | Formerly known as SSNES, initially based on pseudonymous programmer [[higan (emulator)|byuu]]'s ''libretro'' predecessor ''libsnes'', it began its development in 2010 with Hans-Kristian "themaister" Arntzen committing the first change on [[GitHub]]. It was intended as a replacement to [[Higan (emulator)|bsnes]]'s [[Qt (software)|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 7 distinct platforms.
| |
− | | |
− | On February 16, 2016, RetroArch became one of the first ever applications to implement support for the [[Vulkan (API)|Vulkan]] 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 [http://www.lakka.tv Lakka] ([[OpenELEC|LibreELEC]]-based RetroArch [[operating system]]), RetroArch would be on the [[Patreon]] crowdfunding platform to allow providing bounties for developers who fix specific [[software bug]]s and to cover the costs for [[Matchmaking (video games)|matchmaking]] servers.
| |
− | | |
− | On 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 Input Lag Compensation was added.
| |
− | | |
− | == Features ==
| |
− | Its major features include:
| |
− | * Advanced GPU [[shader]] support - A multi-pass post-processing shader [[Pipeline (computing)|pipeline]] allows efficient use of [[image scaling]] algorithms, emulation of complex [[CRT display|CRT]], [[NTSC]] video artifacts and other effects;
| |
− | * [https://github.com/libretro/libretro.github.com/raw/master/documents/ratecontrol.pdf 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-configuration needed from the user after plugging a gamepad in;
| |
− | * [[Peer-to-peer]] [[netplay]] that uses a [[rollback]] technique similar to [[GGPO]];
| |
− | * Audio [[Digital signal processor|DSP]] plugins like an [[Equalization (audio)|equalizer]], reverb and other effects;
| |
− | * Advanced savestate features - Automatic savestate loading, disabling SRAM overwritting, etc.;
| |
− | * Frame-by-frame gameplay rewinding at the press of a button;
| |
− | * Button overlays for [[touchscreen]] devices like smartphones;
| |
− | * [[Thumbnail]]s of game [[Video game packaging|boxarts]];
| |
− | * Low input and audio lag options;
| |
− | * Automatically build categorized playlists by scanning directories for games/ROMs;
| |
− | * Multiple interfaces including: [[Command-line interface|CLI]], XMB (optimized for [[gamepad]]s), GLUI/MaterialUI (optimized for touch devices) and RGUI (available everywhere);
| |
− | * [[ROM image|Game ROM]] scanner - Automatically constructs [[playlist]]s by comparing the [[Hash function|hashsums]] of a [[Directory (computing)|directory]]'s files against databases of hashsums of known good game copies.
| |
− | * Libretro [[database]] of cores, games, cheats, etc.
| |
− | * [[OpenGL]] and [[Vulkan API]] support.
| |
− | | |
− | == 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:
| |
− | {| class="wikitable"
| |
− | !System
| |
− | !Based on
| |
− | |-
| |
− | |[[3DO Interactive Multiplayer|3DO]]
| |
− | |4DO
| |
− | |-
| |
− | |[[Arcade game|Arcade]]
| |
− | |[[MAME]]
| |
− | | |
− | [[MESS]]
| |
− | | |
− | FinalBurnAlpha
| |
− | |-
| |
− | |[[Atari 2600]]
| |
− | |[[Stella (emulator)|Stella]]
| |
− | |-
| |
− | |[[Atari 5200]]
| |
− | |Atari800
| |
− | |-
| |
− | |[[Atari 7800]]
| |
− | |ProSystem
| |
− | |-
| |
− | |[[Atari Jaguar]]
| |
− | |Virtual Jaguar
| |
− | |-
| |
− | |[[Atari Lynx]]
| |
− | |[[Mednafen]]
| |
− | | |
− | Handy
| |
− | |-
| |
− | |[[Atari Falcon]]
| |
− | |Hatari
| |
− | |-
| |
− | |[[Bomberman]]
| |
− | |Mr. Boom
| |
− | |-
| |
− | |[[Cave Story]]
| |
− | |NXEngine
| |
− | |-
| |
− | |[[CHIP-8]]
| |
− | |Emux
| |
− | |-
| |
− | |[[ColecoVision]]
| |
− | |blueMSX
| |
− | |-
| |
− | |[[Commodore 64]]
| |
− | |VICE
| |
− | |-
| |
− | |[[Doom (1993 video game)|Doom]]
| |
− | |PrBoom
| |
− | |-
| |
− | |[[Sega Dreamcast|Dreamcast]]
| |
− | |Redream
| |
− | | |
− | Reicast
| |
− | |-
| |
− | |[[Famicom Disk System]]
| |
− | |[[Nestopia]]
| |
− | | |
− | [[Higan (emulator)|higan]]
| |
− | |-
| |
− | |[[FFmpeg]]
| |
− | |FFmpeg
| |
− | |-
| |
− | |[[Gameboy|Game Boy]] / [[Gameboy Color|Color]]
| |
− | |Emux
| |
− | | |
− | Gambatte
| |
− | | |
− | SameBoy
| |
− | | |
− | TGB Dual
| |
− | | |
− | [[Higan (emulator)|higan]]
| |
− | |-
| |
− | |[[Gameboy Advance|Game Boy Advance]]
| |
− | |[[Mednafen]]
| |
− | | |
− | gpSP
| |
− | | |
− | Meteor
| |
− | | |
− | mGBA
| |
− | | |
− | [[VisualBoyAdvance]]
| |
− | |-
| |
− | |[[Gamecube|GameCube]]
| |
− | |[[Dolphin (emulator)|Dolphin]]
| |
− | |-
| |
− | |[[Sega Gamegear|Game Gear]]
| |
− | |[[Genesis Plus|Genesis Plus GX]]
| |
− | |-
| |
− | |[[MSX]]
| |
− | |fMSX
| |
− | | |
− | blueMSX
| |
− | |-
| |
− | |[[NeoGeo Pocket|Neo Geo Pocket]] / [[Neo Geo Pocket Color|Color]]
| |
− | |Mednafen
| |
− | |-
| |
− | |[[NEC PC-98]]
| |
− | |Neko Project II
| |
− | |-
| |
− | |[[Nintendo 64]]
| |
− | |[[Mupen64Plus]]
| |
− | |-
| |
− | |[[Nintendo Entertainment System]]
| |
− | |[[Higan (emulator)|higan]]
| |
− | | |
− | [[FCEUX|Emux]]
| |
− | | |
− | FCEUmm
| |
− | | |
− | [[Nestopia]] UE
| |
− | | |
− | QuickNES
| |
− | |-
| |
− | |[[Nintendo DS]]
| |
− | |DeSmuME
| |
− | |-
| |
− | |[[Nintendo 3DS]]
| |
− | |[[Citra (emulator)|Citra]]
| |
− | |-
| |
− | |[[Odyssey²]]
| |
− | |[[O2EM]]
| |
− | |-
| |
− | |[[PC-FX]]
| |
− | |[[Mednafen]]
| |
− | |-
| |
− | |[[Sega Genesis#Sega 32X|32X]]
| |
− | |Picodrive
| |
− | |-
| |
− | |[[Sega Genesis#Sega CD|Mega CD/Sega CD]]
| |
− | |[[Genesis Plus|Genesis Plus GX]]
| |
− | |-
| |
− | |[[Sega Genesis|Mega Drive/Genesis]]
| |
− | |[[Genesis Plus|Genesis Plus GX]]
| |
− | |-
| |
− | |[[Sega Master System|Master System]]
| |
− | |PicoDrive
| |
− | | |
− | [[Genesis Plus|Genesis Plus GX]]
| |
− | |-
| |
− | |[[PlayStation Portable]]
| |
− | |[[PPSSPP]]
| |
− | |-
| |
− | |[[PlayStation|PlayStation]]
| |
− | |[[Mednafen]]
| |
− | | |
− | PCSX ReARMed
| |
− | |-
| |
− | |[[Pokémon Mini]]
| |
− | |PokeMini
| |
− | |-
| |
− | |[[Quake (video game)|Quake 1]]
| |
− | |TyrQuake
| |
− | |-
| |
− | |[[Sega Saturn]]
| |
− | |uoYabause
| |
− | [[Mednafen]]
| |
− | |-
| |
− | |[[Super Nintendo Entertainment System|Super NES]]
| |
− | |[[Bsnes]]
| |
− | | |
− | [[Higan (emulator)|higan]]
| |
− | | |
− | [[Snes9x]]
| |
− | |-
| |
− | |[[Tomb Raider (1996 video game)|Tomb Raider]]
| |
− | |OpenLara
| |
− | |-
| |
− | |[[TurboGrafx-16]] / [[SuperGrafx]]
| |
− | |[[Mednafen]]
| |
− | |-
| |
− | |[[TurboGrafx-CD]]
| |
− | |[[Mednafen]]
| |
− | |-
| |
− | |[[Vectrex]]
| |
− | |VecXGL
| |
− | |-
| |
− | |[[Virtual Boy]]
| |
− | |[[Mednafen]]
| |
− | |-
| |
− | |[[WonderSwan]]
| |
− | |[[Mednafen]]
| |
− | |-
| |
− | |[[ZX Spectrum]]
| |
− | |Fuse
| |
− | |-
| |
− | |[[ZX81]]
| |
− | |EightyOne
| |
− | |}
| |
− | | |
− | [[Category:Emulators]] | |