From efb24dc33abf49fb39786093002f8f489178b18c Mon Sep 17 00:00:00 2001 From: cmitu <31816814+cmitu@users.noreply.github.com> Date: Tue, 6 May 2025 18:47:57 +0100 Subject: [PATCH] retroarch: update to the 1.21.0 version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- scriptmodules/emulators/retroarch.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scriptmodules/emulators/retroarch.sh b/scriptmodules/emulators/retroarch.sh index c8271c2ba3..dadcb5a0f9 100644 --- a/scriptmodules/emulators/retroarch.sh +++ b/scriptmodules/emulators/retroarch.sh @@ -12,7 +12,7 @@ rp_module_id="retroarch" rp_module_desc="RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators" rp_module_licence="GPL3 https://raw.githubusercontent.com/libretro/RetroArch/master/COPYING" -rp_module_repo="git https://github.com/retropie/RetroArch.git retropie-v1.19.0" +rp_module_repo="git https://github.com/retropie/RetroArch.git retropie-v1.21.0" rp_module_section="core" function depends_retroarch() { @@ -233,7 +233,8 @@ function configure_retroarch() { # rgui by default iniSet "menu_driver" "rgui" - iniSet "rgui_aspect_ratio_lock" "2" + # RGUI aspect ratio - set it to 4:3 for non-KMS platforms due to RA issue #17650) + ! isPlatform "kms" && iniSet "rgui_aspect_ratio_lock" "2" iniSet "rgui_browser_directory" "$romdir" iniSet "rgui_switch_icons" "false" iniSet "menu_rgui_shadows" "true" @@ -295,8 +296,13 @@ function configure_retroarch() { # if no menu_driver is set, force RGUI, as the default has now changed to XMB. _set_config_option_retroarch "menu_driver" "rgui" - # set RGUI aspect ratio to "Integer Scaling" to prevent stretching - _set_config_option_retroarch "rgui_aspect_ratio_lock" "2" + # set RGUI aspect ratio to "Auto" on KMS (due to issue RA#17650) or 'Integer Scaling' for other platforms, + # the latter prevents the resizing of the menu to the core viewport size + if isPlatform "kms"; then + iniSet "rgui_aspect_ratio_lock" "0" + else + _set_config_option_retroarch "rgui_aspect_ratio_lock" "2" + fi # if no menu_unified_controls is set, force it on so that keyboard player 1 can control # the RGUI menu which is important for arcade sticks etc that map to keyboard inputs