libretro / RetroArch
git clone https://github.com/libretro/RetroArch.git
v1.22.2 · 11mo ago
Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
+6
stars, 24h · #2,420
+~42
stars, 7 days · #2,985
+~180
stars, 30 days · #2,952
14k
★ total · +0% this week
2.3k
forks · 3.0k open issues
Star history (as recorded here)
LanguageC
LicenseGPL-3.0
Created2010-05-27 (16y ago)
Last pushtoday
Watchers335
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/libretro/RetroArch
- Homepage: http://www.libretro.com
- Releases · Issues · Hacker News mentions
README excerpt
# RetroArch 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". ## libretro libretro is an API that exposes generic audio/video/input callbacks. A frontend for libretro (such as RetroArch) handles video output, audio output, input and application lifecycle. A libretro core written in portable C or C++ can run seamlessly on many platforms with very little to no porting effort. 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. libretro API header ## Binaries Latest binaries are currently hosted on the buildbot. ## Support To reach developers, either make an issue here on GitHub, make a thread on the forum, chat on Discord. You could create a post in Reddit with *Technical Support* flair. ## Documentation See our Documentation Center. On Unix, man-pages are provided. More developer-centric stuff is found here. ## Related projects - Cg/HLSL shaders: common-shaders - slang shaders: slang-shaders - GLSL shaders: glsl-shaders - Helper scripts to build libretro implementations: libretro-super - GitHub mirrors of projects, useful for generating diff files: libretro-mirrors ## Philosophy RetroArch attempts to be small and lean while still having all the useful core features expected from an emulator. It is designed to be very portable and features a gamepad-centric and touchscreen UI. It also has a full-featured command-line interface. 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 also emphasizes being easy to integrate into various launcher frontends. ## Platforms 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 ## Depend