RetroArch
Frontend for emulators, game engines and media players
libretro ✓ Verified
org.libretro.RetroArchRetroArch enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all.
It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all. RetroArch has advanced features like shaders, netplay, rewinding, next-frame response times, runahead, and more!
Screenshots
Observed history
| App | Change | Version | When ↑ |
|---|
No observed changes yet.
The initial import establishes a baseline. Future version changes will appear here.
Browse the app catalogue →Upstream releases
Release notes supplied by the developer. These dates are not Flathub package publication times.
1.22.222 Nov 2025
- Update to RetroArch 1.22.2
1.22.116 Nov 2025
- XMB: Fix null pointer crash in xmb when scrolling
- LIBRETRO: Build fix for stb_vorbis
- LIBRETRO: Slim down stb_rect_pack/stb_truetype/dr_flac
1.22.010 Nov 2025
- AUTOCONF: Autoconfig match extended with a physical identifier
- CAMERA: Use ffmpeg libavfilter virtual input device as default
- CHEEVOS: Show additional message for unsupported achievements
- CHEEVOS: Upgrade to rcheevos 12.1
- CHEEVOS: Change expired token message from info to error
- CHEEVOS: Hashing of RVZ files is now supported
- CLOUDSYNC: Don't always trust the server hash
- CLOUDSYNC: Enable WebDAV support for Android
- DATABASE: Improve multidisk game scanning
- DATABASE: Filter in Database Manager now works for genre and region
- INPUT: Default key and mouse binds for lightgun Start and Select buttons
- INPUT: Turbo mode corrections
- INPUT: Turbo fire settings are now saved to remaps, not to overrides
- INPUT: Fix menu usage when OK/Cancel has mouse binds
- INPUT: Ignore menu mouse startup position before moving
- INPUT: Fix heavy slowdown when using Bluetooth XInput controllers with rumble
- INPUT: Reset and close content hotkeys now require confirmation, similar to quit
- INPUT: Menu toggle and hotkey enable can now be assigned to the same key
- INPUT: Option to have hotkeys follow the port mapped first to the core
- INPUT/UDEV: Fix lost terminal settings after restart from menu
- INPUT/BSV/REPLAY: Bumped replay format version to 2. Old replays will still play back fine.
- INPUT/BSV/REPLAY: Add option to skip deserializing checkpoints from replay files
- INPUT/BSV/REPLAY: Add checkpoint and initial savestate compression
- INPUT/BSV/REPLAY: Add incremental checkpoints based on statestreams
- INPUT/BSV/REPLAY: Checkpoint compression and encoding can be combined
- INPUT/BSV/REPLAY: Add hotkeys and text commands to force a checkpoint insertion into the currently recording replay
- INPUT/BSV/REPLAY: Add a text command to seek to a specific frame of the currently playing/recording replay
- INTL: Add Irish Gaelic to selectable languages
- LIBRETRO: Deprecate intfstream_open_writable_memory
- LIBRETRO: New environment function RETRO_ENVIRONMENT_GET_TARGET_SAMPLE_RATE
- LINUX: Add full complement of key/value pairs to desktop entry
- MENU: Common Thumbnail Background option for all menu drivers
- MENU: Move core options reset from Settings/Configuration to Main Menu / Configuration Files
- MENU: Use right analog stick for thumbnail cycling in playlists
- MENU: Option to always suggest cores, even when a core is already loaded
- MENU: Option to show Favorites before History
- MENU: Media history playlists are now visible in playlist manager
- MENU: Import Content visibility defaults reverted
- MENU: Update CRTSwitchRes menu options for future use
- MENU: Debug builds are indicated in Information menu
- MENU: Save As / Save Main options for configuration file
- MENU: Unwanted input is prevented when menu is triggered by toggle combo
- MENU: 32-bit values in cheats and rumble are not presented as huge lists
- MENU: Less important widgets are now sized like task notifications
- MENU: Play count is added to runtime log
- MENU: Configurable startup page (several options beside default Main Menu)
- MENU: Shader menu rework
- MENU: Single-click start option from playlists and Explore view
- MENU: Allow kiosk mode and hiding of Settings menu also in GLUI and RGUI
- MENU: Task widget improvements
- MENU/GLUI: Show thumbnails in Explore view
- MENU/XMB: Select button toggles thumbnails in playlists
- MENU/XMB,OZONE: Fix content icons when playlist tabs are hidden
- MENU/OZONE: Horizontal padding factor option
- MENU/OZONE: Custom font selection and scaling factor
- MENU/RGUI: Clock format is now configurable and moved to top header
- NETPLAY: Push room info to lobby
- NETWORK: Fixes for nmcli wifi driver
- NETWORK: Network command interface enabled for Android, iOS, TVOS
- OTHER: ZStandard support and libchdr update for support of chd files converted with createdvd option
- OVERLAY: Speed limit on touch pointer tracking
- OVERLAY: Dedicate each touch pointer to hitboxes or pointing devices
- OVERLAY: Fix overlay turbo fire
- PLAYLIST: Built-in playlists are now stored under playlists/builtin
- PLAYLIST: Fix subsystem information in playlists
- REPLAY: Bugs fixed regarding rewind
- REPLAY: Same timeline check and future state check for replays vs. savestates
- SAVESTATES: Savestate thumbnails are default enabled for x86_64 builds
- SAVESTATES: Slot is now remembered using the runtime log file
- SAVESTATES: Slot hotkey widget shows save state thumbnail
- SCAN: Fix crash with Sega CD
- SCAN: Log files without database match
- SCAN: Optimization of database queries by content file size
- VIDEO: Fix auto swap interval setup
- VIDEO: Improvements for integer scale half scaling
- VIDEO: Adjustments to smart integer scaling, considering title safe area
- VIDEO: Frame delay improvements for the automatic setting
- VIDEO: Auto-enable GPU recording with HW context cores
- VIDEO: Fix viewport bias when using custom aspect ratio
- VIDEO/GL: Fallback OpenGL symbol loader for Linux devices with EGL < 1.5
- VIDEO/GL: Support for Cg and GLSL shaders in the GLCore video driver
- VIDEO/GL: Improve GLES version detection
- VIDEO/SHADER: Shader hold function, useful for some lightguns and shader comparison
- VIDEO/SWITCHRES: Horizontal and vertical geometry adjustment options added
- VIDEO/SWITCHRES: Game overrides
- VIDEO/WAYLAND: Support for xdg-toplevel-icon-v1
- VIDEO/WAYLAND: Fix deadlock when using Wayland Vulkan driver
- VIDEO/WAYLAND: Fix fullscreen on auto monitor index (partial)
1.21.029 Apr 2025
- AUTOCONF: Enable alternative display name in autoconfig files
- AUTOCONF: Make autoconfig failure messages optional
- AUDIO: Option to mute on rewind
- AUDIO/PIPEWIRE: Fix app launch when pipewire service is stopped
- AUDIO/PIPEWIRE: Fix speedup with threaded video mode
- AUDIO/PIPEWIRE: Fix latency setting and microphone handling
- AUDIO/PIPEWIRE: Pass the new rate to the audio driver
- CAMERA: Add PipeWire camera driver
- CAMERA: Add ffmpeg camera driver
- CHEAT: Rewrite part of cheat_manager_load_cb_second_pass()
- CHEEVOS: Include achievement state in netplay states
- CHEEVOS: Fix crash when entering achievements in quick menu while client is not present
- CHEEVOS: Restore cheevos_badges_enable for HAVE_GFX_WIDGETS builds
- CLI: Allow --entryslot to fall back to normal states
- CLOUDSYNC: Workaround for duplicated requests bug
- CLOUDSYNC: Workaround for 301 redirects
- CLOUDSYNC: Handle ignored directories properly
- GENERAL: Fix save state auto increment
- GENERAL: Fix softpatching with periods/dots in the file name
- GENERAL: Fix compilation with --enable-videocore
- GENERAL: Allow asset directory redefinition and other directory overrides via environment variables
- GENERAL: Allow override of player 1/2 input with machine learning models (needs recompilation and external library)
- GENERAL: Fix performance counter option not remembered between sessions
- GENERAL: Create security statement
- GENERAL: Fix crash when core is not selected
- GENERAL: Use core fps instead of screen refresh for calculating dropped frames
- INPUT: Fix a crash when initializing illuminance sensor on Linux
- INPUT: Analog-to-digital refactor, fixing behavior when analogs are assigned to keys
- INPUT: Turbo fire overhaul
- INPUT/COCOA: Include gravity in acceleration sensor values
- INPUT/COCOA: Fix relative mouse input
- INPUT/COCOA: Allow mouse input while mouse overlay is active
- INPUT/WINRAW: Invert mouse index order
- LAKKA: Remove bluetooth device after disconnection
- LINUX/X11: Extend X11 input driver with XInput2 extensions for multi-mouse
- MENU: Add SSL support to the information list
- MENU: Add warning to BFI and related menu items
- MENU: Fix latency statistics when using runahead
- MENU: Fix opening file inside archive with core selection
- MENU: Main menu unified between different menu drivers
- MENU: Visibility toggle for playlist tabs
- MENU: Color the notification icon by message category
- MENU: Gray Dark+Light theme adjustments
- MENU/GLUI: Menu back button switches tabs like in other menu drivers
- MENU/GLUI: Tab selection option is honored
- MENU/GLUI: Fix CD icon appearing when no icon is specified
- MENU/GLUI: Allow fullscreen thumbnail browsing
- MENU/GLUI: Save state thumbnails
- MENU/PLAYLISTS: Random selection/shuffle function
- MENU/QT: Fix desktop menu crash with Cheevos disabled
- MENU/RGUI: Cleanups of certain menu items
- MENU/RGUI: Thumbnail fixes
- MENU/OZONE: Fix messagebox background
- MENU/XMB: Fix Light theme, font shadow
- MENU/XMB: Appearance menu cleanup
- MENU/XMB: Icon thumbnail can be any of the existing types
- MISC: Guard nanosleep prototype behind _POSIX_TIMERS
- MISC: Use fabsf and intended threshold for refresh rate check
- MISC: Use platform-specific checks for invalid descriptors
- MIDI: Add dropdown items for midi device selection
- NETWORK: Refactor of net_http, improvements for task blocking and performance
- NETWORK: Follow http redirects in net_http
- NETWORK: Expire failed DNS lookups much faster
- NETWORK: Fix netplay when using netpacket interface with recent cheevos
- NETWORK/HTTP: Fix crash in net_http_resolve() in single-thread mode
- OVERLAY: Fix overlay lightgun, mouse and pointer
- OVERLAY: Preferred overlay loading is now default only on mobile platforms
- OVERLAY: Improve analog recentering when touching the area just outside the recentering zone
- QT: Enable non-png thumbnails also for Qt interface
- REPLAY: Fix issue when replaying old format input recordings in newer RetroArch
- TTS: Fix initial text-to-speech on Windows
- SAVESTATES: Reset state index when loading new content
- VIDEO: Enable BFI setting for mobile platforms (mind the warnings)
- VIDEO/OpenGLES: Fix FP/sRGB FBO support
- VIDEO/SHADERS: Allow exact refresh rate sync with shader subframes
- VIDEO/SHADERS: FIX shader wildcards
- VIDEO/VULKAN: Enable adaptive vsync
- VIDEO/V4L2: Added resolution picker/forcing.
- VIDEO/V4L2: Rewrote logic for finding ALSA audio devices in enumerate_audio_devices function
- VIDEO/V4L2: Added a skip for some of the interface queries that fail and are not required for magewell usb.



