retroarch: update to the 1.21.0 version#4068
Conversation
This bumps the RetroArch version to 1.21.0 from 1.19.0 The new version has a regression on KMS/DRM for RGUI, reported upstream, which is worked around by setting `rgui_aspect_ratio_lock` to `0` until (if) it's fixed. This will make the RGUI stretch/shrink to the current core provided resolution instead of staying the same. Release announcements for the new versions: - 1.21 (April 2025) https://www.libretro.com/index.php/retroarch-1-21-0-release/ - 1.20 (January 2025) https://www.libretro.com/index.php/retroarch-1-20-0-release/ Abbreviated changelog from 1.19.0, focused on features relevant to Linux/RetroPie: * AUTOCONF: Enable alternative display name in autoconfig files (v1.21) * AUTOCONF: Make autoconfig failure messages optional (v1.21) * AUDIO: Option to mute on rewind (v1.21) * AUDIO/PIPEWIRE: Fix app launch when pipewire service is stopped (v1.21) * AUDIO/PIPEWIRE: Fix speedup with threaded video mode (v1.21) * AUDIO/PIPEWIRE: Fix latency setting and microphone handling (v1.21) * AUDIO/PIPEWIRE: Pass the new rate to the audio driver (v1.21) * AUDIO: Fix audio handling in case of RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE (v1.20) * AUDIO: Include missing audio filters on some platforms (v1.20) * AUDIO: Add PipeWire audio driver (v1.20) * AUDIO: Add PipeWire microphone driver (v1.20) * CHEEVOS: Add rarity and points to achievement unlock widget (v1.20) * CHEEVOS: Add rank to leaderboard submission notification (v1.20) * CHEEVOS: Update to rcheevos 11.6 (v1.20) * CHEEVOS: Show rcheevos game image in Discord rich presence (v1.20) * CHEEVOS: Use translated strings for achievement messages (v1.20) * CHEEVOS: Include achievement state in netplay states (v1.21) * CHEEVOS: Fix crash when entering achievements in quick menu while client is not present (v1.21) * CRT/SWITCHRES: Update switchres to 2.2.1 (v1.20) * GENERAL: Fix save state auto increment (v1.21) * GENERAL: Fix softpatching with periods/dots in the file name (v1.21) * GENERAL: Allow asset directory redefinition and other directory overrides via environment variables (v1.21) * GENERAL: Fix performance counter option not remembered between sessions (v1.21) * GENERAL: Use core fps instead of screen refresh for calculating dropped frames (v1.21) * GENERAL: Support for mbedtls v3 (v1.20) * GENERAL: Automatic Frame Delay refactor (v1.20) * GENERAL: Remove Frame Rest, obsoleted by Frame Delay refactor (v1.20) * GENERAL: Wrap around auto increment save state indexes when amount of states is limited (v1.20) * GENERAL: Enable CHD hashing for Switch and DOS (v1.20) * GENERAL: Enable auto save state when new content is loaded (v1.20) * GENERAL: Improve Preemptive Frames when pointing device is used (v1.20) * GENERAL: Fix building with menu disabled (v1.20) * INPUT: Fix a crash when initializing illuminance sensor on Linux (v1.21) * INPUT: Analog-to-digital refactor, fixing behavior when analogs are assigned to keys (v1.21) * INPUT: Turbo fire overhaul. See #17633 (v1.21) * INPUT: Allow to select a preferred/reserved device for each player (v1.20) * INPUT: Enable Caps, Num, Scroll Lock modifiers on multiple platforms (v1.20) * INPUT: Autoconfig extension with alternative name/vid/pid (v1.20) * INPUT: Fix autoconfig profile saving when device is not in the default port (v1.20) * INPUT: Change classic turbo mode to work independently of which key was pressed first (v1.20) * 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. (v1.20) * INPUT/Remaps: Sort and apply remaps based on the specific connected controller (v1.20) * INPUT/UDEV: Enable mouse buttons 4 and 5 (v1.20) * INPUT/WAYLAND: Enable horizontal scroll and mouse buttons 4 and 5 (v1.20) * INPUT/WAYLAND: Simulate lightgun input for cores (v1.20) * INPUT/WAYLAND: Support for cursor-shape-v1 and content-type-v1 protocol (v1.20) * INPUT/X11: Enable mouse buttons 4 and 5 (v1.20) * INPUT/LINUX/X11: Extend X11 input driver with XInput2 extensions for multi-mouse (v1.21) * LIBRETRO: Support RETRO_ENVIRONMENT_GET_FILE_BROWSER_START_DIRECTORY (v1.20) * LIBRETRO: Support “/” as a file extension for loading a directory as content (v1.20) * MENU/XMB: Allow playlist icons to be individually customized, by looking for images in Named_Logos (v1.20) * MENU/OZONE: Add Selenium theme for Ozone (v1.20) * MENU/OZONE: Touchscreen improvements (v1.20) * MENU/OZONE: Add a touch-sensitive Resume button in the lower right corner (v1.20) * MENU: Support local thumbnails in other image formats than png (jpg/jpeg, bmp, tga) (v1.20) * MENU: Delete also savestate thumbnails when savestates are garbage collected (v1.20) * MENU: Option to disable analog stick menu navigation (v1.20) * MENU: Fix pause toggle to not clear fast forward state (v1.20) * MENU: Fix search playlist index in XMB/Ozone (v1.20) * MENU: Fix renamed entry display (v1.20) * MENU: Filter unknown extensions also inside zip files (v1.20) * MENU: Add icons for present / missing firmware on core info page (v1.20) * MENU: Ignore other hotkeys when menu toggle is pressed (v1.20) * MENU: Fix menu jumping when using L3+R3 combo (v1.20) * MENU: System Information now only shows features relevant for the platform (v1.20) * MENU: Add warning to BFI and related menu items (v1.21) * MENU: Fix latency statistics when using runahead (v1.21) * MENU: Fix opening file inside archive with core selection (v1.21) * MENU: Main menu unified between different menu drivers (v1.21) * MENU: Visibility toggle for playlist tabs (v1.21) * MENU: Color the notification icon by message category (v1.21) * MENU: Gray Dark+Light theme adjustments (v1.21) * MENU/PLAYLISTS: Random selection/shuffle function (v1.21) * MENU/RGUI: Cleanups of certain menu items (v1.21) * MENU/RGUI: Thumbnail fixes (v1.21) * MENU/OZONE: Fix messagebox background (v1.21) * MENU/XMB: Fix Light theme, font shadow (v1.21) * MENU/XMB: Appearance menu cleanup (v1.21) * MENU/XMB: Icon thumbnail can be any of the existing types (v1.21) * MIDI: Fix lingering notes on close in Alsa driver (v1.20) * MIDI: Add dropdown items for midi device selection (v1.21) * OVERLAY: Add option to load overlay based on system name (v1.20) * OVERLAY: Fix overlay lightgun, mouse & pointer (v1.21) * OVERLAY: Preferred overlay loading is now default only on mobile platforms (v1.21) * OVERLAY: Improve analog recentering when touching the area just outside the recentering zone (v1.21) * REPLAY: Replay format extended to support external tools (v1.20) * REPLAY: Fix issue when replaying old format input recordings in newer RetroArch (v1.21) * RECORDING: New WAV recording driver (audio only) (v1.20) * REMOTE RETROPAD: Add gyro/acceleration/light sensor test screen (v1.20) * REMOTE RETROPAD: Add pointer test screen (v1.20) * SAVESTATES: Reset state index when loading new content (v1.21) * VIDEO/KMS: Force fullscreen when KMS is used (v1.20) * VIDEO/OpenGLES: Improve version directive granularity (v1.20) * VIDEO/SHADERS: Fix memory leak when shader parameter step is 0.0 (v1.20) * VIDEO/SHADERS: Add 2 uniforms, OriginalAspect and OriginalAspectRot. (v1.20) * VIDEO/SHADERS: Add CoreFPS and FrameTimeDelta uniforms. (v1.20) * VIDEO/SLANG: Support optional includes (v1.20) * VIDEO/VULKAN: Fix Vulkan window freezes when swapchain becomes suboptimal (v1.20) * VIDEO/VULKAN: Prefer IMMEDIATE mode without vsync (v1.20) * VIDEO/X11: Support inhibit of Xss screensaver (v1.20) * VIDEO: Show and use exact refresh rate (3 decimals) and interlace/doublestrike where available (v1.20) * VIDEO: Allow setting viewport bias to offset viewport horizontally/vertically (v1.20) * VIDEO: Support viewport bias also with integer overscale and custom aspect ratios (v1.20) * VIDEO: Use shader path from CLI for shader cycling (v1.20) * VIDEO: Pixel perfect integer scaling improvements: axis options, smart mode (v1.20) * VIDEO: Add upscale 1.66x filter (v1.20) * VIDEO/OpenGLES: Fix FP/sRGB FBO support (v1.21) * VIDEO/SHADERS: Allow exact refresh rate sync with shader subframes (v1.21) * VIDEO/SHADERS: FIX shader wildcards (v1.21) * VIDEO/VULKAN: Enable adaptive vsync (v1.21) * WAYLAND: Fix segfault when relative pointer is not supported (v1.20) * WAYLAND: Use reverse DNS name for desktop file and icon (v1.20) * WAYLAND: Commit viewport resizes for more responsive display when resizing window (v1.20)
|
One set of changes that I'd also like to add is
|
|
Hi, was this never considered for implementation ? |
Absolutely. I am just working through getting binaries built for Bookworm and fixing up problems. In the meantime I was hoping we might have a resolution for the scaling issue, but I will give this attention asap. It's a core component so my priorities are to make sure it works on all our supported targets and is well tested. |
|
The PR was set to draft in order to update to v1.22 (from https://github.com/cmitu/RetroArch/tree/retropie-v1.22.2), but it seems there are - still - a few bugs with the 1.22 release before the libretro team decides to officially announce it. |
|
The current tip of https://github.com/cmitu/RetroArch/tree/retropie-v1.22.2 contains a bug related to VFS. This causes issues with lr-fbneo and the tip of lr-ppsspp. If I build retroarch v1.22.2 with the retropie patches applied, both cores work as expected. See libretro/RetroArch#18582 for more information. |
How is this related to the current PR ? My
Yes, because the regressions on the VFS path have been introduced after 1.22.2. I'm aware of the changes/regressions in the RetroArch's tree. The reason this PR is still a draft is that there are still regressions in 1.22.2 that are not resolved properly. |
This bumps the RetroArch version to 1.21.0 from 1.19.0. You can pull the rebased version from https://github.com/cmitu/RetroArch/tree/retropie-v1.21.0.
The new version has a regression on KMS/DRM for RGUI, reported upstream, which is worked around by setting
rgui_aspect_ratio_lockto0until (if) it's fixed. This will make the RGUI stretch/shrink to the current core provided resolution instead of staying the same.Release announcements for the new versions:
Abbreviated changelog from 1.19.0, focused on features relevant to Linux/RetroPie:
AUTOCONF: Enable alternative display name in autoconfig files (v1.21)
AUTOCONF: Make autoconfig failure messages optional (v1.21)
AUDIO: Option to mute on rewind (v1.21)
AUDIO/PIPEWIRE: Fix app launch when pipewire service is stopped (v1.21)
AUDIO/PIPEWIRE: Fix speedup with threaded video mode (v1.21)
AUDIO/PIPEWIRE: Fix latency setting and microphone handling (v1.21)
AUDIO/PIPEWIRE: Pass the new rate to the audio driver (v1.21)
AUDIO: Fix audio handling in case of RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE (v1.20)
AUDIO: Include missing audio filters on some platforms (v1.20)
AUDIO: Add PipeWire audio driver (v1.20)
AUDIO: Add PipeWire microphone driver (v1.20)
CHEEVOS: Add rarity and points to achievement unlock widget (v1.20)
CHEEVOS: Add rank to leaderboard submission notification (v1.20)
CHEEVOS: Update to rcheevos 11.6 (v1.20)
CHEEVOS: Show rcheevos game image in Discord rich presence (v1.20)
CHEEVOS: Use translated strings for achievement messages (v1.20)
CHEEVOS: Include achievement state in netplay states (v1.21)
CHEEVOS: Fix crash when entering achievements in quick menu while client is not present (v1.21)
CRT/SWITCHRES: Update switchres to 2.2.1 (v1.20)
GENERAL: Fix save state auto increment (v1.21)
GENERAL: Fix softpatching with periods/dots in the file name (v1.21)
GENERAL: Allow asset directory redefinition and other directory overrides via environment variables (v1.21)
GENERAL: Fix performance counter option not remembered between sessions (v1.21)
GENERAL: Use core fps instead of screen refresh for calculating dropped frames (v1.21)
GENERAL: Support for mbedtls v3 (v1.20)
GENERAL: Automatic Frame Delay refactor (v1.20)
GENERAL: Remove Frame Rest, obsoleted by Frame Delay refactor (v1.20)
GENERAL: Wrap around auto increment save state indexes when amount of states is limited (v1.20)
GENERAL: Enable CHD hashing for Switch and DOS (v1.20)
GENERAL: Enable auto save state when new content is loaded (v1.20)
GENERAL: Improve Preemptive Frames when pointing device is used (v1.20)
GENERAL: Fix building with menu disabled (v1.20)
INPUT: Fix a crash when initializing illuminance sensor on Linux (v1.21)
INPUT: Analog-to-digital refactor, fixing behavior when analogs are assigned to keys (v1.21)
INPUT: Turbo fire overhaul. See #17633 (v1.21)
INPUT: Allow to select a preferred/reserved device for each player (v1.20)
INPUT: Enable Caps, Num, Scroll Lock modifiers on multiple platforms (v1.20)
INPUT: Autoconfig extension with alternative name/vid/pid (v1.20)
INPUT: Fix autoconfig profile saving when device is not in the default port (v1.20)
INPUT: Change classic turbo mode to work independently of which key was pressed first (v1.20)
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. (v1.20)
INPUT/Remaps: Sort and apply remaps based on the specific connected controller (v1.20)
INPUT/UDEV: Enable mouse buttons 4 and 5 (v1.20)
INPUT/WAYLAND: Enable horizontal scroll and mouse buttons 4 and 5 (v1.20)
INPUT/WAYLAND: Simulate lightgun input for cores (v1.20)
INPUT/WAYLAND: Support for cursor-shape-v1 and content-type-v1 protocol (v1.20)
INPUT/X11: Enable mouse buttons 4 and 5 (v1.20)
INPUT/LINUX/X11: Extend X11 input driver with XInput2 extensions for multi-mouse (v1.21)
LIBRETRO: Support RETRO_ENVIRONMENT_GET_FILE_BROWSER_START_DIRECTORY (v1.20)
LIBRETRO: Support “/” as a file extension for loading a directory as content (v1.20)
MENU/XMB: Allow playlist icons to be individually customized, by looking for images in Named_Logos (v1.20)
MENU/OZONE: Add Selenium theme for Ozone (v1.20)
MENU/OZONE: Touchscreen improvements (v1.20)
MENU/OZONE: Add a touch-sensitive Resume button in the lower right corner (v1.20)
MENU: Support local thumbnails in other image formats than png (jpg/jpeg, bmp, tga) (v1.20)
MENU: Delete also savestate thumbnails when savestates are garbage collected (v1.20)
MENU: Option to disable analog stick menu navigation (v1.20)
MENU: Fix pause toggle to not clear fast forward state (v1.20)
MENU: Fix search playlist index in XMB/Ozone (v1.20)
MENU: Fix renamed entry display (v1.20)
MENU: Filter unknown extensions also inside zip files (v1.20)
MENU: Add icons for present / missing firmware on core info page (v1.20)
MENU: Ignore other hotkeys when menu toggle is pressed (v1.20)
MENU: Fix menu jumping when using L3+R3 combo (v1.20)
MENU: System Information now only shows features relevant for the platform (v1.20)
MENU: Add warning to BFI and related menu items (v1.21)
MENU: Fix latency statistics when using runahead (v1.21)
MENU: Fix opening file inside archive with core selection (v1.21)
MENU: Main menu unified between different menu drivers (v1.21)
MENU: Visibility toggle for playlist tabs (v1.21)
MENU: Color the notification icon by message category (v1.21)
MENU: Gray Dark+Light theme adjustments (v1.21)
MENU/PLAYLISTS: Random selection/shuffle function (v1.21)
MENU/RGUI: Cleanups of certain menu items (v1.21)
MENU/RGUI: Thumbnail fixes (v1.21)
MENU/OZONE: Fix messagebox background (v1.21)
MENU/XMB: Fix Light theme, font shadow (v1.21)
MENU/XMB: Appearance menu cleanup (v1.21)
MENU/XMB: Icon thumbnail can be any of the existing types (v1.21)
MIDI: Fix lingering notes on close in Alsa driver (v1.20)
MIDI: Add dropdown items for midi device selection (v1.21)
OVERLAY: Add option to load overlay based on system name (v1.20)
OVERLAY: Fix overlay lightgun, mouse & pointer (v1.21)
OVERLAY: Preferred overlay loading is now default only on mobile platforms (v1.21)
OVERLAY: Improve analog recentering when touching the area just outside the recentering zone (v1.21)
REPLAY: Replay format extended to support external tools (v1.20)
REPLAY: Fix issue when replaying old format input recordings in newer RetroArch (v1.21)
RECORDING: New WAV recording driver (audio only) (v1.20)
REMOTE RETROPAD: Add gyro/acceleration/light sensor test screen (v1.20)
REMOTE RETROPAD: Add pointer test screen (v1.20)
SAVESTATES: Reset state index when loading new content (v1.21)
VIDEO/KMS: Force fullscreen when KMS is used (v1.20)
VIDEO/OpenGLES: Improve version directive granularity (v1.20)
VIDEO/SHADERS: Fix memory leak when shader parameter step is 0.0 (v1.20)
VIDEO/SHADERS: Add 2 uniforms, OriginalAspect and OriginalAspectRot. (v1.20)
VIDEO/SHADERS: Add CoreFPS and FrameTimeDelta uniforms. (v1.20)
VIDEO/SLANG: Support optional includes (v1.20)
VIDEO/VULKAN: Fix Vulkan window freezes when swapchain becomes suboptimal (v1.20)
VIDEO/VULKAN: Prefer IMMEDIATE mode without vsync (v1.20)
VIDEO/X11: Support inhibit of Xss screensaver (v1.20)
VIDEO: Show and use exact refresh rate (3 decimals) and interlace/doublestrike where available (v1.20)
VIDEO: Allow setting viewport bias to offset viewport horizontally/vertically (v1.20)
VIDEO: Support viewport bias also with integer overscale and custom aspect ratios (v1.20)
VIDEO: Use shader path from CLI for shader cycling (v1.20)
VIDEO: Pixel perfect integer scaling improvements: axis options, smart mode (v1.20)
VIDEO: Add upscale 1.66x filter (v1.20)
VIDEO/OpenGLES: Fix FP/sRGB FBO support (v1.21)
VIDEO/SHADERS: Allow exact refresh rate sync with shader subframes (v1.21)
VIDEO/SHADERS: FIX shader wildcards (v1.21)
VIDEO/VULKAN: Enable adaptive vsync (v1.21)
WAYLAND: Fix segfault when relative pointer is not supported (v1.20)
WAYLAND: Use reverse DNS name for desktop file and icon (v1.20)
WAYLAND: Commit viewport resizes for more responsive display when resizing window (v1.20)