Skip to content

Conversation

cmitu
Copy link
Contributor

@cmitu cmitu commented May 6, 2025

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_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:

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)

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)
@cmitu
Copy link
Contributor Author

cmitu commented May 6, 2025

One set of changes that I'd also like to add is

  • include the video/audio filters into our package.
  • the new version has a 'sort remaps by controller' option which makes input remaps specific to the controller model, i.e. remaps for a PS3 controller will not apply to PS4/Xbox controllers. I'd like to toggle it on for new configurations, but not for existing ones.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant