com.libretro.RetroArch retroarch.desktop RetroArch Frontend for emulators, game engines and media players libretro https://www.retroarch.com https://github.com/libretro/RetroArch/issues https://docs.libretro.com https://retroarch.com/?page=faq https://retroarch.com/index.php?page=donate RetroArch main menu https://www.libretro.com/wp-content/uploads/2020/03/ozone-768x414.png RetroArch running the NES https://www.libretro.com/wp-content/uploads/2020/03/micromachines-200313-175514-768x672.png Rabbit : a fighting game from 1997, one of the only Electronic Arts arcade games https://www.libretro.com/wp-content/uploads/2020/03/rabbit-200313-180233-768x575.png Wolfenstein 3D (Shareware) https://www.libretro.com/wp-content/uploads/2020/02/gamemaps-200225-094528-768x480.png

RetroArch 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!

GPL-3.0 CC0-1.0 https://github.com/libretro/RetroArch/releases/tag/v1.9.11
  • INPUT: Refactor menu toggle combo button logic to allow quit combo button
  • INPUT/UDEV: Add mouse relative check and set appropriately to fix issue
  • LIBRETRO: Add environment callback to enable cores to notify the frontend that a core otion value has changed
  • STEAM/LINUX: Move to new 'soldier' runtime
  • WAYLAND: Remove xdg-shell-v6 protocol
https://github.com/libretro/RetroArch/releases/tag/v1.9.10
  • AUDIO/MIXER: Pad sample buffers to prevent potential heap-buffer-overflows when resampling (fixes crash when using 30 kHz menu audio files)
  • AUDIO/LINUX/SNAP: Add JACK support
  • CHEEVOS: Don't write achievement credentials to overrides
  • CHEEVOS: Disable slowmotion when enabling hardcore mode
  • BUGFIX/ANDROID: Fix crash that could happen on Android with Sameboy core - would crash on rumble function
  • GFX/WIDGETS: New regular widget message appearance
  • INPUT/MOUSE: Add distinct mouse zero index label for drivers that do not support multimouse
  • INPUT/RUMBLE: Add generic rumble gain to input settings
  • INPUT/UDEV/X11: Add workaround to fix keyboard input when using X11 + Udev
  • LIBNX/SWITCH: Add Video Filters support
  • LOCALIZATION: Fetch translations from Crowdin
  • OPENDINGUX/BETA: Disable OpenAL
  • PLAYLISTS: Add 'Refresh Playlist' option
  • STEAM: Initial release on Steam
  • UWP/VFS/XBOX: Improvements and bugfixes to UWP VFS driver
  • VIDEO/REFRESH RATE: Automatic PAL/NTSC refresh rate switch where available - as long as the platform display server allows changing refresh rates and the display has the desired refresh rate
  • VIDEO FILTERS: Add 'Picoscale_256x-320x240' video filter
https://github.com/libretro/RetroArch/releases/tag/v1.9.9
  • AUDIO/MIXER: Ensure than menu sounds are re-enabled when calling CMD_EVENT_AUDIO_REINIT
  • AUDIO/RESAMPLER/MIXER: Fix menu sounds (audio mixing) when using the 'sinc' resampler with quality lower than 'normal'
  • AUDIO/CONVERSION/ARM NEON: Add intrinsic NEON versions for float_to_s16/s16_to_float - should lead to optimized codepaths for AArch64/ARMv7 architectures without being dependent on ASM codepaths.
  • AUDIO/RESAMPLER/ARM NEON: Add intrinsic NEON version for lanczos sinc function - should lead to optimized codepaths for AArch64/ARMv7 architectures without being dependent on ASM codepaths.
  • CHEEVOS: Upgrade to rcheevos 10.2
  • CHEATS: Add enhanced search functionality to the 'Cheats' menu
  • CHEATS/RUNAHEAD: Fix cheats when using second instance runahead
  • CONFIG: Add option to (force-)write current core options to disk (Quick Menu)
  • CORE INFO CACHE: Remove core path from core info cache. Should make core info caches portable now (for example: you can move RetroArch to a separate dir and they would still work).
  • INPUT/OVERLAY: Fix overlay input when analog to digital mapping is enabled
  • INPUT/UDEV: Look for "ID_INPUT_KEY", not "ID_INPUT_KEYBOARD"
  • MENU: Allow 'Custom Aspect Ratio (X Position)/(Y Position)/(Width)/(Height)' to be entered manually via keyboard
  • MENU: Allow 'Vertical Refresh Rate' to be entered manually via keyboard
  • MENU/SHADERS: Highlight currently selected value in Shader Parameter drop-down lists
  • STABILITY: Safer way of avoiding the race condition in audio_driver_sample/audio_driver_sample_batch
  • STABILITY: When audio driver write callback function fails, don't turn audio off completely
  • STABILITY: Input robustness for cores that use internal threading, no audio should be processed at this point in time
  • VIDEO: Screen resolution list sanitizing
  • VULKAN: Fix some Vulkan validation layer errors
https://github.com/libretro/RetroArch/releases/tag/v1.9.8
  • CHEEVOS: Hide challenge indicators when resetting
  • CHEEVOS: Support for more than 64 memory regions
  • CHEEVOS: Automatically retry 'http error code -1'
  • CONTENT INFORMATION: Show content info label+path rows always
  • CORE OPTIONS: Core option categories implemented
  • CORE OPTIONS: Add option to disable core option categories
  • DATABASE: Fix heap-buffer-overflow when fetching CRC values
  • DATABASE/EXPLORE: Fix CRC32 reading in explore menu
  • DATABASE/LIBRETRODB: Fix writing of numerical values
  • DATABASE/LIBRETRODB: Fix libretro-db loading on big endian platforms
  • INPUT/UDEV: Limit udev device scan to subsystem 'input'
  • INPUT/SDL2/WINDOWS: Fix keyboard event keycodes
  • INPUT/WAYLAND: Fixes a bug where the first player's mouse, pointer, and lightgun are echoed to the other ports. Now, those other ports correctly report zero. In the future support for multiple mouselike devices will need to be added, which is a bigger project
  • INPUT/WAYLAND: The driver now respects keyboard_mapping_blocked
  • INPUT/WAYLAND: When possible, deprecated lightgun defines are replaced with the new ones. The coordinates are still using the old relative callbacks
  • LIBRETRO: Core options category API implemented
  • LIBRETRO: Fix RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE callback when runahead is enabled
  • LIBRETRO: Add environment callback for enabling core option menu visibility updates without toggling Quick Menu
  • LOGGING: Starting logging and verbose mode before first config load
  • LINUX: In some Linux Desktop Environments, like Budgie, task bar feature is unable to pin applications. With StartupWMClass= present in .desktop file, it is possible to pin the application
  • LOCALIZATION: Fetch translations from Crowdin
  • MENU: Relocate 'Manage Playlists' to top
  • MENU: Fullscreen resolution width/height settings no longer require 'advanced settings'
  • MENU/REFRESH RATE: Fix double notifications with refresh rate settings
  • MENU/OZONE: Ensure the existence of values used in selection calculation
  • MENU/OZONE/VULKAN: Casting to unsigned caused an integer overflow and after float promotion would lead to 'x' being a garbage value, leading to problems when this value was passed to vkCmdSetViewport. This stops Vulkan validation layers from complaining about it
  • MOUSE: Change default mouse index to port index
  • MOUSE: Friendly names for mice where available
  • VIDEO: Fix refresh rate 59Hz rounding
https://github.com/libretro/RetroArch/releases/tag/v1.9.7
  • CORE INFO: Automatically disable core info cache when core info directory is read-only
  • INPUT/UDEV: udev fixes add pointer pressed to pointer device to allow udev users to access this device
  • LINUX/XDG: Prevent xdg-screensaver's "Protocol error" messages
  • LOCALIZATION: Fetch translations from Crowdin
  • LOCALIZATION: Add missing languages for the first startup
  • MENU/XMB/WIDGETS: Add workaround for FPU bug that breaks scale factor comparisons on certain platforms (fixes XMB thumbnails on 32bit Linux/Windows)
  • MENU/RGUI: Enable fullscreen thumbnail toggle using RetroPad 'start' button
  • MENU/RGUI: Fix sublabel length when menu clock is disabled
  • NETWORK/HTTP: Fix HTTP progress indication for large files on 32-bit systems
  • NETWORK/NATT: implement natt fix from void()
  • PATHS: Fix garbled path string
  • SHADERS: Max Shader Parameters increased to 1024
  • VIDEO: Add 'Integer Scale Overlay' - Force integer scaling to round up to the next larger integer instead of rounding down
  • VIDEO: New 'Full' aspect ratio added. This aspect ratio is useful when used with a shader which has a border in it. The aspect ratio is set to the full window area, so that the viewport spans the whole viewport. When using a border type shader like the Mega Bezel this allows the graphics to span the whole window regardless of the user's monitor aspect ratio
  • UNIX: Correct backlight max_brightness path
https://github.com/libretro/RetroArch/releases/tag/v1.9.6
  • ARCHIVE: Fix archive delimiter detection when file path contains no slashes
  • ANDROID: Do not duplicate port 0 mouse and gun inputs to other ports
  • AUDIO/XAUDIO2: Fail instead of crashing when disconnecting an audio device
  • CHEEVOS: Reset cached progress each time menu is opened
  • GFX: Fix uninitialized variables in gfx_display_draw_cursor
  • HISTORY: Hide 'Add to Favorites' when viewing an entry of the favorites playlist
  • INPUT: 'Analog to Digital Type' usability improvements
  • INPUT: Add support for mapping multiple controllers to a single input device
  • INPUT/REMAPPING: Add support for mapping multiple controllers to a single input device
  • INPUT/LIGHTGUN: Bind lightgun trigger to first mouse button by default
  • INPUT/UDEV: Only add mouse if it has buttons and add vebose device friendly names
  • INPUT/UDEV: Skip mouse with no button errors and keep the rest
  • INPUT/UDEV: Fix Game Focus mode
  • INPUT/UDEV/X11: Change udev driver for dual lightgun support in X11
  • LOCALIZATION: Fetch translations from Crowdin
  • LOCALIZATION: Fix Switchres menu texts
  • MENU/OZONE: Ensure sidebar display status is updated correctly when performing rapid menu navigation
  • MENU/XMB: Dynamic wallpaper fix
  • MENU/XMB: Icon opacity fix
  • MENU/QT/WIMP: Fix default core detection when playlist file name does not match db_name
  • PLAYLISTS: Optimise scanning of large rom sets
  • X11: Fix threaded video segfault
https://github.com/libretro/RetroArch/releases/tag/v1.9.5
  • ALSATHREAD: Make alsathread default for all ALSA devices with threads
  • ARCHIVE: Fix loading of archived content with file names containing # characters
  • CHEEVOS: Upgrade to rcheevos 10.1
  • CHEEVOS: Challenge indicators
  • CHEEVOS: Group achievements by category in quick menu
  • CHEEVOS: Relabel Start Active with Encore Mode
  • FONTS: Improve message wrapping with CJK languages
  • FONTS: Fix garbled characters when converting encodings
  • INPUT: Allow the 8 analog stick directions to be used as keys for core keyboard mappings
  • LIBRETRO: Add API extension for setting need_fullpath based on content file extension and to request persistent frontend content data buffers
  • MENU/SEARCH: Add enhanced search functionality to the 'Manage Cores' menu
  • UNIX: Get better battery stats on sysfs nodes
  • VIDEO: Extend Frame Delay range to 19 to accommodate PAL land too
  • X11: fix fullscreen when swapping monitors/resolution
https://github.com/libretro/RetroArch/releases/tag/v1.9.4
  • CHEEVOS: update rcheevos to v10.0.0
  • CONTENT LOADING/FILE IO: Prevent unnecessary extraction (to disk) of compressed content files when need_fullpath is false
  • CORE INFO/FILE IO: Enable core info cache by default now for all platforms
  • CORE INFO/REGRESSION FIX: Fix regression caused by core info file caching - Downloads was no longer showing up in Load Content
  • FILE IO/COMPRESSED: Ability to load content inside ZIP files directly into RAM
  • INPUT/OVERLAYS: Add option to select between 'touched' elements and physical controller inputs when showing inputs on overlays
  • INPUT REMAPPING/OVERLAYS: Prevent duplicate inputs when using remaps with input overlays
  • LOCALIZATION: Fetch translations from Crowdin
  • MENU/OZONE: Added simple playlist entry enumeration
  • MENU/XMB: Fix display of 'Maximum Users' menu entry dropdown list
  • RPNG: Fix some memory corruption if processing broken input PNG file
  • SECURITY: Fix CVE-2021-28927
https://www.libretro.com/index.php/retroarch-1-9-3-released/
  • COMMAND: Initialize netcmd->cmd_source_len before recvfrom()
  • CONTENT LOADING/STATICALLY LINKED: Ensure 'Always Reload Core on Run Content' setting is applied when loading content via the file browser
  • CONTENT LOADING/EMSCRIPTEN: Fix content loading via file browser on platforms with 'broken' core handling (i.e. emscripten)
  • CORE INFO: Skip whitespace when writing compressed core info cache files
  • CORE INFO/FILE IO: Core Info cache; significant file I/O performance improvements on systems with slow disk file I/O
  • CORE INFO/FILE IO: Enable core info cache by default on all 'console' platforms
  • FREEBSD: FreeBSD build fix
  • LIBRETRO API: Add API extension for cores to override frontend fast-forward state
  • MENU/RGUI: Fix saving of config files/overrides when 'Lock Menu Aspect Ratio' is enabled
  • SHADERS: Fix 'Auto-Shader Delay' functionality
https://www.libretro.com/index.php/retroarch-1-9-2-released/
  • CHEEVOS: Allow rcheevos_patch_address to be called on game without achievements
  • CHEEVOS: Update achievement memory maps (add Supervision)
  • CONFIG/FILE: Use hash map to optimise key/value lookups
  • CORE INFO: Performance optimisations + code clean-ups/refactors
  • CRT/SWITCHRES: Fixed CRTSwitchRes framebuffer bug
  • DISCORD/RP: Fix regression
  • DRM: set the correct video mode
  • FASTFORWARD: Enforce minimum fastforward_ratio of 1.0
  • FONTS/FREETYPE/STB_UNICODE/BITMAPFONT: Prevent texture bleed when rendering text at non-integer scales
  • INPUT: Ensure that 'retro_set_controller_port_device' is called when updating 'Max Users'
  • INPUT/XEGL/MOUSE: Fix xegl_ctx.c mouse activation
  • INPUT/SDL: Fix crash in SDL input driver when analogs are bound.
  • INPUT/POINTER: Add scaling to pointer input.
  • INPUT REMAPPING: Fix regression on loading file
  • INPUT REMAPPING: Fix regression where disabling input remapping would disable input
  • LOGGING: RARCH_LOG_V checking for verbosity level is not necessary and can cause issues; removed said check.
  • LOGGING: Silence inappropriate cheatfile logging
  • MENU: Add optional menu screensaver
  • MENU: Add search filter support to cheats and overlays file browser menus
  • MENU/FILEBROWSER: Enhanced 'Load Content' file browser search functionality
  • MENU/INPUT: Block accidental diagonals in menu navigation
  • MENU/RGUI: Add option to disable menu transparency
  • MENU/RGUI: Fix display of 'Video > Scaling' menu when 'Lock Menu Aspect Ratio' is enabled
  • MENU/MATERIALUI: Add icon to 'Turbo Fire' menu entry
  • MENU/OZONE: Ozone Dracula theme
  • PATCHES: Added multi-softpatching support + OSD messages for patches
  • RHMAP: Track the complete string in rhmap
  • XEGL: Fix mouse not working when using OpenGLES with X11
https://www.libretro.com/index.php/retroarch-1-9-1-released/
  • AUDIO: Memalign audio buffers to 64 bytes. This is the most common cache line size, helps with performance. Also fixes issues with platforms like PSP that wrongly assume that malloc returns aligned buffers (to 16bytes). This recently broke the PSP builds
  • AUDIO/ALSA: Fix float format detection
  • AUDIO/JACK: Deinterleave in the process callback. This allows us to avoid the extra copy to the deinterleave buffer and lets us use only a single jack ringbuffer
  • AUDIO/JACK: (Audio/JACK) Fix non-blocking write. Previously we would wait on the condition variable even in the non-blocking case. This improves fast-forward performance massively and brings JACK in line with other backends in that regard
  • AUDIO/XAUDIO2: Fix threaded audio bugs with cores like Dinothawr
  • CONFIG: Add support for saving per-directory core options and deleting core option overrides
  • CONFIG: Enable saving of changed parameters when '#include' directives are used
  • CONFIG/DIRS: Enable configuration of the directories used for Favorites, History, Images, Music and Video playlists
  • CONFIG/REMAPS: Allow loading core remaps without content
  • CONFIG/OVERRIDES: Fix empty override paths when launching without content
  • CHEATS: Maximum search value corrections
  • CHEEVOS: Generic memory mapping using rcheevos
  • CHEEVOS: Ensure badge textures are released before video driver is deinitialized. Should fix crashes with slang shaders.
  • CHEEVOS: Include achievement runtime state in save states
  • CHEEVOS: Prevent hardcore toggle when emu-handled cheats are active
  • CHEEVOS: Add confirmation submenu to achievements hardcore toggle
  • CHEEVOS: Calculate leaderboard widget spacing based on video resolution
  • CHEEVOS: Show unsupported core message when viewing achievement list for unsupported core
  • CHEEVOS: Allow disabling leaderboard notifications and trackers separately
  • CHEEVOS: Add display widget for active leaderboards
  • CHEEVOS/CORE OPTIONS: Core options blacklist. Disables hardcore mode when certain core options are set
  • CLI: Add option for quitting on close content
  • CONTEXT/DRIVER SWITCHING: Allow context switching from gl to glcore
  • CORE OPTIONS: Add option to reset all core options for current core/content
  • CORE OPTIONS: Add per-folder core options
  • CRT/SWITCHRES: Improvements
  • CRT/SWITCHRES: Low resolution switch bug fix – This allows resolutions lower that 32×224 like 256×224 to work
  • CORE DOWNLOADER: Enhanced core downloader search functionality
  • DRM: Fix race condition in drm_surface_set_aspect
  • DRM/KMS: add support for custom HDMI timings / modes
  • DATABASE: Fix crash that could happen when selecting cursor
  • DATABASE/EXPLORE: Fix – Prevent segfault when accessing 'Explore' menu
  • FILEIO/PERFORMANCE: Only attempt to call dir_check_defaults once per runtime session
  • FILEIO/PERFORMANCE/3DS: Increase file buffer size and savestate chunk size. This seems to help with saving large savestates
  • FONTS: Improve handling of Arabic and Persian text
  • FONTS/FREETYPE: Use fontconfig to select fonts if available
  • INPUT: Add hold mode for turbo fire 'Single Button'
  • INPUT MAPPING: Refresh bind list on device type change
  • INPUT MAPPING/REMAPPING: Minor bugfix – Remap file browsing starts navigation at input_remapping_directory even if the core-subdir (where saved files go) exists Having remaps for many different cores makes finding the active core files cumbersome, especially because remaps are not compatible between different cores (but maybe for cores emulating the same hardware)
  • INPUT: Keyboard device mapper rework
  • INPUT: New input bind order scan/clear fix
  • INPUT: Duplicate key event blocking additions
  • INPUT: Prevent duplicate key events with hotkeys + keyboard device type
  • INPUT: Keyboard LED driver
  • INPUT/AUTOCONFIG: Allow controllers with no/empty names to work.
  • INPUT/GAME FOCUS: Add option to automatically enable 'game focus' mode when running/resuming content
  • INPUT/HOTKEYS: Hotkey for Close Content / Unload Core
  • INPUT/LIBCEC: Map libcec-daemon keys to RETROK
  • INPUT/X11: Enable keyboard input when mouse cursor is not inside the RetroArch window but window still has focus
  • INPUT/X11: Fix mouse input when mouse is grabbed
  • INPUT/UDEV/RUMBLE: Fix rumble.
  • INPUT/WINDOWS/DINPUT: Simultaneous shift sticky fix
  • INPUT/WINDOWS/DINPUT: Prevent Win-key from opening Start Menu
  • INPUT/WINDOWS/DINPUT: Option for disabling Windows hotkeys
  • INPUT/WINDOWS/DINPUT: Mouse grabbing/clipping with Alt-Tab
  • INPUT/WINDOWS/DINPUT: Mouse grab fixes
  • INPUT/WINDOWS/RAWINPUT: Key position fixes
  • INPUT/WINDOWS/RAWINPUT: Mouse grab fixes
  • INPUT/WINDOWS/RAWINPUT: Prevent outside window mouse clicks when grabbed
  • INPUT/WINDOWS/RAWINPUT: Option for disabling Windows hotkeys
  • INPUT MAPPING/REMAPPING: Major bugfix – Remap file having a different device type requires manual intervention after loading for the core to register the type properly
  • JSON: New faster json parser/writer library rjson
  • JSON/RJSON: Replace rapidjson parser/writer in discord-rpc with rjson
  • LIBRETRO: Add API extension for cores to query the number of active inputs provided by the frontend
  • LIBRETRO: Ensure RARCH_CTL_CORE_OPTIONS_LIST_GET returns false if no core options are available
  • LIBRETRO: Add API extension for overriding frontend audio latency
  • LIBRETRO: Add API extension for cores to monitor frontend audio buffer occupancy
  • LINUX: Also show /run/media or /run/media/$USER in drives list
  • LINUX: Adjust brightness according to the limit. Seems like some platforms feature non-standard maximums, but the variable is correclty exported for us to use
  • LOCALIZATION: Add Finnish language
  • LOGS/SHADER: Shader log spam reduction
  • LOGS/CONFIG: Config logging cleanup
  • LOGS/SAVESTATE: Config logging cleanup
  • MENU: Add 'L2 + R2' menu toggle gamepad combo
  • MENU: Menu text improvements; clarifications, consistency, text mistakes,
  • MENU: Tweak menu scroll initial hold delays
  • MENU: Restrict menu acceleration to navigation buttons
  • MENU: Add 'Menu Driver' setting to 'User Interface'
  • MENU: Relocate 'Menu Scroll' settings.
  • MENU: Separate 'Turbo Fire' menu.
  • MENU: Dropdown menu for 'Custom Aspect Ratio' setting.
  • MENU: Reorder Mouse Index next to Device Index
  • MENU: Submenu for Device Index/Mouse Index
  • MENU: Reorganize User Interface menu
  • MENU: Add 'Remove DSP Plugin' menu entry
  • MENU: Hide 'Auto-Shader Delay' menu setting when shaders are unavailable
  • MENU/ANIMATIONS: Fix non-smooth text ticker + reduce line ticker code duplication
  • MENU/ANIMATIONS/OZONE: Add cursor wiggle animation
  • MENU/ANIMATIONS/OZONE: Implement wiggling for main menu when wrap-around is disabled
  • MENU/NOTIFICATIONS: On-Screen Notifications' menu clean-ups
  • MENU/NOTIFICATIONS: Add option to show/hide Refresh Rate notification
  • MENU/FILEBROWSER: Start auto-selecting last used path for more file browser menu entries
  • MENU/INPUT: Input port label adjustments
  • MENU/INPUT/XMB: Proper control port icons
  • MENU/INPUT/OZONE: Proper control port icons
  • MENU/QUICK MENU: Add remap clearing ability under Quick Menu controls
  • MENU/QUICK MENU: Cap 'State Slot' drop-down list to a maximum of 1000 (+Auto) entries
  • MENU: Customizable menu scroll hold delay.
  • MENU/DESKTOP: Fix mouse cursor limited by window range on F5 press
  • MENU/DESKTOP: Add simple shader option
  • MENU/DESKTOP/WINDOWS: Remove broken 'Update RetroArch' functionality for Windows. We want this to not only be system agnostic if we bring it back, but also work outside of the Qt desktop interface
  • MENU/OZONE: New Theme – Twilight Zone
  • MENU/RGUI: Add 3:2, 5:3 and 3:2/5:3 (centered) aspects
  • MENU/RGUI/TEXT RENDERING: Add Russian language text support
  • MENU/RGUI/TEXT RENDERING: Add support for CJK punctuation glyphs
  • MIDI/WINMM: Recover from MIDI messages not handled by the device
  • MIDI/WINMM: Fix winmm midi driver hanging on content closing
  • NETWORK: Add READ/WRITE_CORE_MEMORY network commands
  • NETWORK: Fix backwards condition in socket blocking behavior
  • NETWORK/NETPLAY: Attempt IPv4 when IPv6 fails
  • OGA/VIDEO: support for OGS
  • OGA: This keeps the tradition DRM driver along with the OGA one. The probe function skips the driver if the screen is non rotated to fall back to the regular DRM driver.
  • OGA: Fix messages from not disappearing
  • OGA: Implement RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER. This is a faster rendering codepath for software rendered libretro cores that some libretro cores use right now. Video drivers in RetroArch have to explicitly implement this for this codepath to work at runtime.
  • OPENDINGUX: Add/Optimise rumble interface
  • OPENDINGUX: Fix frozen video when enabling fast forward
  • OPENDINGUX/SDL: OSD font clean-up
  • OPENDINGUX/SDL: Enable selection of image interpolation method when using 'sdl_dingux' gfx driver
  • OPENDINGUX/SDL: Enable integer scaling when using the 'sdl_dingux' gfx driver
  • OVERLAYS: Add option to scale overlays automatically (with aspect ratio correction)
  • OVERLAYS: Hide Overlay When Gamepad is Connected. Overlays will be hidden automatically when a gamepad is connected in port 1, and shown again when the gamepad is disconnected.
  • OVERLAYS: New default overlays for mobile (neo-retropad)
  • OVERLAYS: In addition to overlay scale, the user can now set an Overlay Aspect Adjustment factor. Most overlays are designed for 16:9 displays, which means they become stretched/ugly on modern wide aspect phones and suchlike. By changing the Overlay Aspect Adjustment factor, a user can scale the overlay width/height to achieve a uniform appearance regardless of display resolution.
  • OVERLAYS/FIX: The Overlay X Offset and Overlay Y Offset options have been fixed, and now work correctly
  • OVERLAYS/FIX: All of the above options (and Overlay Scale) are configured and saved independently for landscape and portrait display orientations – so adjusting everything for a nice landscape layout won't break the portrait display
  • OVERLAYS/FIX: When using the Vulkan gfx driver, memory is leaked every time an overlay is freed
  • OVERLAYS/FIX: When threaded video is enabled, loading overlays with no images (i.e. utility-type overlays, where everything is hidden until the screen is touched) can generate segfaults due to improper usage of realloc()
  • OVERLAYS/FIX: When Show Inputs on Overlay is enabled, ASAN reports bit shift errors due to an incorrect range check when handling turbo inputs – essentially, there is no upper limit to the considered input id range, which means overlay hotkeys (menu toggle, etc.) are incorrectly treated as having turbo support, causing bit shifts using wildly inappropriate id indices
  • PLAYLISTS/PORTABLE: Fixed first load initialization
  • REWIND: Prevent 'Rewind Frames' from being set to '1' incorrectly on load content
  • RUNAHEAD: Add Run-Ahead Toggle hotkey with notifications
  • RBUF/ANIMATIONS: Simplify gfx_animation by switching from dynarray to rbuf
  • RBUF/CORE UPDATER: Replace static entries array with dynamic array via RBUF library
  • RBUF/M3U: Replace static entries array with dynamic array via RBUF library
  • SENSORS: Android (crash-)fixes/improvements + add option to disable sensor input
  • SDL2/VIDEO: Get the SDL2 video driver to work in Wayland/KMS
  • SAVESTATES: Adding savestate garbage collector for autoincrement stavestates
  • SAVESTATES/SAVEFILES: Ensure save file and playlist compression is disabled by default
  • SHADERS: Add option to remember last selected shader preset/shader pass directories
  • SHADERS: Use last selected shader preset directory when changing shaders via previous/next hotkeys
  • SHADERS: Remove Parameters line
  • SHADERS: Shaders fix for duplicate parameters loading bug
  • SHADERS: Fix Crash change num shader passes in UI
  • SHADERS/SLANG: Fix slang shaders with rotation
  • STREAMING/FFMPEG: Add Facebook Game Stream option (for embedded ffmpeg core-enabled RetroArch builds)
  • TLS/SSL: Add BearSSL support, as alternative to mbedTLS
  • VIDEO: AddVariable BFI (Black Frame Insertion)
  • VIDEO/DRM GO2: Dynamic resolution support
  • VIDEO FILTERS: Video filter optimisations
  • VIDEO FILTERS: Add several LCD-effect video filters
  • VIDEO FILTERS: Gameboy/Dot_Matrix video filters: Add XRGB8888 support
  • VIDEO FILTERS: Add Normal4x video filter
  • VIDEO FILTERS: Add 'Upscale_256x-320×240' video filter
  • VIDEO FILTERS: Add 'Upscale1.5x' video filter
  • WIFI/LAKKA: Add a proper WiFi menu, with Enable/Disable and Disconnect options. This also allows WiFi passwords to be remembered. The underlying tool (connman) allows to store passswords (that's why it auto connects whenever you boot a Lakka device), so we expose this so that the user does not have to re-input the pass when connecting to a saved wifi.
https://www.libretro.com/index.php/retroarch-1-9-0-released/
  • AUTOCONFIG: Ensure correct directory is used when saving autoconfig profiles
  • BLUETOOTH: Add a Bluetooth driver (Lakka-only for now)
  • CHEATS: Fix for wrong number of remaining cheat search matches on some machines
  • CHEEVOS: Option to play sound on achievement unlock.
  • CHEEVOS: Upgrade to rcheevos 9.1
  • CHEEVOS: Restore display of unlocked achievements across hardcore modes
  • CHEEVOS: Hash buffered data when available
  • CHEEVOS: Fix Auto Save State freezes RetroArch while Cheevos is enabled
  • CORE OPTIONS: Pressing OK (or clicking/tapping) on a boolean toggle core option no longer opens a drop-down list. The value now toggles directly, just like boolean options everywhere else in the menu
  • CORE OPTIONS: Toggling an option that changes the number of core options being displayed (i.e. things like `Show Advanced Audio/Video Settings) no longer resets the navigation pointer to the start of the list
  • CORE OPTIONS: Before, RetroArch would identify core option values as being boolean if they had labels matching the specific strings enabled or disabled. Most core devs would abide by this, but not always... As a result, we sometimes would end up with misidentified values, with all kinds of Enabled, Off, True, etc. strings littering the menu, in place of proper toggle switches. All boolean-type value labels are now detected, and replaced with standard ON/OFF strings.
  • CLI: A new command line option --load-menu-on-error has been added
  • CRT: On the fly CRT porch adjuments - these changes allow a user to adjust how the porch algorithm generates the 15khz/31khz output. Giving the ability to change over/under scan.
  • CONFIG FILE: Optimise parsing of configuration files
  • DRIVERS: Implemented protection to avoid setting critical drivers to nothing thus preventing the user from locking him/herself out of the program
  • FFMPEG CORE: Prevent seeking past the end of files (hang fix)
  • FILE I/O: VFS and NBIO interfaces will now use 64-bit fseek/ftell where possible, should allow for reading/writing to files bigger than 2GB
  • INPUT MAPPING/REMAPPING: Add input remap drop-down lists
  • LOCALIZATION: Updates for several languages (synchronized from Crowdin)
  • MEMORY/LINUX/ANDROID: Fix reporting of free memory
  • MEMORY/WINDOWS: Fix reporting of free memory
  • MENU: Enlarged INT/UINT selection limit from 999 to 9999
  • MENU: Fix cursor forced to first entry after displaying lists
  • MENU: Make Notification Font option visible when Graphics Widgets are enabled
  • MENU/RGUI: Add optional toggle switch icons
  • MENU/WIDGETS: Add optional widget-based load content launch feedback animation
  • MENU/WIDGETS: Make notification font size option visible when graphics widgets are enabled
  • PLAYLISTS: Change playlists to use dynamic arrays. Instead of a fixed initial 12MB memory allocation (99999 * 128 byte (on 64bit arch)), use a dynamically growing array
  • PLAYLISTS: Playlist base content directory paths - portable playlists
  • PLAYLISTS/SEARCH: Enhanced playlist search functionality
  • PLAYLISTS/DATABASE: Add Explore view
  • PLAYLISTS/DATABASE/EXPLORE: Show system icons in explore view
  • RUNAHEAD: Prevent runahead from being disabled permanently when an error occurs
  • SCANNER: Add more region codes for GameCube/Wii game detection
  • SHADERS/SLANG: Increased Slang max Parameters, Textures & Passes
  • VIDEO FILTERS/BLARGG: Make Blargg_snes filter customizable
  • X11: Add lightgun support
https://www.libretro.com/index.php/retroarch-1-8-9-released/
  • AUTO SAVESTATES: Ensure save states are correctly flushed to disk when quitting RetroArch (fixes broken save states when exiting RetroArch - without first closing content - with 'Auto Save State' enabled)
  • BUILTIN CORES: Builtin cores like ffmpeg and imageviewer would previously try to erroneously load a dynamic core named 'builtin' - this would fail and would just be a wasteful operation - this now skips dylib loading in libretro_get_system_info for builtin cores
  • CHEEVOS: Report API errors when unlocking achievements or submitting leaderboards
  • CHEEVOS: Support less common file extensions
  • CHEEVOS: Disable hardcore mode when playing BSV file
  • CHEEVOS: Correctly report unlocked non-hardcore achievements when hardcore is paused
  • CHEEVOS/M3U: Bugfix - did not handle absolute/relative paths in M3U files correctly before
  • CHEEVOS/M3U: Bugfix - it didn't handle comments/directives
  • CHEEVOS/M3U: Bugfix - it doesn't handle trailing whitespace
  • CHEEVOS/M3U: Bugfix - failed when loading M3U files with certain line endings
  • CORE MANAGEMENT: Add 'core management' menu (Settings -> Core)
  • CORE MANAGEMENT: Add option to backup/restore installed cores
  • CORE MANAGEMENT: Improved core selection logic
  • CORE INFO: Search search optimisations
  • CORE DOWNLOADER: Rename 'Core Updater' to 'Core Downloader'
  • CORE DOWNLOADER: Add 'Show Experimental Cores' setting under Settings > Network > Updater
  • CORE DOWNLOADER: Core licenses are now shown for all entries in the Core Updater menu
  • CORE DOWNLOADER: Pressing RetroPad select on a Core Updater entry will now display any text in the description field of its info file
  • CORE DOWNLOADER: Installed cores are now highlighted via a [#] symbol
  • CORE DOWNLOADER: Pressing RetroPad start on a selected, installed entry opens the Core Information menu (when using Material UI, swiping left or right triggers the same action). This means we can now view bios info etc. - and more importantly delete cores - without jumping through all the hoops of loading a core first and navigating all over the place
  • CORE DOWNLOADER/UPDATER: Add option to automatically backup cores when updating
  • DISK CONTROL: Enable 'Load New Disc' while disk tray is open
  • INPUT: Added a hotkey delay option to allow hotkey input to work properly when it is assigned to another action
  • INPUT: Remove 'All Users Control Menu' setting, was buggy and will be properly reintroduced after input overhaul
  • LINUX: Set default saves/save states/system paths
  • LOCALIZATION: Add Persian language
  • LOCALIZATION: Add Hebrew language
  • LOCALIZATION: Add Asturian language
  • MENU: Proper line wrapping for message dialog boxes
  • MENU/HOTKEYS: Add sublabels to all hotkey bind entries
  • MENU/QUICK MENU: Suppress the display of 'empty' quick menu listings when closing content
  • MENU/OZONE: Performance improvements
  • MENU/SDL: Add mouse controls
  • OPENGL1/VITA: Initial changes for HW context without FBO
  • OVERLAYS: Add options for moving the on-screen overlay
  • PLAYLISTS/WINDOWS: Fix core path entries in image/video/music history playlists
  • SDL/GL: Advertise GLSL support
  • VIDEO/WIDGETS: Fix heap-use-after-free errors, leading to memory corruption
  • VULKAN/WSI: Better frame pacing
  • VULKAN/WSI: Fix Intel Mesa being broken when using Fences, we have to use Semaphores to acquire the swapchain or the entire GPU stalls
  • VULKAN/WSI: Add support for either using fences or semaphores when syncing
  • VULKAN/WSI: Prefer using semaphores for integrated GPUs as it promotes better throughput over fences
https://www.libretro.com/index.php/retroarch-1-8-7-released/
  • CHEEVOS/BUGFIX: Opening achievements list would crash RetroArch with badges enabled (on new games)
  • CHEEVOS: Option to start a session with all achievements active
  • CHEEVOS: Don't perform unnecessary cheevos initialisation when cheevos are disabled. Should reduce startup times when loading content
  • CORE OPTIONS: Disable 'Use Global Core Options File' by default
  • GLCORE: Switch to glcore video driver when requested by a core
  • LINUX/XDG: Use GenericName correctly in desktop entry
  • MENU/MATERIALUI: Add desktop-style playlist view mode
  • MENU/MATERIALUI/DESKTOPVIEW: When scrolling playlists, show last selected thumbnails while waiting for next entry to load
  • MENU/MATERIALUI: Limit tab switch rate when input repeat is active
  • MENU/OZONE: Fix sidebar playlist sort order when 'Truncate Playlist Names' is enabled
  • MENU/RGUI: Adjusted menu defaults, adjusted default scrolling speed
  • MENU/RGUI: Enable custom wallpaper when menu size is reduced at low resolutions
  • MENU/XMB: Limit tab switch rate when input repeat is active
  • NETPLAY: Fix regressions introduced in 1.8.5
  • RGUI: Add option to always stretch menu to fill the screen
  • WIIU: Enable graphics widgets
https://www.libretro.com/index.php/retroarch-1-8-6-released/
  • ARCHIVE/ZIP: Expand functionality of rzip_stream interface
  • AI SERVICE: Hide redundant entries when service is disabled
  • AI SERVICE: Added in auto-translate support
  • AI SERVICE: support for NVDA and SAPI narration
  • AUTOCONFIG: Use correct port index in input device configured/disconnected notifications
  • BUGFIX: Fix race condition where task could momentarily not be in the queue when reordering
  • CHEEVOS/BUGFIX: Prevent null reference rendering achievement list while closing application
  • CHEEVOS/BUGFIX: Report non-memorymap GBA cores as unsupported
  • COMMANDLINE: Advise against using -s and -S variables on the command line
  • CONFIG FILE: Only write config files to disk when parameters change
  • CONFIG FILE/BUGFIX: RetroArch no longer crashes when attempting to save a config file after unsetting a parameter (currently, this can be triggered quite easily by manipulating input remaps)
  • CONFIG FILE/BUGFIX: When using Material UI, RetroArch no longer modifies the wrong setting (or segfaults...) when tapping entries in the Quick Menu > Controls input remapping submenu
  • CONFIG FILE/BUGFIX: Quite a few real and potential memory leaks have been fixed.
  • CHD: Fixes a crash caused by ignoring the return value from one of the CHD library functions
  • FASTFORWARDING: A new Mute When Fast-Forwarding option has been added under Settings > Audio
  • GLCORE/SLANG: Set filter and wrap mode correctly when intialising shader textures
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Spanish translation
  • LOCALIZATION: Update Portuguese Brazilian translation
  • MENU: Prevent font-related segfaults when using extremely small scales/window sizes
  • MENU: Fix gfx_display_draw_texture_slice()
  • MENU/FONT: Enable correct vertical alignment of text (+ font rendering fixes)
  • MENU/RGUI: Enable automatic menu size reduction when running at low resolutions (down to 256x192)
  • MENU/OZONE: Update timedate style options for Last Played sublabel metadata
  • MENU/OZONE: Hide Menu Color Theme setting when Use preferred system color theme is enabled
  • MENU/OZONE: Fix thumbnail switching via scan button functionality
  • MENU/OZONE: Prevent glitches when rendering Ozones selection cursor
  • MENU/OZONE: Enable proper vertical text alignment + thumbnail display improvements
  • MENU/OZONE: Enable second thumbnail/content metadata toggle using RetroPad select
  • MENU/OZONE: Refactor footer display
  • MENU/OZONE: Hide thumbnail button hints when viewing file browser lists
  • MENU/OZONE/INPUT/BUGFIX: Fix undefined behaviour when using touch screen to change input remaps
  • MENU/OZONE/INPUT/BUGFIX: Pointer input is now correctly disabled when message boxes are displayed
  • MENU/XMB: Fix thumbnail switching via scan button functionality
  • ODROID GO ADVANCE: Add DRM HW context driver
  • PSL1GHT: Initial port
  • PSL1GHT/KEYBOARD: Implement PSL1GHT keyboard
  • PLAYLIST/BUGFIX: Improve handling of broken playlists
  • PLAYLIST/BUGFIX: RetroArch will no longer segfault when attempting to fetch content runtime information when core path is NULL
  • PLAYLIST/BUGFIX: Core name + runtime info will only be displayed on playlists and in the Information submenu if both the core path and core name fields are valid
  • PLAYLIST/BUGFIX: When handling entries with missing path fields, the menu sorting order now matches that of the playlist sorting order
  • PLAYLIST: Add optional per-playlist alphabetical sorting
  • PLAYLIST: Omit whitespace when writing compressed JSON format playlists
  • PLAYLIST: Add optional playlist compression
  • QNX: Support analog sticks
  • SAVESTATES: Add optional save state compression (enabled by default now)
  • SRAM: Add optional save (SRAM) file compression
  • SCANNER: Prevent redundant playlist entries when handling M3U content
  • SCANNER/ANDROID: Fix content scanner being unable to identify certain games from CHD images (raw data sector/subcode)
  • TASKS/BUGFIX: Fix task deadlocks
  • TASKS/SCREENSHOT/BUGFIX: Fix heap-use-after-free error when widgets are disabled
  • TVOS: Disable overlays for tvOS, fix app icon
  • VIDEO/WIDGETS/BUGFIX: The font ascender/descender metrics added in #10375 are now used to achieve pixel perfect vertical text alignment
  • VIDEO/WIDGETS/BUGFIX: Message queue text now uses its own dedicated font
  • VIDEO/WIDGETS/BUGFIX: Performance updates
  • VULKAN/BUGFIX: Fix display of statistics text
https://www.libretro.com/index.php/retroarch-1-8-5-released/
  • BUGFIX: Prevent double input when using return key (hardware) to close on-screen keyboard
  • BUGFIX: Fix mouse capture hotkey not working
  • BUGFIX: Avoid overflow when calculating multiplying performance counter
  • BUGFIX: Retroarch overlay displaying "Game remap file loaded." on the overlay instead of "Core remap file loaded." when only a core remap file is present
  • CHEEVOS/BUGFIX: Achievement triggers could cause Retroarch to Crash
  • CHEEVOS: Dont block Sameboy core because it only exposes some memory
  • CHEEVOS: Support for extended Sega CD memory
  • CHEEVOS: Show RetroAchievements Hash in content information list
  • CHEEVOS: If the core says its exposing SYSTEM_RAM, give it the benefit of the doubt
  • CHEEVOS: RetroAchievements rich presence for RA.org website/Discord
  • CHEEVOS: Reset token when username or password changes
  • CHEEVOS: Display measured progress on locked achievements
  • CHEEVOS: Queue multiple popups
  • CHEEVOS: Add delay retries to leaderboard submits
  • CHEEVOS: Prevent buffer overflow when encountering an unknown macro
  • CORE UPDATER: Prevent hang when fetching core list if HTTP transfer fails
  • DISK CONTROL: Add disk labels to disk inserted notifications
  • FFMPEG CORE: Fix crash on seeking when using HW decoding in some cases
  • LIBRETRO: Add disk control interface API extension
  • LINUX: Avoid possible crash when running retroarch at startup
  • LINUX/GLX: Fix threaded video crashes/instability because of GLX OML sync callbacks
  • LOCALIZATION: Update French translation
  • LOCALIZATION: Update Korean translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Spanish translation
  • LOCALIZATION: Update Portuguese Brazilian translation
  • MENU: Add Menu Scroll Acceleration option
  • MENU: Automatically select currently checked item when opening drop-down lists
  • MENU: Fix smooth (vertical) line ticker scroll speed
  • MENU: Dont flush on override/remap messages
  • MENU/DATETIME: Adds some new timedate styles that follow DD/MM/YYYY
  • MENU/DATETIME: Modifies the existing translation files in order to accommodate the new options that are now available
  • MENU/DATETIME: Reorders the timedate view options
  • MENU/BUGFIX: Fix bug when switching to RGUI menu driver
  • MENU/MATERIALUI: Add option to remove navigation bar
  • MENU/OZONE: Add DPI-based scaling
  • MENU/OZONE: Add rudimentary pointer support
  • MENU/OZONE: Add Nord and Gruvbox Dark themes
  • MENU/OZONE/POINTER: Pointer can be used to switch between sidebar and entries list
  • MENU/OZONE/POINTER: Pointer can be used to select sidebar and entries list items
  • MENU/OZONE/POINTER: Both sidebar and entries list can be scrolled by dragging
  • MENU/OZONE/POINTER: Clicking/pressing the header or footer produces a cancel action
  • MENU/OZONE/POINTER: Cursor focus follows mouse pointer from sidebar to entries list (and vice versa)
  • MENU/OZONE/POINTER: In entries list, item under cursor is automatically selected
  • MENU/OZONE/POINTER: In sidebar, item under cursor is not automatically selected (this is too jarring)
  • MENU/RGUI: Add Flux theme
  • MENU/XMB: New color themes Cube Purple, Family Red, etc
  • NETPLAY/MENU/BUGFIX: Fix Netplay Stateless Mode doesnt save. Affects other netplay settings which can be overridden by commandline option
  • NETPLAY/ROOMS/BUGFIX: Prevent out-of-bounds array indexing when displaying/selecting netplay rooms in menus
  • SCANNER: Add Arcade DAT Filter Option
  • SCANNER: Add scanning Korea and Asia PS1 discs
  • SCANNER: Add support for scanning PSP Korean
  • VIDEO: Set hardware Bilinear filtering off by default
  • VIDEO/WIDGETS: Widgets are now menu-independent
  • VIDEO/WIDGETS: Allow notifications to use full screen width when not displaying menu
  • VIDEO/WIDGETS: DPI-based scaling
  • VIDEO/WIDGETS: Fix volume widget scaling
  • VIDEO/WIDGETS: Add independent widget scale override settings for fullscreen/windowed modes
  • VIDEO/WIDGETS/BUGFIX: Prevent improper display of (old style) OSD text when widgets are enabled
  • VIDEO/WIDGETS/THREADED/BUGFIX: Fix issue - corruption of menu widgets when running some cores (e.g. VICE) with threaded video enabled
  • WIFI/CONNMANCTL: Display more characters from SSID
https://www.libretro.com/index.php/retroarch-1-8-4-released/
  • CAMERA/BUGFIX: Fix crash when a core requires the camera driver and the platform only has a null driver. This would crash mgba on Wii for example
  • DISK CONTROL: Cycle Disk Tray now becomes Eject Disk or Insert Disk depending upon current drive state
  • DISK CONTROL: Current Disk Index is only shown when the current disk has been ejected
  • DISK CONTROL: The old Insert Disk entry has been changed to Load New Disk, and is only shown when a disk is currently inserted (this is because loading a new disk from the filesystem - i.e. bypassing the m3u playlist disk index interface - automatically ejects and inserts disks, and so cannot be done while the virtual drive is empty)
  • DISK CONTROL: The Current Disk Index may now be set more easily via a drop-down list.
  • DISK CONTROL: Selecting Eject Disk automatically moves the menu selection to the Current Disk Index entry
  • DISK CONTROL: Selecting an index via the Current Disk Index drop-down list automatically moves the menu selection back to Insert Disk
  • DISK CONTROL: The Disk Control entry sublabels have been changed for greater clarity
  • DISK CONTROL: All of the horrendous notification spam has been removed.
  • DISK CONTROL: A new Resume content after changing disks option has been added under Settings > User Interface. When enabled (default setting), content is resumed automatically after selecting either Insert Disk or Load New Disk
  • DISK CONTROL/BUGFIX: The Disk Control menu now has the correct title
  • DISK CONTROL/BUGFIX: Selecting a disk via the Load New Disk file browser no longer flushes the user back to the top level menu (it now correctly returns to the Disk Control menu)
  • PLAYLISTS: Add 'Clean Playlist' option
https://www.libretro.com/index.php/retroarch-1-8-2-released/
  • BUG/CRASH/GLSLANG: Fix glslang crashing error - managed to reproduce an issue which has been plaguing users for a while, where glslang throws an assert after closing a game (and starting a new one). This would affect all video drivers that use Slang for shaders, such as D3D10/11/12/Vulkan/Metal.
  • CHEEVOS: Display Unofficial and Unsupported achievement states.
  • CHEEVOS: Pass RetroArch and core versions through User-Agent HTTP header.
  • CHEEVOS: Use PSX.EXE if SYSTEM.CNF cannot be found
  • CHEEVOS: Prevent loading state while achievements are still being fetched from server.
  • CHEEVOS: Pause hardcore if core doesn't support achievements.
  • CHEEVOS/CRASH: Fix AddressSanitizer + CHD cause hard crash when Cheevos are enabled.
  • CORE UPDATER: Only download when new core is available.
  • CORE UPDATER: Add option to update all installed cores.
  • DRM/KMS: Better detection for the current video mode.
  • DYNAMIC RATE CONTROL: Support DRC even when using a vsync swap interval higher than 1.
  • FFMPEG CORE: Hardware accelerated video decoding.
  • FFMPEG CORE: Implement send/receive encoding API, will allow for hardware accelerated AMD video encoding.
  • FFMPEG CORE: The video FIFO can be removed, since we have a ring buffer in its place. This removes unneeded copy operations and as a positive side improves overall decoding speed. Makes 8k60p SW and 4k60p HW decoding feasible on many systems. For now the ring buffer is 32 images deep. This limitation will be removed, once audio and video decoder have their own packet handling.
  • INPUT: Fix 'Analog stick controls menu even if autoconfig disabled'.
  • INPUT/TURBO: Added alternate Turbo-Mode 'Single Button' - For systems supporting only a single button, the turbo-button will toggle firing that button without the need to hold it. When holding the button turbo will be suspended and resumed when the button is released. Holding the button may have a different function to just tapping it.
  • INPUT/ANALOG: Fix radial analog deadzone scaling.
  • INPUT/ANALOG: Implement proper analog button deadzone.
  • INPUT/MENU: Analog stick controls menu even if autoconfig disabled.
  • LOCALIZATION: Update Italian translation.
  • LOCALIZATION: Update French translation.
  • LOCALIZATION: Update Polish translation.
  • LOCALIZATION: Update Portuguese Brazilian Translation.
  • LOCALIZATION: Update Turkish translation.
  • LINUX/LOCALIZATION: Correct Droid Sans Fallback font path in Linux. This should fix Chinese/Korean font display issues on Fedora/RHEL/CentOS/openSUSE/SLE.
  • MENU/BUGFIX: When using a keyboard/gamepad/mouse wheel to navigate, the menu scroll position is always maintained and updated in a consistent (and expected) fashion.
  • MENU/BUGFIX: When resizing the window, or changing the orientation of a mobile device, the current scroll position is correctly preserved.
  • MENU/BUGFIX: All 'normal' pointer input is now inhibited when showing message boxes.
  • MENU/BUGFIX: The pointer actions 'select' and 'cancel' both now properly close a message box if it is currently being shown.
  • MENU/BUGFIX: Pointer 'select' and 'cancel' actions are now inhibited when an input bind dialog is active.
  • MENU/INPUT: Change 'User' terminology to 'Port' for input binding.
  • MENU/LINUX: Add proper drives to Load Content.
  • MENU/MATERIALUI: Halt scrolling when pointer is pressed/stationary.
  • MENU/MATERIALUI: Dual thumbnail view.
  • MENU/MATERIALUI: Fullscreen thumbnail viewer for boxart.
  • MENU/MATERIALUI: Scroll rapidly by press and holding the scrollbar.
  • MENU/RGUI: New theme 'Flux'.
  • MENU/OZONE: Thumbnails now have a fade-in animation.
  • MENU/OZONE: Fullscreen thumbnail viewer for boxart and pictures.
  • MENU/QT/WIMP: Fix dock titles getting cut off
  • MENU/XMB: Fullscreen thumbnail viewer for boxart and pictures
  • MENU/USABILITY: Selectively hide 'Disallow Non-Slave Mode Clients' if 'Allow Slave-Mode Clients' is disabled.
  • MENU/USABILITY: Hide 'Show desktop menu on startup' if 'Desktop menu' setting itself is disabled.
  • MENU/USABILITY: Reimplement Quick Menu - > Shaders -> Watch shader files for changes - can now be turned on/off through touch.
  • MENU/USABILITY: Refactor Quick Menu - Controls - each port now has its own submenu.
  • MENU/USABILITY: Quick Menu - Cheats - Delete All no longer requires five right button presses - this should fix this functionality for mobile touch users too.
  • MENU/USABILITY: Hide Refresh Rate options when Threaded Video is enabled - these settings do nothing with Threaded Video.
  • MENU/USABILITY: Hide Logging Verbosity levels behind Logging Verbosity.
  • MENU/USABILITY: Get rid of 'Port Number' label for Port Binds screen.
  • MENU/USABILITY/MOBILE: Should no longer crash when clicking on a cheat entry.
  • MENU/USABILITY: Shader parameters now have a dropdown list.
  • MENU/USABILITY: Shader passes now has a dropdown list.
  • MENU/USABILITY: Video - Hide Windowed Mode settings selectively.
  • MENU/USABILITY: Video - Hide Fullscreen Mode settings if windowed mode is not supported by context driver.
  • MENU/USABILITY: Selectively hide Network Command Port.
  • MENU/USABILITY: Selectively hide Relay Server Location.
  • MENU/USABILITY: User Interface -> Appearance - Selectively hide XMB Horizontal Animation setting.
  • MENU/USABILITY: Playlists - more selective hiding.
  • MENU/USABILITY: Selectively hide Rewind Settings.
  • MENU/USABILITY: Selectively hide Overlay Settings.
  • MENU/USABILITY: Selectively hide FPS Update Interval based on Display Framerate being enabled.
  • MENU/USABILITY: Selectively hide Onscreen Notifications BG Color Settings.
  • MENU/USABILITY: Settings -> Logging - Hide 'Log To File Timestamp' if 'Log To File' is disabled.
  • MENU/USABILITY: Video -> Scaling - Hide Custom Viewport X/Y when Integer Scale is enabled as description indicates.
  • MENU/USABILITY: Achievement submenu - selectively hide.
  • MENU/USABILITY: Settings -> Video -> Aspect ratio - selectively hide/show values based on whether you have Custom or Config selected.
  • MENU/USABILITY: Settings -> Video -> Selectively hide Hard Sync.
  • MENU/USABILITY: Settings -> Video -> Implement selective hiding for VSync and Hard Sync.
  • MENU/USABILITY: Selective hiding of Runahead settings based on global setting.
  • MENU/USABILITY: Add Input -> Haptic Feedback submenu.
  • MENU/USABILITY: Add Input -> Menu Controls submenu.
  • MENU/USABILITY: Settings -> Video -> Max Swapchain Images - Add OK action.
  • MENU/USABILITY: Input - Implement OK action for Bind Hold, Turbo Period and Duty Cycle.
  • MENU/USABILITY: Input - Hotkey Binds refactor.
  • MENU/USABILITY: Move 'Press Quit Twice' and 'Menu Toggle Gamepad Combo' to Input -> Hotkey Binds.
  • MENU/USABILITY: Video - Add sublabel for Video Output submenu.
  • MENU/USABILITY: If 'Favorites Tab' is disabled, don't show 'Add To Favorites' option in Quick Menu/Playlist menu.
  • MENU/USABILITY: If On-Demand Thumbnail Downloader is enabled, hide 'Download Thumbnails' from playlist menu screen.
  • MENU/USABILITY: Add Audio Driver setting to Audio -> Output.
  • MENU/USABILITY: Add Audio -> Resampler settings.
  • MENU/USABILITY: Add Audio -> Output and Audio -> Synchronization.
  • OPENGL: Shaders are now working properly (only in OpenGL) when rotating both from Core API rotation and from menu video rotation. The fix is clearly visible with crt-royale for example.
  • OPENGL: 1:1 PAR is now correct when rotating (both from Core API rotation and from menu video rotation, as you said, in the latter case you currently have to change Aspect Ratio after menu video rotation for it to work).
  • OPENGL: When using Custom Aspect Ratio and rotation (both from Core API rotation and from menu video rotation), Integer Scaling is now working properly (correct multiples of internal resolution). Even when Integer Scaling is not activated, the Custom AR width / height are now correctly labeled using (1x), (2x), ... suffixes. You also have to activate Integer Scaling after menu video rotation for it to work.
  • OPENGL: For all other Aspect Ratio options, Integer Scaling and rotation (both from Core API rotation and from menu video rotation) are now working properly together (correct multiples of internal resolution). You also have to activate Integer Scaling after menu video rotation for it to work.
  • PLAYLISTS: Pressing 'Start' or long touching a playlist will bring you to a Playlist submenu where you can set a default core, setup thumbnail view, delete the playlist, etc.
  • SCANNER: Manual scanner, not dependent on database files.
  • SCANNER/MANUAL: Add option to scan inside archives.
  • SCANNER/MANUAL: Enable automatic naming of arcade content via DAT files. This is compatible with DAT files in either Logiqx XML or MAME List XML format.
  • VIDEO: Do not reinit video driver on SET_SYSTEM_AV_INFO unless needed.
  • VIDEO: Support DRC even when using a vsync swap interval higher than 1.
  • VIDEO LAYOUT: Fixed XML parsing of attributes with spaces, should fix issues with several video layouts.
  • VULKAN/ANDROID: Workaround weird WSI return codes in landscape mode - Android WSI wants you to use preTransform, and if it is not used correctly, Android 10 will return VK_SUBOPTIMAL_KHR, and we would create a new swapchain every frame. This workaround just ignores this error, since it's not really an error. A more "proper" fix is to use prerotate and modify the MVP matrices, which might help certain devices with crummy display processors.
  • VULKAN/ANDROID: Recreate swapchain on orientation change. ANativeWindow getWidth/Height does not detect any changes when using Vulkan, so use the old onContentRectChanged callback to get notified when size changed. Use those values instead when figuring out how large swapchain to create.
https://www.libretro.com/index.php/retroarch-1-8-1-released/
  • BUGFIX/MENU: Fix menu rendering with Mali GPUs after changing video dimensions
  • CDROM: Adds pregap support to cdfs helper methods
  • CHEEVOS: Provides the new PCEngine hashing algorithm for RetroAchievements
  • LOCALIZATION: Update French translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Spanish translation
  • MENU/MATERIALUI: Initial thumbnail support
  • MENU/MATERIALUI: Cutie / Virtual Boy theme added
  • MENU/MATERIALUI: Bugfix - Under certain extreme circumstances, entries with very long sublabel strings could have their text prematurely clipped as the entry is scrolled beyond the top of the screen
  • MENU/MATERIALUI: Bugfix - Certain setting value strings were unnecessarily truncated (with a ...) when using smooth ticker text
  • MENU/XMB: Sunbeam theme added
https://www.libretro.com/index.php/retroarch-1-8-0-released/
  • AI SERVICE: Added in fix for BMP returns to AI service
  • BSV: Fix BSV recording/playback
  • BUGFIX: Fix crash when setting Thumbnail Directory
  • BUGFIX/STABILITY: Set "Automatically Add Content to Playlist" to false by default
  • COMMON: Graceful driver switching for Windows and Linux
  • COMMON: Cache frame before converting 0RGB1555
  • MENU: Menu scaling improvements
  • MENU/MATERIALUI: There are no longer any animation glitches when 'wraparound' scrolling from the last entry in a list to the first, or when performing horizontal swipe navigation gestures on certain settings-type entries
  • MENU/MATERIALUI: List entries underneath the title and navigation bars are no longer highlighted when touching the title/navigation bars
  • MENU/MATERIALUI: The current menu list is no longer reloaded when pressing the currently active tab on the navigation bar
  • MENU/MATERIALUI: The ticker text spacer has been set to a 'bullet' character (same as Ozone)
  • MENU/MATERIALUI: The default colour theme has been set to 'Ozone Dark'
  • MENU/MATERIALUI: Three new colour themes have been added
  • MENU/MATERIALUI: A new Menu Transition Animation option has been added under User Interface > Appearance
  • MENU/MATERIALUI: The navigation bar is now shown at all times
  • MENU/MATERIALUI: Two new context-sensitive buttons have been added to the navigation bar - back button and resume button
  • MENU/MATERIALUI: A new Auto-Rotate Navigation Bar option has been added under User Interface > Appearance
  • MENU/MATERIALUI: The playlists tab is now correctly hidden when User Interface > Views > Show Playlist Tabs is disabled
  • MENU/MATERIALUI: Material UI now correctly readjusts its layout when screen orientation changes on mobile devices
  • MENU/MATERIALUI: Material UI now resizes in real-time when the user manually sets the Menu Scale Factor (this never worked properly with the old DPI override)
  • MENU/MATERIALUI: Material UI no longer leaks memory on 'context reset' (fonts were previously never free()'d)
  • MENU/MATERIALUI: A new Android-style 'system bar' has been added. This shows current core name, clock and battery level
  • MENU/MATERIALUI: A new search icon is shown on the title bar when viewing playlists and file browser lists
  • MENU/MATERIALUI: The title bar now uses a larger font, and the sublabel font has also been enlarged a little, to more closely align with Material UI standards
  • MENU/MATERIALUI: A number (quite a large number) of layout/spacing issues have been fixed
  • MENU/MATERIALUI: The existing colour theme handling code is not fit for purpose, so the whole lot got ripped out and reimplemented
  • OSD: Fix fast forward indicator when not using menu widgets
  • VIDEO LAYOUT: Add video layout mame overlay compatibility
https://www.libretro.com/index.php/retroarch-1-7-9-released/
  • AI SERVICE: Image mode is now much faster
  • BUGFIX: Touch input - When using an overlay to toggle the quick menu on touchscreen devices
  • BUGFIX: Networking - RetroArch crashed when pressing left while Relay Server Location entry was selected
  • BUGFIX: Networking - fix memory leak that could happen at exit after a network operation had run
  • CHEEVOS: Improve handling of line endings when calculating CD hashes for retroachievements
  • CHEEVOS: Add support for Sega CD/Saturn; reduce hash calls to server
  • FPGA: Add initial FPGA port for Z-Turn boards - not really release-ready yet, will need community support to continue. Currently employs naive framebuffer approach, not fullspeed
  • GL1: GLDirect (D3D9 to OGL1.1 wrapper) support
  • GONG: Stability fixes
  • LINUX/UDEV: Fix touchscreen/lightgun issues
  • MENU/MATERIALUI: MaterialUI no longer 'forgets' its place when navigating backwards in menus, and navigation in general is 'cleaner'.
  • MENU/MATERIALUI: Add initial gesture support
  • MENU/MATERIALUI: Improved touch support
  • MENU/MATERIALUI: Bugfix - Random' items are no longer automatically highlighted when performing standard up/down 'flick' scrolling through lists
  • MENU/MATERIALUI: Bugfix - The display no longer 'jerks' for one frame when navigating backwards through lists
  • MENU/MATERIALUI: Bugfix - The Material UI scaling factor is now based upon the device-reported screen DPI value (previously it relied upon a hard-coded magic number, which was never correct)
  • MENU/RGUI: Functional mouse/touchscreen support
  • MENU/ONSCREEN KEYBOARD: On-screen keyboard entry via mouse/touchscreen has been tidied up - no more double inputs (or unwanted menu interaction in the background)
  • MENU/MOUSE: Mouse wheel up/down is now a proper 'up/down', same as using cursor keys or a dpad
  • MENU/MOUSE: Mouse wheel tilt left/right has been wired up to normal 'left/right' commands
  • MENU/OZONE: Add option to toggle between static and scrolling content metadata
  • MENU/XMB: Add full gesture support
  • MENU: When navigating backwards from a core options drop-down list (i.e. pressing select or cancel), the last menu position is remembered (instead of resetting back to the first core option item each time)
  • MENU: Add mouse/touchscreen gesture support
  • MENU: Add option to delete playlists (Settings and Playlists: Playlist Management)
  • OSD: Memory details should now be available on every platform (get_mem_total and get_mem_free need to be implemented in the frontend driver for it to work)
  • OSD: Memory details can now be shown individually without FPS and frame count
  • THREADED VIDEO: Fix FPS text in threaded video mode
https://www.libretro.com/index.php/retroarch-1-7-8-v2-released/
  • AI: Add AI Service functionality
  • AI: Fix 'Japanese' setting
  • BPS/UPS: Re-allocation target_data variable for target patch size
  • CDROM: Added real CD-ROM functionality for Windows and Linux
  • CDROM: Added disc dumping
  • CHEEVOS: Fix Achievements badges
  • CHEEVOS: Add hashing support for PSX (bin/cue, chd, or real CD)
  • COMMON: Add separate frontend logging
  • COMMON: Ability to set FPS update interval (used in the window titlebar/FPS widget)
  • COMMON: Add 'Reset Frame Time Counter' functionality
  • COMMON: Add optional 'on demand' thumbnail downloads
  • COMMON: Add new playlist-based thumbnail downloader
  • COMMON: Show license per core (if available) inside 'Load Core'
  • COMMON: Add option to load content from (and dump) CD-ROM discs
  • COMMON: Re-enable '--log-file' command line option
  • COMMON: Default playlist core association is now stored as metadata inside each playlist
  • COMMON: Fix playlist format detection
  • COMMON: Favorites playlist size can now be set independently of content history size
  • COMMON: Prevent adding new items to favorites when playlist is full (old entries are no longer overwritten)
  • COMMON: Prevent loading content with cores that require an incompatible graphics API version from the current one
  • COMMON: Saved shader presets are now portable across platforms and use relative paths
  • COMMON: Add '--set-shader' command line option which works like an override for automatic shader presets
  • COMMON: Add global shader presets
  • COMMON: Remove 'video_shader' setting, shaders are not saved automatically anymore
  • CORE OPTIONS: When saving core option overrides, only include settings for the current core
  • CORE OPTIONS: Add option to save core options per-core
  • CPU FILTERS: Add Scanline2x filter
  • GL/MALI400: Fix menu issues on Mali 400 series GPUs, should also fix 'RetroArch flickers black on ARM Mali GPUs (Android/ARM Linux)
  • GL/GLCORE: Use highest supported OpenGL Core version on Windows and X11
  • GL1: Ignore alpha in core video, fixes XRGB8888 rendering in some cores
  • GLCORE: Don't hardcode shader cross compilation target version but poll it
  • GLCORE: Fix regression - shaders don't work
  • GLCORE/SLANG: Added "FrameDirection slang semantic
  • HID: Add Retrode support. Should work on Wii/WiiU
  • INPUT: Menu toggle hotkey can now be bound to another keyboard key and it will toggle properly
  • LIBRETRO: Add new core options interface, allows for localization, sublabels and more
  • LIBRETRO: Add new bitmask input codepath, for RETRO_DEVICE_ID_JOYPAD only for now
  • LOCALIZATION: Update Korean translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Portuguese Brazilian Translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Turkish translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Korean translation
  • LOCALIZATION: Update Polish translation
  • MENU/XMB: Smooth vertical ticker scrolling
  • MENU: Add smooth ticker text
  • MENU: Ability to hide every settings submenu (User Interface, Views, Settings)
  • MENU: Ability to hide nearly every quick menu entry (User Interface, Views, Quick Menu)
  • MENU: Fix longstanding menu display issues on Mali400 GPUs (on ARM hardware, SBCs and mobile phones/tablets)
  • MENU: Fix Record Streaming Quality, and Record, Recording Threads settings
  • MENU: Fix history playlist navigation after running content
  • NENU: Menu entry performance optimisations
  • MENU: Add option to show 'remove playlist entry' only on history/favourites
  • MENU: Overhaul content 'Information' menu display
  • MENU: Add new 'Playlist Management' submenu. Allows default core associations to be set (via dropdown list), and all existing associations to be reset
  • MENU: Add 'Set Core Association' option to Quick Menu
  • MENU: Add option to remain in menu after saving/loading states
  • MENU: Pressing the Start button on 'Load Core' will unload the core
  • MENU: After a core is running, Load Core will be hidden from view until you select 'Close Content' from the Quick Menu
  • MENU/WIDGETS: All widgets are now properly cleaned up, fixing the frozen widgets bug when loading / closing content
  • MENU/WIDGETS: Fix crash with tasks
  • MENU/WIDGETS: Widgets are now drawn above the overlay with OpenGL and Vulkan
  • MENU/WIDGETS: Fine tune progress bar colors
  • MENU/WIDGETS: Have the progression widget always resize
  • MENU/THUMBNAILS: Ensure that displayed thumbnails are always refreshed correctly after selecting 'Download Thumbnails' from Quick Menu
  • MENU/THUMBNAILS: Make PNG image loading/processing non-blocking on non-threaded systems
  • MENU/OZONE: Add it for PS3
  • MENU/OZONE: Fix regression in 1.7.7 - OSX/macOS - was unable to start it
  • MENU/OZONE: Fix sublabel spacing
  • MENU/OZONE: Add toggle to enable/disable playlist name truncation in Ozone
  • MENU/OZONE: (Ozone) Fix display of (semi-)transparent thumbnails
  • MENU/XMB: Add menu animation settings
  • MENU/XMB: Add optional thumbnail scaling
  • MENU/XMB: Fix display of long sublabels. Text that would exceed the display area now scrolls line-by-line
  • MENU/XMB/OZONE: Add optional thumbnail upscaling
  • MENU/QT/WIMP: Add core option sublabels as tooltips, add buttons to reset one/all core options
  • MENU/QT/WIMP: Word-wrap core option tooltips
  • MENU/QT/WIMP: Path selector fixes
  • MENU/RGUI: Enable playlist display on platforms without database support
  • MENU/RGUI: Make particle effects framerate independent + add animation speed setting
  • MIDI: correct pitch bend in ALSA driver - MIDI standard pitch bend center position is 0x2000 but ALSA's is 0
  • MIDI: Fix SysEx handling
  • OSD: OSD is now drawn above the overlay with Vulkan
  • PATCH: Fix IPS patches
  • PLAYLISTS: Fix playlist heap corruption bug
  • PLAYLISTS: Add history/favourites to 'Playlist Management' menu
  • RECORD: Fix Twitch streaming
  • REMOTE RETROPAD: Fix for Remote RetroPad input
  • RUNAHEAD/MSVC2010: Build in runahead support for MSVC2010 and up
  • RUNAHEAD/VITA: Build in runahead support for Vita version
  • SAVESTATES: Allow auto save states also in cores that support no content as long as some content is loaded
  • SCALER: Fix SSE2 path for ARGB/BGRA -> BGR24 - should fix screenshots being taken for XRGB888 (viewport)
  • SCANNER: Skip all databases with incompatible file extensions, whether content is inside an archive or not
  • SCANNER: Fix hang on empty files inside archives
  • SHADERS: Fix shader loading and saving in content-less cores
  • SHADERS: Implement video shader delay setting
  • SHADERS: Add proper shader compatibility checks
  • SHADERS: Enable Cg shaders for D3D9
  • SHADERS: Remove 'video_shader' setting, replace it with global presets that make more sense
  • SHADERS: #reference directive for shaders. Presets can point to other existing presets if they are unchanged
  • SHADERS: Will attempt to cache the shader/preset into memory before loading to avoid costly getline/gets/getc operations
  • SHADERS: New --set-shader commandline option
  • SHADERS/MENU: Prevent undefined behaviour when failing to load shaders
  • SHADERS/MENU: Pressing the Start button on 'Load Shader Preset' will reset all shader passes and apply changes, effectively disabling the shaders
  • SHADERS/MENU: New menu options for removing shader presets (global/core/parent/etc)
  • THUMBNAILS: Add optional On-Demand Thumbnails
  • UDEV: Fix wrong udev devices order
  • UDEV/X11: Mouse pointer should work now in X11 environment with no Display
  • VULKAN/SLANG: Added "FrameDirection" slang semantic
  • VULKAN: Add option to select which GPU to render with
  • VULKAN: Validate non-causal filter chain for texture inputs. We only validated for UBO inputs apparently
  • WII: Add default video/audio filter directories
  • X11: Add improved menu resizing for window resizing
  • X11: Add non-evdev keycodes to fix keyboard input on non-Linux systems with X11
https://www.libretro.com/index.php/retroarch-1-7-7-released/
  • AUDIO: Avoid deadlocks in certain audio drivers when toggling menu sounds on
  • BLISS-BOX: Support PSX Jogcon (requires firmware 3.0)
  • CHEEVOS: Fix crash when reading memory that is out of range
  • CHEEVOS: New Cheevos implementation enabled by default
  • CHEEVOS: Pop-up badges when an achievement is triggered
  • CRT: Dynamic super resolution support
  • DISCORD: Fix potential crash when username is empty and discord is disabled
  • DISCORD: Ask to join support for Linux
  • INPUT/ANDROID: Add "Input Block Timeout" option
  • COMMON: For platforms without HAVE_THREADS, don't automatically resume content when saving/loading states
  • COMMON: Make playlist sorting optional and consistent
  • COMMON: Fix sorting of playlists with blank labels
  • COMMON: Fix content scanner creating false positive playlist entries that also have wrong label and crc32
  • COMMON: Add some MMX-optimized pixel conversion routines
  • COMMON: Fix typo preventing some SSE2-optimized pixel conversions from being used
  • COMMON: Add option to track how long content has been running over time
  • COMMON: Fix buffer overflows in system information
  • COMMON: Add option to change screen orientation via the windowing system (Android, Windows, X11)
  • COMMON: Show CPU model name in log
  • COMMON: Add "Help -> Send Debug Info" option (and F10 hotkey) to send diagnostic info to the RetroArch team for help with problems
  • COMMON: Show GPU device name/version in log
  • COMMON: Add menu option to write log info to a file
  • COMMON: Add subsystem support for playlists. Subsystem info is automatically saved to the history playlist for easy relaunching
  • GL: Add new "gl1" OpenGL 1.1 compliant video driver for legacy GPUs and software renderers
  • GL: Add a new "glcore" driver with slang support (requires GL 3.2+ or GLES3)
  • GL: Draw OSD on top of overlay
  • GONG: Add savestate support
  • GONG: Add video refresh rate core options
  • GONG: Two player support via core option
  • GUI: Fix text alignment when using stb_unicode
  • GUI: Fix text display issues when using Japanese (and other unicode-dependent language) text with stb_unicode
  • GUI: Set language on first startup to the user's preferred OS language (Windows, *nix and Android)
  • INPUT: Add (scaled radial) analog deadzone and sensitivity options
  • LIBRETRO: Add Turkish language support
  • LIBRETRO: Allow non-accelerated video to rotate the display
  • LOCALIZATION: Update Chinese (Simplified) translation
  • LOCALIZATION: Update Chinese (Traditional) translation
  • LOCALIZATION: Update Dutch translation
  • LOCALIZATION: Update French translation
  • LOCALIZATION: Update German translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Russian translation
  • LOCALIZATION: Update Spanish translation
  • LOCALIZATION: Add new Turkish translation
  • MIDI: Fix startup crash in midi driver
  • MENU: Bugfix - you can no longer get stuck in Online Updater -> Update Core screen when toggling between ingame and menu
  • MENU: Selectively hide 'Take Screenshot' for video drivers that don't support taking screenshots
  • MENU: Framerate independent menu rendering. MaterialUI/Ozone/XMB/RGUI can now run at higher framerates
  • MENU: Thumbnails work in history list
  • MENU: Menu widgets
  • MENU: Add memory statistics support to more context drivers
  • MENU: Enable ozone driver for UWP builds
  • MENU: Add optional "looping" menu text ticker with configurable speed
  • MENU: Fix core video rendering when using ozone with GL cores that implement the scissor test
  • MENU: Add optional playlist sublabels (associated core + play time, where available)
  • MENU: Dropdown list settings now apply immediately
  • MENU: Add setting to require pressing the "Exit RetroArch" hotkey twice to confirm
  • MENU: Now able to run at higher refresh rates than 60Hz
  • MENU: Enable "Add to Favorites" without loading a core
  • MENU: Allow core name to be hidden on history/favorites playlists
  • MENU: Populate crc32 and db_name fields when adding history/favourites playlist entries
  • MENU: Fix TTF files not showing in OSD/menu font selection screen
  • MENU: Fix audio/video filters not showing in file browser
  • MENU/MaterialUI: Add subsystem support
  • MENU/MaterialUI: Add currently selected entry in dropdown menus
  • MENU/OZONE: Add mouse support on entries (no sidebar yet)
  • MENU/OZONE: Allow collapsing the sidebar
  • MENU/OZONE: Add thumbnail support
  • MENU/OZONE: Battery notifications
  • MENU/OZONE: Add wifi icon for network entries
  • MENU/QT/WIMP: Add git version and build date to Help->About window
  • MENU/QT/WIMP: Fix content loading via the file browser
  • MENU/QT/WIMP: Add new settings window to control all RetroArch settings
  • MENU/RGUI: Improve playlist titles
  • MENU/RGUI: Add option to hide associated cores in playlists
  • MENU/RGUI: Add internal upscaling option
  • MENU/RGUI: Add subsystem support
  • MENU/RGUI: Add menu sublabel support
  • MENU/RGUI: Re-enable "Load Core" option when content is loaded
  • MENU/RGUI: Add optional "Collections" entry to main menu
  • MENU/RGUI: Add "Lock Menu Aspect Ratio" option
  • MENU/RGUI: Add "full width" layout option
  • MENU/RGUI: Ensure menu color theme is applied immediately
  • MENU/RGUI: Fix "Lock Menu Aspect Ratio" option when using custom viewports
  • MENU/RGUI: Add widescreen support
  • MENU/RGUI: Allow text to be centred when selecting widescreen layouts
  • MENU/RGUI: Add inline playlist thumbnail support
  • MENU/RGUI: Add optional shadow effects
  • MENU/RGUI: Performance optimizations
  • MENU/RGUI: Add optional extended ASCII support
  • MENU/RGUI: Add optional delay when loading thumbnails
  • MENU/RGUI: Add on-screen keyboard
  • MENU/RGUI: Battery notifications
  • MENU/XMB: Prevent crashes when resizing to a tiny window
  • MENU/XMB: XMB honors the 'show menu sublabels' setting now - was previously RGUI only
  • NETPLAY: Fix stall-out causing total disconnection with >2 players
  • NETPLAY: Different (more intuitive?) default netplay share policy
  • NETPLAY: Add hotkey option to toggle hosting on/off
  • NETWORKING: Encode URLs to allow for spaces in directory names
  • SCANNER: New option 'Scan without core match'
  • SHADERS: Don't alphabetize shader presets
  • VULKAN: Fix color issues with RGBA8888 swapchains in readback (screenshots)
https://www.libretro.com/index.php/retroarch-1-7-6-released/
  • CHEEVOS: Reset when hardcore mode is toggled
  • CHEEVOS: Update the hashing methods to identify NES, SNES and Lynx games (more accurate and accepting headerless ROMs)
  • COMMON: Add new JSON playlist format
  • COMMON: Fix playlist corruption when deleting items
  • COMMON: Fix archive progress display calculation
  • COMMON: Fix playlist entries appearing with previously used names
  • COMMON: Fix screenshot filename with no core or content
  • COMMON: Allow compiling without menu support
  • CORE UPDATER: Allow sideloading cores from the menu
  • CPU FILTERS: Add Normal2x filter
  • CRT/LINUX: New Linux switching method partially implemented
  • CRT/LINUX: Linux restore desktop resolution fixed
  • CRT/LINUX: Monitor index switching and auto enumerate for output detection in Linux (still working on the windows method)
  • CRT/RASPBERRY PI: Initial support
  • DATE: Add Date / Time style options
  • DEBUGGING: Add an integrated crash handler for debug builds
  • DISCORD: Register the application name properly
  • DISK CONTROL: Remember the last used folder / current active folder to make disk-swapping faster
  • INPUT: Add new menu toggle (hold start button for 2 seconds)
  • INPUT: Fix arrow keys being incorrectly bound as numpad keys
  • INPUT/SDL: Flush the joypad events. Decreases cpu usage over time with the SDL joypad driver
  • LOCALIZATION: Add Greek translation
  • LOCALIZATION: Update German translation
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Simplified Chinese translation
  • LOCALIZATION: Update Spanish translation
  • MENU: New "ozone" menu driver
  • MENU: Only show CRT SwitchRes if video display server is implemented (Windows/Linux for now)
  • MENU: User Interface -> Appearance -> 'Menu Font Green/Blue Color' settings now work properly
  • MENU: Add option to enable in-menu sound effects
  • MENU/QT/WIMP: Allow building with MSVC2017
  • MENU/QT/WIMP: Add detailed file browser table
  • MENU/QT/WIMP: New grid view implementation that is faster and loads thumbnails on-demand
  • MENU/QT/WIMP: Thumbnail drag and drop support
  • MENU/RGUI: Overhaul custom theme interface + add wallpaper support
  • MENU/RGUI: Thumbnail support and thumbnail downscaling
  • MENU: Hide password values
  • MENU/SOUNDS: Implement in-menu sound effects (not enabled by default for now, still experimental)
  • MIDI: Add a Linux ALSA driver for MIDI
  • NETPLAY: Force fast-save-states when netplay is enabled
  • NETPLAY: Allow quick joining subsystem lobbies
  • RECORDING: Implement recording options in the menu complete with quality profiles, streaming, and proper file naming
  • SCANNER: Fix GDI disc scanning
  • SHADERS: Fix auto shader preset loading on D3D10, D3D11, D3D12
  • SUBSYSTEM: Allow more than 10 subsystems
  • SUBSYSTEM: Cores that use subsystem for complex scenarios can now load content without starting a regular content first
  • SUBSYSTEM: Remember the last used folder to make loading subsystem type content faster
  • VULKAN: Fix RGUI crashing at startup
  • VULKAN/RGUI: Enable 'Menu Linear Filter' option
  • VULKAN: Fix secondary screens in overlays not working
  • WAYLAND: Implement idle-inhibit support (needed for screensaver suspend)
  • WAYLAND: Fix fullscreen toggle
  • VFS: Update to version 3
  • XBONE: Initial Xbox One port
  • XMB/OZONE: Add more icons
  • Easter egg
  • CAMERA: Fix Video4Linux2 driver that broke years ago
  • CONFIG: Add 'Reset To Defaults' setting in Configurations. Thi will reset your config file to defaults
  • CHEATS: Add support for Rumble when increase or decrease by the rumble value
  • CHEATS: Add cheat variables to allow for updating large portions of memory
  • CHEEVOS: Prevent loading states before achievements are fully loaded
  • COMMON: Support for "OEM-102" key (usually '' on Euro keyboards)
  • DISCORD: Add 'Ask To Join' Feature
  • INPUT: Add new menu toggle combos 'L3 + R' and 'L + R' (useful for Switch)
  • LOCALIZATION: Update Portuguese / Brazilian translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Spanish translation
  • MENU: Add dropdown lists for many settings
  • MENU: Fix crash that could happen when changing core's options on Android
  • MENU/QT/WIMP: Add option to rename playlists
  • MENU/QT/WIMP: Add option to filter extensions inside archives when adding to a playlist
  • MENU/QT/WIMP: Rename playlist entries with 2 single clicks
  • MENU/QT/WIMP: Fix shader parameter checkboxes not working
  • NETPLAY: Save lobby details received back from server after first announcement
  • OPENGL/GLX: Implement Adaptive VSync - GLX_EXT_swap_control_tear
  • OPENGL/WGL: Implement Adaptive VSync - WGL_EXT_swap_control_tear
  • RUNAHEAD: Fix performance degradation that could happen over time (after approx. 30 mins). Fixed input IDs outside of range 0-35 causing slow performance in runahead
  • VULKAN: Fix race condition in threaded mailbox emulation
  • VULKAN: Maintenance fixes
  • CHEEVOS: Fix crash when scrolling Achievement List while Unofficial Achievements enabled (#6732)
  • CHEEVOS: Added hitcounts support for PauseIf/ResetIf (#6817)
  • COMMON: Automatically hide "Configuration Override options" in Quick Menu
  • COMMON: Small Bugfix to not trigger savestate code when pressing Reset
  • COMMON: Added libsixel video driver
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Portuguese / Brazilian translation
  • LOCALIZATION: Update Russian translation
  • LOCALIZATION: Update Spanish translation
  • MIDI: Add MIDI support to the libretro API. Dosbox is the first proof of concept core implementing libretro MIDI
  • MENU/QT/WIMP: Qt QSlider styling for Dark Theme
  • MENU/QT/WIMP: Remove button ghostly inside highlighting
  • MENU/QT/WIMP: Initial grid view
  • MENU/QT/WIMP: Drag and drop to add new playlist items, add option to add/edit/delete playlists
  • MENU/QT/WIMP: Add menu option to update RetroArch (Windows only for now)
  • MENU/QT/WIMP: Add menu option to manage shaders
  • MENU/QT/WIMP: Add menu option to manage core options
  • MENU/XMB: Add new icons for the settings
  • MENU/XMB: Add an option to show the desktop ui
  • NETWORK: Enable SSL/TLS support by default for desktop platforms
  • REMAPS: Fix the way offsets are calculated for keyboard remapping
  • RUNAHEAD: Fix full-screen mode change breaking Secondary Core's environment variables
  • VULKAN: Fix two validation errors
  • VULKAN: Try to avoid creating swapchains redundantly. Should fix black screen and having to alt tab out of window again to get display working on Nvidia GPUs (Windows)
  • X11: Fix Game Focus Toggle
  • AUDIO: Audio mixer supports FLAC/MP3 file types now
  • COMMON: Fixed bug 'crashing in cores that don't range check retro_set_controller_type'
  • COMMON: (QuickMenu) Added Configuration Override submenu
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update Portuguese translation
  • MENU: Audio mixer now works in the menu without any cores loaded. You have to enable the setting 'Enable menu audio' for this to work
  • REMAPPING/OVERLAYS: Fix regression - overlays could no longer be remapped
  • SCANNER: Add Wii Backup File WBFS support
  • X11: CRT SwitchRes support for X11/Linux
  • CRT: Added CRT SwitchRes
  • COMMON: Hide the 'Core delete' option if the 'Core updater' is also hidden
  • COMMON: Add way to reset core association for playlist entry
  • COMMON: Fix invalid long command line options causing infinite loop on Windows
  • COMMON: Add OSD statistics for video/audio/core
  • COMMON: Added runahead system; allows you to drive down latency even further
  • CHEEVOS: Support Atari 2600, Virtual Boy, and Arcade (only Neo Geo, CPS-1, CPS-2 and CPS-3 and only with fbalpha core)
  • CHEEVOS: Add option to automatically take a screenshot when an achievement is triggered
  • CHEEVOS: Fixed incompatibilities with Neo Geo Pocket achievement sets
  • LIBRETRO: Addition - Functions to enable and disable audio and video, and an environment function to query status of audio and video enables
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update Polish translation
  • MENU: Add Rewind/Latency/Overlay settings to Quick Menu, add options to show/hide them (User Interface -> Views -> Quick Menu)
  • MENU/RGUI: Only show Menu Linear Filter for RGUI and only show it for video drivers that implement it (D3D8/9/10/11/12/GL)
  • MENU/RGUI: Add User Interface -> Appearance options
  • MENU/RGUI: D3D8/D3D9: Hookup Menu Linear Filter
  • MENU/XMB: Disable XMB shadow icons by default for PowerPC and ARM for performance reasons
  • MENU/XMB: Left/right thumbnails are now automatically scaled according to layout
  • MENU/XMB: Add Left Thumbnails (additional to the right)
  • MENU/XMB: Fixed left/right tab regression
  • MENU/XMB: Fix scaling of tall images that were cut on bottom previously
  • MENU/XMB: Menu scale factor setting now changes texts length, image scaling and margins
  • MENU/XMB: Mouse cursor scales correctly now
  • MENU/XMB: Add toggle to show/hide Playlist tabs
  • MENU/XMB: Add menu layout - can switch between Desktop, Handheld and Auto
  • MENU/XMB: Don't load menu pipeline shaders unless XMB is selected (D3D10/D3D11/D3D12/GL/Vulkan)
  • MENU/VIDEO: Only show black frame insertion for the video drivers/context drivers that support it (so far this includes - D3D8/D3D9, OpenGL, Vulkan)
  • MENU/VIDEO: Only show max swapchain images if supported by video driver and/or context driver (so far this includes - DRM EGL context driver, VideoCore EGL context driver, Vulkan)
  • MENU/MaterialUI: Automatic DPI Scaling should be much improved now, now scales as expected at 1440p and 4K resolutions
  • MENU/MaterialUI: Fix wrong calculation of an entry height causing long playlists to end up outside of screen range. This also could cause crashes on low DPI screens
  • SCANNER: Should be able to scan dual-layer Wii disc images now, filestream code now supports files larger than 4GB
  • SHADERS/SLANG: Slang shaders should work again on Android version and MSVC versions (basically all the Griffin-based versions)
  • SHADERS: If GL context is GLES2/3/Core context, Cg shaders are unavailable. Applies to shader list too
  • SHADERS: Hide cg/glsl shaders from being able to be selected if D3D8/9/10/11/Vulkan video drivers are selected
  • SHADERS: Hide slang shaders from being able to be selected if D3D8/9/OpenGL video drivers are selected
  • SHADERS: Prevent crashes from occurring if we have the GL video driver in use and we try to skip to a slang shader through next/previous hotkeys
  • SHADERS: Fix shader parameter increase / decrease functions
  • SUBSYSTEM: handle savestates properly (cart1 + cart2.state0)
  • VULKAN/X11: Fix X11 Vulkan bug from Wayland driver
  • VULKAN: Fix multi-line text spacing in menus with Vulkan driver
  • X11: Allow compositor disabling on X11 fullscreen through _NET_WM_BYPASS_COMPOSITOR
  • X11: Prioritize _NET_WM_STATE_FULLSCREEN in true fullscreen mode
  • AUDIO: Added 'Audio Resampler Quality' setting to Audio Settings
  • CHEEVOS: Fix unofficial achievements not being loaded
  • CHEEVOS: Show savestate menu entries when no achievements are found even if hardcore mode is enabled
  • CHEEVOS: Support Neo Geo Pocket
  • COMMON: Bugfix for issue related to 'Windows mouse pointer visible when running MESS or MAME cores'
  • COMMON: Fix bug 'Last item in a Playlist is ignored'
  • COMMON: New LED API. Driver implemented for Raspberry Pi, proof of concept implemented for core MAME 2003
  • COMMON: Add quick menu option to watch shader files for changes and recompile them automatically (Linux only for now)
  • D3D8: Direct3D 8 can now work on systems that have Direct3D 8 installed
  • INPUT: show friendly names when available under input binds and system information
  • INPUT: show the config name when available under system information
  • GUI: Allow changing menu font color
  • GUI: Menu visibility options for RGUI and MaterialUI
  • GUI/MaterialUI: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers
  • GUI/XMB: Add Monochrome Inverted icon theme
  • GUI/XMB: Allow changing menu scale to 200%
  • GUI/XMB: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers. Menu shader effects currently don't work on D3D8/D3D9 Cg
  • KEYMAPPER: prevent a condition that caused input_menu_toggle to stop working when a RETRO_DEVICE_KEYBOARD type device is enabled
  • GL: ignore hard gpu sync when fast-forwarding
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Portuguese-Brazilian translation
  • LOCALIZATION: Update Spanish translation
  • NETPLAY: Add menu option to select different MITM (relay) server locations
  • SHADERS: Allow saving of shader presets based on the parent directory
  • SHADERS: Don't save the path to the current preset to the main config
  • SHADERS: SPIRV-Cross/slang shader support for D3D11
  • SUBSYSTEM: Subsystem saves now respect the save directory
  • SUBSYSTEM: You can now load subsystem games from the menu
  • VULKAN: Fix swapchain recreation bug on Nvidia GPUs with Windows 10 (resolved in Windows Nvidia driver version 390.77)
  • CHEEVOS: Add badges for achievements, shows thumbnail images of achievements
  • CHEEVOS: Leaderboard support
  • CHEEVOS: Only disable savestates on hardcore mode if achievements are not available
  • COMMANDLINE: Fix fullscreen toggle switch
  • COMMON: Add 'Automatically Load Content To Playlist' feature, enabled by default
  • COMMON: Fix slowmotion ratio always being reset back to 1
  • COMMON: Optimized NBIO implementations now for Apple, Windows, and Linux. Uses mmap for Linux/Windows/BSD if/when available. File I/O should now be much faster for loading images inside the menu
  • COMMON: Native Blissbox support now for latest firmware as of writing (2.0). Implementation through libusb and/or native Windows HID
  • COMMON: New lightgun API
  • COMMON: New VFS (Virtual File System) API
  • COMMON: Fixed some playlist bugs
  • COMMON: New snow shader
  • COMMON: Fix Quick Menu title, no longer shows 'Select File'
  • COMMON: Fix loading cores that require no content one after another
  • COMMON: Map Delete key to Y button for non-unified menu keyboard controls
  • COMMON: Fix for relative paths being normalised and generating a duplicate history entry
  • INPUT: Map clear button to DEL key
  • LINUX/X11: Add RetroArch logo to window title bar
  • LINUX/X11: Input driver now supports new lightgun code
  • LINUX/X11: Support window transparency (requires a compositing window manager)
  • LOBBIES: Fix for crash on join netplay rooms via touch / glui
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update Japanese translation
  • LOCALIZATION: Update Portuguese-Brazilian translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Russian translation
  • MENU: Snowflake menu shader effect
  • SCANNER: Fix crash from Windows-incompatible format string
  • VULKAN: Various stability fixes for WSI
  • COMMON: Small memory leak
  • NETPLAY: Fix network command only working once