Skip to content
RetroArch
EntityQ39052330· pop 16· linked from 28 articles

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, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.

Key facts

Software.name
RetroArch
Software.logo
RetroArch logo.png
Software.screenshot
File:Retroarch Netplay-lobby.png
Software.caption
Screenshot of RetroArch running under the XMB user interface
Software.developer
Libretro
Software.operating system
Haiku, Unix-like, Linux, Android, iOS, iPadOS, 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, AmigaOS, visionOS
Software.platform
IA-32 (x86), x86-64 (x64), ARMv7, AArch64, PowerPC, MIPS, Cell
Software.language
English, Mandarin, Spanish, German, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Vietnamese, Turkish, Arabic, Greek, Persian, Hebrew, Asturian
Software.genre
Video game console emulator
Software.website
,

via Wikipedia infobox

Source code

RetroArch is the reference frontend for the libretro API. Popular examples of implementations for this API includes video game system emulators and game engines as well as more generalized 3D programs. These programs are instantiated as dynamic libraries. We refer to these as "libretro cores". While RetroArch is the reference frontend for libretro, several other projects have used the libretro interface to include support for emulators and/or game engines. libretro is completely open and free for anyone to use. See our Documentation Center. On Unix, man-pages are provided. More developer-centric stuff is found here. In some areas, RetroArch goes beyond and emphasizes on not-so-common technical features such as multi-pass shader support, real-time rewind (Braid-style), video recording (using FFmpeg), run-ahead input latency removal, etc. RetroArch has been ported to the following platforms: Android (2.x to most recent version) Apple iOS Apple macOS (PPC, x86-32 and x86-64) Apple tvOS Blackberry DOS Emscripten (WebAssembly and JavaScript) FreeBSD Haiku LG webOS Linux Original Microsoft Xbox Microsoft Xbox 360 (Libxenon/XeXDK) Microsoft Xbox One Microsoft Xbox Series S/X Miyoo NetBSD Nintendo NES/SNES Classic Edition Nintendo GameCube Nintendo Wii Nintendo Switch Nintendo Wii U Nintendo 3DS/2DS OpenBSD OpenDingux PlayStation2 PlayStation3 PlayStation4 PlayStation Portable PlayStation Vita Raspberry Pi ReactOS Redox OS RetroFW RS90 SerenityOS Solaris Windows NT 3.5 Windows 95 Windows 98 Windows 2000 Windows XP Windows Millennium Windows Vista Windows 7 Windows 8 Windows 10 Windows 11 On Linux, there are no true dependencies. For optimal usage, the following dependencies come as recommended: GL headers / Vulkan headers X11 headers and libs, or EGL/KMS/GBM To run properly, RetroArch requires a libretro implementation present; however, as it's typically loaded dynamically, it's not required at build time. Console ports have their own dependencies, but generally do not require anything other than what the respective SDKs provide. OpenGL1 Your videocard needs to at least support the OpenGL 1.1 spec. OpenGL2 Your videocard needs to at least support the OpenGL 2.1 spec. Shaders: You can choose between either NVIDIA Cg shaders (deprecated, requires separate runtime to be installed on your system), or GLSL shaders. OpenGL3 Your videocard needs to at least support the OpenGL 3.2 core feature spec. Shaders: You will be able to use modern Slang shaders with this driver. Direct3D 11 Your videocard needs to at least support the Direct3D11 11.0 spec. The card also needs to support at least the Shader Model 4.0. Shaders: You will be able to use modern Slang shaders with this driver. Vulkan Your videocard needs to at least support the Vulkan 1.0 spec. Shaders: You will be able to use modern Slang shaders with this driver. RetroArch will on startup create a config file in $XDG CONFIG HOME/retroarch/retroarch.cfg if it does not exist. Users only need to configure a certain option if the desired value deviates from the value defined in config.def.h. Instructions for compiling and installing RetroArch can be found in the Libretro/RetroArch Documentation Center. The default super resolution is 2560. It is displayed just under the CRT switch option, which can be found in video settings. This can be changed within the retroarch.cfg. The only compatible resolutions are 1920, 2560 and 3840. Any other resolutions will be ignored and native switching will be activated. These modelines are more accurate giving exact hz. However, some games may have unwanted results. This is due to mid-scanline resolution changes on the original hardware. For the best results super resolutions are the way to go. Some arcade resolutions can be very different from consumer CRTs. There is resolution detection to ensure MAME games will be displayed in the closest available resolution but drawn at their native resolution within this resolution. Meaning that the

Excerpt from the source-code README · 12,426 chars · not written by Vinony

Wikidata facts

Distribution format
digital distribution
Official website
www.libretro.com
Image
Retroarch screenshot.png
Show 11 more facts
software version identifier
1.22.2
source code repository URL
git.libretro.com/libretro/RetroArch
programmed in
C
operating system
OpenBSD
Commons category
RetroArch
distributed by
itch.io
language of work or name
English language
number of viewers/listeners
257599
publication date
2010-05-25
Sources (11)

via Wikidata · CC0

~11 min read

Encyclopedic overview

7 sections
Contents
  • History
  • Features
  • Supported systems
  • Reception
  • See also
  • References
  • External links

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, 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 interfaces such as command-line interfaces, a few graphical user interfaces optimized for gamepads, several input, audio and video drivers, and other sophisticated features such as dynamic rate control, audio filters, multi-pass shaders, netplay, gameplay rewinding, cheats, etc.

Excerpted from Wikipedia’s “RetroArch” article, available under the CC BY-SA 4.0 licence.