RetroPie-Setup icon indicating copy to clipboard operation
RetroPie-Setup copied to clipboard

retroarch: update to the 1.21.0 version

Open cmitu opened this issue 7 months ago • 4 comments

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:

  • 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 avatar May 06 '25 17:05 cmitu

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.

cmitu avatar May 06 '25 18:05 cmitu

Hi,

was this never considered for implementation ?

varkanoid avatar Nov 03 '25 20:11 varkanoid

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.

joolswills avatar Nov 04 '25 01:11 joolswills