A cross-platform frontend for the libretro API, enabling emulators and game engines to run as modular cores.
RetroArch is a cross-platform, sophisticated frontend for the libretro API that allows users to run video game system emulators, game engines, and other multimedia applications as modular "cores." It provides a unified interface for handling audio, video, input, and application lifecycle across dozens of platforms, solving the problem of fragmented emulator interfaces and enabling consistent performance and features.
Retro gaming enthusiasts, emulator developers, and hobbyists who want a unified, feature-rich frontend for running multiple emulator cores across various operating systems and hardware, including PCs, mobile devices, and classic consoles.
Developers choose RetroArch for its extensive platform support, advanced technical features like real-time rewind and shader pipelines, and its modular core system that simplifies emulator integration and maintenance compared to standalone emulators.
Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs on over 40 platforms including Windows, macOS, Linux, Android, iOS, and game consoles, ensuring broad compatibility and consistent emulation experiences.
Supports real-time rewind, run-ahead latency reduction, and multi-pass shaders (Cg, GLSL, Slang) for enhanced gameplay authenticity and visual customization.
Loads emulators as dynamic libretro cores, allowing easy updates, portability, and integration without recompiling the frontend, as highlighted in the README.
Includes CRT SwitchRes for authentic 15kHz output and native resolution switching, crucial for arcade and console accuracy with detailed modeline requirements.
Configuring features like CRT SwitchRes requires installing specific modelines and system restarts, which the README admits can be cumbersome and technical.
Optimal usage relies on multiple audio and video libraries (e.g., ALSA, PulseAudio, DirectSound), increasing setup complexity despite no hard dependencies.
With multiple UI drivers (XMB, RGUI, Ozone, GLUI) and extensive settings, the interface can be cluttered and difficult to navigate without prior experience.