📈 GH Trending Explorer 🎲 Surprise me

← all repos

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)

2026-10-20 · 14,386 ★ 2026-10-22 · 14,394 ★
LanguageC
LicenseGPL-3.0
Created2010-05-27 (16y ago)
Last pushtoday
Watchers335
OwnerOrganization

GitHub topics

Links

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