1. RetroArch
  2. News

RetroArch News

RetroArch 1.20.0 release

RetroArch 1.20.0 has just been released.

Changelog


  • AUDIO: Fix audio handling in case of RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE
  • AUDIO: Include missing audio filters on some platforms
  • AUDIO/PIPEWIRE: Add PipeWire audio driver
  • AUDIO/PIPEWIRE: Add PipeWire microphone driver
  • APPLE: Hide threaded video setting
  • APPLE: Use mfi joypad driver by default
  • APPLE: Include holani, noods, mrboom, yabause, bsnes-jg core in App Store builds
  • CHEEVOS: Add rarity and points to achievement unlock widget
  • CHEEVOS: Add rank to leaderboard submission notification
  • CHEEVOS: Update to rcheevos 11.5
  • CHEEVOS: Update to rcheevos 11.6
  • CHEEVOS: Show rcheevos game image in Discord rich presence
  • CHEEVOS: Use translated strings for achievement messages
  • CLOUDSYNC: Allow saves and configs to be synced optionally
  • CLOUDSYNC: Add iCloud cloud sync driver
  • CLOUDSYNC: Speed up by upload/download in parallel
  • CLOUDSYNC: Allow thumbnails and system dir to be synced optionally
  • CLOUDSYNC: Enable CloudSync on Android (non-SSL)
  • CLOUDSYNC: Add more logs in failure situations
  • CLOUDSYNC: Fixes for reauthentication and parallel sync
  • CLOUDSYNC: Fixes for file resurrection
  • CLOUDSYNC: Enable CloudSync on Windows
  • CRT/SWITCHRES: Update switchres to 2.2.1
  • GENERAL: Support for mbedtls v3
  • GENERAL: Automatic Frame Delay refactor
  • GENERAL: Remove Frame Rest, obsoleted by Frame Delay refactor
  • GENERAL: Wrap around auto increment save state indexes when amount of states is limited
  • GENERAL: Enable CHD hashing for Switch and DOS
  • GENERAL: Enable auto save state when new content is loaded
  • GENERAL: Improve Preemptive Frames when pointing device is used
  • GENERAL: Fix building with menu disabled
  • INPUT: Allow to select a preferred/reserved device for each player
  • INPUT: Enable Caps, Num, Scroll Lock modifiers on multiple platforms
  • INPUT: Autoconfig extension with alternative name/vid/pid
  • INPUT: Fix autoconfig profile saving when device is not in the default port
  • INPUT: Change classic turbo mode to work independently of which key was pressed first
  • INPUT: Pointer and lightgun handling sanitization on Windows and Linux desktop platforms. These input drivers will now report edge and offscreen positions in a harmonized way, and will not return 0 instead.
  • INPUT/DINPUT: Fix detection of quick shift key presses
  • INPUT/HID: Fix crash on macOS when disconnecting the controller a second time
  • INPUT/LINUX: Add illuminance sensor support to the linuxraw, sdl2, udev, and x11 input drivers
  • INPUT/Remaps: Sort and apply remaps based on the specific connected controller
  • INPUT/UDEV: Enable mouse buttons 4 and 5
  • INPUT/WAYLAND: Enable horizontal scroll and mouse buttons 4 and 5
  • INPUT/WAYLAND: Simulate lightgun input for cores
  • INPUT/WAYLAND: Support for cursor-shape-v1 and content-type-v1 protocol
  • INPUT/X11: Enable mouse buttons 4 and 5
  • LIBRETRO: Support RETRO_ENVIRONMENT_GET_FILE_BROWSER_START_DIRECTORY
  • LIBRETRO: Support “/” as a file extension for loading a directory as content
  • FFMPEG: Fix crash when playing back a file with 96 kHz audio
  • MACOS: New display server, including support for ProMotion 120Hz V-Sync
  • MACOS: Create App Store build
  • MACOS: Generate key up events for command keys
  • MIDI: Fix long messages (SysEx) in WinMM driver
  • MIDI: Fix lingering notes on close in Alsa driver
  • MENU: Support local thumbnails in other image formats than png (jpg/jpeg, bmp, tga)
  • MENU: Delete also savestate thumbnails when savestates are garbage collected
  • MENU: Option to disable analog stick menu navigation
  • MENU: Fix pause toggle to not clear fast forward state
  • MENU: Fix search playlist index in XMB/Ozone
  • MENU: Fix renamed entry display
  • MENU: Filter unknown extensions also inside zip files
  • MENU: Add icons for present / missing firmware on core info page
  • MENU: Ignore other hotkeys when menu toggle is pressed
  • MENU: Fix menu jumping when using L3+R3 combo
  • MENU: System Information now only shows features relevant for the platform
  • MENU/GLUI: Make Show Sublabels options effective
  • MENU/GLUI: Icon fixes
  • MENU/XMB: Allow playlist icons to be individually customized, by looking for images in Named_Logos
  • MENU/OZONE: Add Selenium theme for Ozone
  • MENU/OZONE: Touchscreen improvements
  • MENU/OZONE: Add a touch-sensitive Resume button in the lower right corner
  • NETPLAY: Add East Asian relay server
  • OVERLAY: Add option to load overlay based on system name
  • QT: Enable building with Qt6
  • QT: Fix input panel
  • RECORDING: New WAV recording driver (audio only)
  • REMOTE RETROPAD: Add gyro/acceleration/light sensor test screen
  • REMOTE RETROPAD: Add pointer test screen
  • REPLAY: Replay format extended to support external tools
  • VIDEO: Show and use exact refresh rate (3 decimals) and interlace/doublestrike where available
  • VIDEO: Allow setting viewport bias to offset viewport horizontally/vertically
  • VIDEO: Support viewport bias also with integer overscale and custom aspect ratios
  • VIDEO: Use shader path from CLI for shader cycling
  • VIDEO: Pixel perfect integer scaling improvements: axis options, smart mode
  • VIDEO: Add upscale 1.66x filter
  • VIDEO/D3D: Fix GPU screenshots
  • VIDEO/KMS: Force fullscreen when KMS is used
  • VIDEO/OpenGLES: Improve version directive granularity
  • VIDEO/SHADERS: Fix memory leak when shader parameter step is 0.0
  • VIDEO/SHADERS: Add 2 uniforms, OriginalAspect and OriginalAspectRot.
  • VIDEO/SHADERS: Add CoreFPS and FrameTimeDelta uniforms.
  • VIDEO/SLANG: Support optional includes
  • VIDEO/VULKAN: Fix Vulkan window freezes when swapchain becomes suboptimal
  • VIDEO/VULKAN: Prefer IMMEDIATE mode without vsync
  • VIDEO/X11: Support inhibit of Xss screensaver
  • WAYLAND: Fix segfault when relative pointer is not supported
  • WAYLAND: Use reverse DNS name for desktop file and icon
  • WAYLAND: Commit viewport resizes for more responsive display when resizing window
  • WINDOWS: Fix restart if path to executable contains non-ASCII symbols
  • WINDOWS: Hide directories starting with $ from file browser

RetroArch 1.19.0 release

RetroArch 1.19.0 has just been released.

Read the full article on our website here.

Changelog

AI: Revert AI translation to previous version (fix for translation not working with HW rendered cores)
APPLE: Try to use system preferred language
APPLE: Correctly register for filetypes uniquely
APPLE/MFI: improved Switch Online controller support through MFi
AUDIO: Bring back audio toggling on menu toggle
CHEEVOS: Build a default RetroAchievements memory map when no RetroAchievements game is loaded
CHEEVOS: Update to rcheevos 11.3
CHEEVOS: fix hardcore acting as if it’s enabled when it isn’t
CLANG: Fix clang error incompatible-pointer-types-discards-qualifiers
CLOUDSYNC/LINUX: Enable Cloud Sync by default on Linux builds with network (#16456)
CLOUDSYNC/WEBOS: Enable Cloud Sync by default on Linux builds with network (#16456)
CORE: Set compute fps stats logging to debug level
EMSCRIPTEN: Added M2000 to core selection dropdown
FFMPEG: Add compatibility with FFMPEG 7.0
GLSLANG: Remove unneeded ENABLE_HLSL code from glslang
GENERAL: Memory leak: Dynamic allocation from msg_hash_get_help_us_enum was not freed.
INPUT/KEYBOARD: Add support for multimedia keys – Extended RETROK_ values with 18 new items, commonly found on
“multimedia” keyboards. Mapping added for SDL, X11, Wayland, dinput, winraw keymaps.
INPUT/MFI: Pressure sensitive left/right triggers
INPUT/MFI: Fix Start + L1/L2/R2 combinations
INPUT/MFI: Support strong and weak rumble
INTL: Fetch translations from Crowdin
INTL: Add Galician and Norwegian to list of languages
LIBRETRO: Add a debug message for the SET_ROTATION callback
MENU: New function in Quick Menu: Add to Playlist
MENU/XMB: New theme: FlatUX, designed to merge FlatUI and Retroactive themes into a single, unified design
NETWORKING/RETROPAD CORE: Fix socket close method
PIXMAN: Update pixman-private.h – patch to fix build issue with musl
PLAYLIST: Cleanup ‘Add to Playlist’ (#16495)
SCANNING: Fix for scanning PSP ISOs (and probably few others)
SAVES: Fix core config saving
SAVES: Fix save new config name when core loaded
SAVESTATES: Increase save state chunk size for all platforms – Even a class 6 or class 10 SD card can handle reads and writes on the order of MB/s, which means a 4KB chunk size is just wasting time in syscalls. This could maybe be fixed with a buffering reader but I don’t feel comfortable tweaking libretro-common’s VFS to handle that. Instead, I thought it would be good to both remove an ifdef and increase the chunk size to 128KB. For cores with small states this will should make state saving virtually instantaneous, and for cores with large states it should be a 32x speedup.
VIDEO: Fix crash when using threaded video – for Mesa 23.2 and later
VIDEO/GL: Fix reinitialization of the threaded gl drivers
VIDEO/VULKAN: Add support for A2R10G10B10 HDR format
VIDEO/VULKAN: Implement HDR readback – screenshot support
WAYLAND: Ignore configure events during splash (fix not remembering window size)
WAYLAND: Use frontend signal handler to quit (fix quit by window close)
WAYLAND: Commit viewport resizes (window resize is more responsive)
UWP: Align MESA to alpha-2-resfix – Remove wrong resolution special handling for OPENGL
UWP: 4K fix: align MESA reading of ClientRect to retroarch procedure, this fixes max resolution being set to 1080p. As reading must be done inside an UI thread and is in fact an async operation which might delay frame generation, the reading itself is doen once and cached, give that changing resolution while the app is running is an unlikely corner-case use
WINDOWS: Windows mouse ungrab must release the mouse instead of confine it to the current desktop (#16488)
WINDOWS: Fix numlock/pause key release events
AI: Fix narrator language when AI translation and menu languages are different
DISK CONTROL: Add option to disable initial disk change
DISK CONTROL: Visibility option for disk control notifications
DRM: Fix mode vrefresh calculation. When using an interlaced/doublescan mode, the vertical refresh rate is mis-calculated.
EMSCRIPTEN: Fix mouse Y parameter translation in rwebinput
INPUT: Fix input state combos including R3 and false triggers of RETROK_UNKNOWN
INPUT: Add a new turbo mode, “Classic (Toggle)”
INPUT: Fix bind hold when axis does not rest at 0
INPUT: Limit axis threshold setting to sensible values
INPUT: Add Overlay Mouse, Lightgun, and Pointer
INPUT/ANDROID: Fix mouse grab behavior on Android
INPUT/LINUXRAW: Fix device name and hotplug reconnect
LIBRETRO: Add Doxygen-styled comments to parts of the libretro API
LUA: Update Lua to version 5.3.6
MENU: Add sublabels for input bind common entries
MENU: Don’t load history and favorites if size is 0
MENU: Don’t disable fast forward when entering menu
MENU: Widget position, size, color, icon adjustments
MENU: Fix savestate slots in Qt UI
MENU: Reorder and reduce depth of User Interface menu
MENU/OZONE: Fix sidebar wraparound, visibility after config load, crash after playlist delete
MENU/OZONE: Fix sidebar and sublabel animations
OSX/MACOS: Fix crash on non-Metal build
OSX/MACOS: Add portable.txt as flag for portable install
REMOTE RETROPAD: add display for analog axes, indication of inputs already pressed
SAVES: Allow combining saves in content dir with save sorting
SHADER: Added rolling scan line simulation based on the shader subframe feature. This is implemented with a scrolling scissor rect rather than in the shader itself as this is more efficient although may not work for every shader pass – we may need an option to exclude certain passes. The implementation simply divides the screen up by the number of sub frames and then moves the scissor rect down over the screen over the number of sub frames
UWP: Enable HAVE_ACCESSIBILITY for UWP builds
UWP: Allow UWP build to work with a modified version of Mesa Gallium D3D12
VIDEO: Add subframe shader support for Vulkan/GLcore/DX10-11-12, enabling shaders to run at higher framerate than the content
VIDEO: Fix restoring fullscreen/windowed setting when unloading override
VIDEO/VULKAN: Fix HDR with Vulkan after reinit
VIDEO/VULKAN: Remove the use of oldSwapchain
VIDEO/GL2: Fix OpenGL ES version detection
WEBDAV: Fixed SEGFAULT in WebDav task sync + type changes
WEBOS: Fix build, add core location on webosbrew.org
WIN32: Fix Alt+Enter not working when menubar is disabled

Version 1.19.0 released

RetroArch 1.19.0 has just been released.

Changes
AI: Revert AI translation to previous version (fix for translation not working with HW rendered cores)
APPLE: Try to use system preferred language
APPLE: Correctly register for filetypes uniquely
APPLE/MFI: improved Switch Online controller support through MFi
AUDIO: Bring back audio toggling on menu toggle
CHEEVOS: Build a default RetroAchievements memory map when no RetroAchievements game is loaded
CHEEVOS: Update to rcheevos 11.3
CHEEVOS: fix hardcore acting as if it’s enabled when it isn’t
CLANG: Fix clang error incompatible-pointer-types-discards-qualifiers
CLOUDSYNC/LINUX: Enable Cloud Sync by default on Linux builds with network (#16456)
CLOUDSYNC/WEBOS: Enable Cloud Sync by default on Linux builds with network (#16456)
CORE: Set compute fps stats logging to debug level
EMSCRIPTEN: Added M2000 to core selection dropdown
FFMPEG: Add compatibility with FFMPEG 7.0
GLSLANG: Remove unneeded ENABLE_HLSL code from glslang
GENERAL: Memory leak: Dynamic allocation from msg_hash_get_help_us_enum was not freed.
INPUT/KEYBOARD: Add support for multimedia keys – Extended RETROK_ values with 18 new items, commonly found on
“multimedia” keyboards. Mapping added for SDL, X11, Wayland, dinput, winraw keymaps.
INPUT/MFI: Pressure sensitive left/right triggers
INPUT/MFI: Fix Start + L1/L2/R2 combinations
INPUT/MFI: Support strong and weak rumble
INTL: Fetch translations from Crowdin
INTL: Add Galician and Norwegian to list of languages
LIBRETRO: Add a debug message for the SET_ROTATION callback
macOS: Default Accessibility on if VoiceOver is on
iOS: default audio sync on again, also more mfi logging
iOS: Fix Import Content
iOS: Fix ios-arm64 nightly build crash
iOS: Import content from iCloud
iOS: Fix #16485 crash on startup
iOS: Display app icon in app icon picker in materialui
iOS/tvOS: Various QoL improvements
iOS/tvOS: Fix a couple more path name mangling bugs
iOS/tvOS: Better way of packaging Frameworks
iOS/tvOS: define PACKAGE_VERSION to be App Store MARKETING_VERSION
iOS/tvOS: Fix keyboard handling for app store builds
iOS/tvOS: Fix escaping the sandbox for jailbroken devices
iOS/tvOS: default accessibility on if voice over is enabled
iOS/tvOS: better way of reporting available memory
macOS/iOS/tvOS: enable text-to-speech using AVSpeechSynthesizer.
tvOS: Fix scaling for 720p
MENU: New function in Quick Menu: Add to Playlist
MENU/XMB: New theme: FlatUX, designed to merge FlatUI and Retroactive themes into a single, unified design
NETWORKING/RETROPAD CORE: Fix socket close method
PIXMAN: Update pixman-private.h – patch to fix build issue with musl
PLAYLIST: Cleanup ‘Add to Playlist’ (#16495)
SCANNING: Fix for scanning PSP ISOs (and probably few others)
SAVES: Fix core config saving
SAVES: Fix save new config name when core loaded
SAVESTATES: Increase save state chunk size for all platforms – Even a class 6 or class 10 SD card can handle reads and writes on the order of MB/s, which means a 4KB chunk size is just wasting time in syscalls. This could maybe be fixed with a buffering reader but I don’t feel comfortable tweaking libretro-common’s VFS to handle that. Instead, I thought it would be good to both remove an ifdef and increase the chunk size to 128KB. For cores with small states this will should make state saving virtually instantaneous, and for cores with large states it should be a 32x speedup.
VIDEO: Fix crash when using threaded video – for Mesa 23.2 and later
VIDEO/GL: Fix reinitialization of the threaded gl drivers
VIDEO/VULKAN: Add support for A2R10G10B10 HDR format
VIDEO/VULKAN: Implement HDR readback – screenshot support
WAYLAND: Ignore configure events during splash (fix not remembering window size)
WAYLAND: Use frontend signal handler to quit (fix quit by window close)
WAYLAND: Commit viewport resizes (window resize is more responsive)
UWP: Align MESA to alpha-2-resfix – Remove wrong resolution special handling for OPENGL
UWP: 4K fix: align MESA reading of ClientRect to retroarch procedure, this fixes max resolution being set to 1080p. As reading must be done inside an UI thread and is in fact an async operation which might delay frame generation, the reading itself is doen once and cached, give that changing resolution while the app is running is an unlikely corner-case use
WINDOWS: Windows mouse ungrab must release the mouse instead of confine it to the current desktop (#16488)
WINDOWS: Fix numlock/pause key release events
AI: Fix narrator language when AI translation and menu languages are different
DISK CONTROL: Add option to disable initial disk change
DISK CONTROL: Visibility option for disk control notifications
DRM: Fix mode vrefresh calculation. When using an interlaced/doublescan mode, the vertical refresh rate is mis-calculated.
EMSCRIPTEN: Fix mouse Y parameter translation in rwebinput
INPUT: Fix input state combos including R3 and false triggers of RETROK_UNKNOWN
INPUT: Add a new turbo mode, “Classic (Toggle)”
INPUT: Fix bind hold when axis does not rest at 0
INPUT: Limit axis threshold setting to sensible values
INPUT: Add Overlay Mouse, Lightgun, and Pointer
INPUT/ANDROID: Fix mouse grab behavior on Android
INPUT/LINUXRAW: Fix device name and hotplug reconnect
IOS: Minor iOS JIT availability information
IOS/TVOS: Pause application on applicationWillResignActive
LIBRETRO: Add Doxygen-styled comments to parts of the libretro API
LUA: Update Lua to version 5.3.6
MENU: Add sublabels for input bind common entries
MENU: Don’t load history and favorites if size is 0
MENU: Don’t disable fast forward when entering menu
MENU: Widget position, size, color, icon adjustments
MENU: Fix savestate slots in Qt UI
MENU: Reorder and reduce depth of User Interface menu
MENU/OZONE: Fix sidebar wraparound, visibility after config load, crash after playlist delete
MENU/OZONE: Fix sidebar and sublabel animations
OSX/MACOS: Fix crash on non-Metal build
OSX/MACOS: Add portable.txt as flag for portable install
REMOTE RETROPAD: add display for analog axes, indication of inputs already pressed
SAVES: Allow combining saves in content dir with save sorting
SHADER: Added rolling scan line simulation based on the shader subframe feature. This is implemented with a scrolling scissor rect rather than in the shader itself as this is more efficient although may not work for every shader pass – we may need an option to exclude certain passes. The implementation simply divides the screen up by the number of sub frames and then moves the scissor rect down over the screen over the number of sub frames
UWP: Enable HAVE_ACCESSIBILITY for UWP builds
UWP: Allow UWP build to work with a modified version of Mesa Gallium D3D12
VIDEO: Add subframe shader support for Vulkan/GLcore/DX10-11-12, enabling shaders to run at higher framerate than the content
VIDEO: Fix restoring fullscreen/windowed setting when unloading override
VIDEO/VULKAN: Fix HDR with Vulkan after reinit
VIDEO/VULKAN: Remove the use of oldSwapchain
VIDEO/GL2: Fix OpenGL ES version detection
WEBDAV: Fixed SEGFAULT in WebDav task sync + type changes
WIN32: Fix Alt+Enter not working when menubar is disabled

Dosbox Pure core added

We added a new core, Dosbox Pure. This brings the total number of available cores on Steam to 65 now.

https://store.steampowered.com/app/3005610/RetroArch__DOSBox_Pure/

DOSBox Pure is a hard fork of the multiplatform MS-DOS emulator. It was built by Psyraven in 2020 specifically for RetroArch/Libretro and implements advanced features like save states, an on-screen keyboard, highly customizable controller setup or rewinding. DOSBox Pure aims for simplicity and ease of use.

https://www.youtube.com/watch?v=rHkIz4-SewI

Geolith core added

We added a new core, Geolith. This brings the total number of available cores on Steam to 62 now.

Geolith is a highly accurate core for a popular console/arcade system released in the early 1990s, and surviving into the mid 2000s. It is written in modern C and takes a unique approach compared to other emulators for this system. This core focuses on providing a user experience similar to a traditional home console, both by defaulting to home console mode and the use of single-file game files. However, despite this focus, it also maintains full support for playing games in arcade form.

https://store.steampowered.com/app/2857800/RetroArch__Geolith/