RetroArch is a multi-system emulator for Linux, Windows, Mac OS X and *BSD. It is formerly known as SSNES. Its design and background is quite different than most other emulators as RetroArch does not implement an emulation core itself. RetroArch talks to libretro, a generic emulator core API. This means that RetroArch is core agnostic, and it does not care which emulator core is running.



Currently there are libretro implementations for systems such as SNES, NES, GBA, GB/GBC, Genesis, and even arcade games (Final Burn Alpha).

libretro isn't only usable for emulators. A preliminary port of an open source reimplementation of Cave Story has been ported to libretro as well.

RetroArch believes in modularity. The application itself is a command-line driven application suitable for HTPC and/or headless use. There also exists a GUI frontend for RetroArch, supporting every single config option available in RetroArch.

RetroArch v1.6.3 Changelog:

* IOS: Fix GL regression – 32bit color format cores were no longer rendering
* CHEEVOS: Add support for N64 cheevos and other small fixes.
* CHEEVOS: Add ‘Achievements -> Achievements Verbose Mode’. Ability to display cheevos related messages in OSD, useful for RetroAchievements users.
* AUDIO: Audio mixer’s volume can now be independently increased/decreased, and muted.
* AUDIO: Mute now no longer disables/enables audio but instead properly mutes the audio volume. Mute is also independent from the audio mixer volume.
* INPUT: Add mouse index selection; ability now to select between different mice
* INPUT: Fix ‘All Users Control Menu’ setting
* LINUX: Add a tinyalsa audio driver. Doesn’t require asoundlib, should be self-contained and lower-level.
* LOBBIES: Announce the RetroArch version too
* LOCALIZATION: Add Traditional Chinese translation
* LOCALIZATION: Update French translation
* LOCALIZATION: Update Italian translation
* LOCALIZATION: Update Japanese translation
* LOCALIZATION: Update Russian translation
* MENU: Add ‘User Interface -> Views’. Ability to display/hide online updater and core updater options.
* NETPLAY: Disconnecting one client shouldn’t cause everyone to disconnect anymore
* NETWORK: SSL/TLS support, disabled by default
* SCANNER: Fix PS1 game scanning
* SCANNER: Move content list builder into scanner task with progress, fixes menu freeze with large playlists
* SDL2: Fix ‘SDL2 driver does not see the hat on wired Xbox 360 controller”
* SETTINGS: Fix regression ‘Custom Viewport is no longer overridable per-core or per-game’
* VITA: Add cheevos support
* VITA: Add support for external USB if mounted
* WAYLAND: Fix menu mouse input
* WII: Add support for single-port ‘PS1/PS2 to USB controller adapter’
For: Windows, Linux, and macOS

https://www.libretro.com