Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

retroarch: upgrade to v1.18.0 #3878

Merged
merged 1 commit into from
Apr 16, 2024
Merged

Conversation

cmitu
Copy link
Contributor

@cmitu cmitu commented Feb 27, 2024

Upgraded RetroArch to version 1.17.0 1.18.0. You can pull from https://github.com/cmitu/RetroArch/tree/retropie-v1.18.0, which contains 1.18.0 + our patches.

Notable changes, cherry-picked from:

  • Netplay

    • expanded the protocol to allow multiplayer games running on separate consoles/computers.
      Cores like 'Dosbox-Pure' or 'gPSP' support the new protocol.
    • add support for joining MITM servers from command line
  • Cheevos

    • upgrade to v11.0
    • don’t track disc changes when achievements are disabled
    • inform user when server is unreachable
    • fix crash on first load of game with achievements with threaded video
  • Input

    • fix ghost input when setting RETROK_UNKNOWN
    • default ‘Bind Hold’ to 0 to prevent problems with controllers not resting at null state
    • don’t save mouse buttons to autoconfig
    • add a setting to allow turbo d-pad directions
    • change event detection to polling in udev_joypad
    • add option for merging ‘Hotkey Enable’ device types
    • fix input state combos including R3 and false triggers of RETROK_UNKNOWN (1.18.0)
    • add a new turbo mode, "Classic (Toggle)" (1.18.0)
    • limit axis threshold setting to sensible values (1.18.0)
  • Menu

    • fix menu analog stick navigation (1.16.0.1)
    • fix word wrapped widget length
    • fix quit on content close option
    • don’t process menu events while input is being flushed (1.16.0.2)
    • add help text to controller drivers
    • fix text scaling in 16:9 (RGUI)
    • thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus, OZONE)
    • background images take precedence over color themes, default image opacity set the same as color theme opacity (XMB)
    • fix segmentation fault when background image is missing (XMB)
    • layout/thumbnail fixes – Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments (XMB)
    • add sublabels for input bind common entries (1.18.0)
    • don't disable fast forward when entering menu (1.18.0)
    • add option to disable initial disk change (1.18.0)
    • visibility option for disk control notifications (1.18.0)
  • Video

    • use video refresh rate instead of core refresh rate for menu frame limiting
    • limit paused video refresh rate
    • enforce swap interval 1 in menu if vsync is on
    • add FinalViewportSize support to GLSL
    • change rotation type to int to maximize compatibility
  • Patching

    • add support for XDelta-formatted patches.
    • fix patching for cores that support contentless mode
  • Other

    • Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
    • introduce wp_fractional_scale_v1 protocol for proper fractional scaling (Wayland)
    • update wayland-protocols version to 1.31 (Wayland)

RetroPie module changes:

RetroPie module changes:

  • make iniConfig use the same parameters every time
  • removed spurious ret files on _install
  • set input_overlay_enable to enabled, since the default changed (to 'false') in 1.17.0.
    It helps overlay users that didn't explicitely set this parameter in the overlay overrides they're using.
  • set sort_savestates_enable and sort_savefiles_enable to false, since in 1.18.0 RetroArch would otherwise create sub-folders under the content path folder for save states and save files (.srm) (see RA issue Save state path changed in v1.18.0 libretro/RetroArch#16430).

@cmitu cmitu force-pushed the retroarch-1.17.0 branch from 060d5b9 to 083b4c0 Compare April 7, 2024 04:33
@cmitu
Copy link
Contributor Author

cmitu commented Apr 7, 2024

Updated to 1.18.0 code and included the changelog to it. The new release is mostly bugfixes, the new features added have been added to the commit message.

@cmitu cmitu changed the title retroarch: upgrade to v1.17.0 retroarch: upgrade to v1.18.0 Apr 7, 2024
@cmitu cmitu marked this pull request as draft April 10, 2024 04:50
@cmitu
Copy link
Contributor Author

cmitu commented Apr 10, 2024

Set to draft since I think there's a regression somewhere w.r.t. the save state(s) path.

@cmitu
Copy link
Contributor Author

cmitu commented Apr 10, 2024

OK, so 1.18.0 changed the save state path (happens even with our save path patch). Regression reported in libretro/RetroArch#16430.

@cmitu
Copy link
Contributor Author

cmitu commented Apr 11, 2024

Alright, the regression is caused by a deliberate change (see the RetroArch issue opened above), that aligns the save(files/state) sorting options for the cases where the path to saves(files/states) is set to the content dir.

Saving in the content dir is the default for RetroPie, so unless we turn off the sort_savestates_enable/sort_savesfiles_enable, upgrading will 'lose' the existing save files/states since they'll be searched by RetroArch in a different location.

We'll have to disable the above mentioned options during upgrade, but users that saved the full config or reset their config before will be impacted.

EDIT: I'll amend the changes in the new branch and remove the draft status once finished.

Upgraded RetroArch to version 1.18.0. Notable changes, cherry-picked from:

 - https://www.libretro.com/index.php/retroarch-1-17-0-release/
 - libretro/RetroArch@9e492f7

 * Netplay
   - expanded the protocol to allow multiplayer games running on separate consoles/computers.
     Cores like 'Dosbox-Pure' or 'gPSP' support the new protocol.
   - add support for joining MITM servers from command line
 * Cheevos
    - upgrade to v11.0
    - don’t track disc changes when achievements are disabled
    - inform user when server is unreachable
    - fix crash on first load of game with achievements with threaded video
  * Input
    - fix ghost input when setting RETROK_UNKNOWN
    - default ‘Bind Hold’ to 0 to prevent problems with controllers not resting at null state
    - don’t save mouse buttons to autoconfig
    - add a setting to allow turbo d-pad directions
    - change event detection to polling in udev_joypad
    - add option for merging ‘Hotkey Enable’ device types
    - fix input state combos including R3 and false triggers of RETROK_UNKNOWN (1.18.0)
    - add a new turbo mode, "Classic (Toggle)" (1.18.0)
    - limit axis threshold setting to sensible values (1.18.0)
  * Menu
    - fix menu analog stick navigation (1.16.0.1)
    - fix word wrapped widget length
    - fix quit on content close option
    - don’t process menu events while input is being flushed (1.16.0.2)
    - add help text to controller drivers
    - fix text scaling in 16:9 (RGUI)
    - thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus, OZONE)
    - background images take precedence over color themes, default image opacity set the same as color theme opacity (XMB)
    - fix segmentation fault when background image is missing (XMB)
    - layout/thumbnail fixes – Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments (XMB)
    - add sublabels for input bind common entries (1.18.0)
    - don't disable fast forward when entering menu (1.18.0)
    - add option to disable initial disk change (1.18.0)
    - visibility option for disk control notifications (1.18.0)
  * Video
    - use video refresh rate instead of core refresh rate for menu frame limiting
    - limit paused video refresh rate
    - enforce swap interval 1 in menu if vsync is on
    - add FinalViewportSize support to GLSL
    - change rotation type to int to maximize compatibility

  * Patching
    - add support for XDelta-formatted patches.
    - fix patching for cores that support contentless mode

  * Other
    - Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
    - introduce wp_fractional_scale_v1 protocol for proper fractional scaling (Wayland)
    - update wayland-protocols version to 1.31 (Wayland)

RetroPie module changes:

 - make `iniConfig` use the same parameters every time
 - removed spurious `ret` files on `_install`
 - set `input_overlay_enable` to enabled, since the default changed (to 'false') in 1.17.0.
   It helps overlay users that didn't explicitely set this parameter in the overlay overrides they're using.
 - set `sort_savestates_enable` and `sort_savefiles_enable` to `false`, since in 1.18.0 RetroArch would otherwise create sub-folders under the content path folder for save states and save files (`.srm`) (see RA issue libretro/RetroArch#16430).
@cmitu cmitu force-pushed the retroarch-1.17.0 branch from 083b4c0 to 93f630d Compare April 11, 2024 15:54
@cmitu
Copy link
Contributor Author

cmitu commented Apr 11, 2024

Ok, I modified the PR to include the settings of the new option, which should work with our configuration. For users that reset their configs there's not much we can do, unfortunately.

@cmitu cmitu marked this pull request as ready for review April 11, 2024 18:54
@joolswills
Copy link
Member

Thank you. Appreciate your feeding it back to RetroArch. Will merge soon. Do we need to rebuild assets?

@cmitu
Copy link
Contributor Author

cmitu commented Apr 11, 2024

Thank you. Appreciate your feeding it back to RetroArch. Will merge soon. Do we need to rebuild assets?

I only tried the ozone menu driver, and there were no additional assets to add. I don't think xmb got any new assets though - so I'd say no rebuild is necessary.

@joolswills
Copy link
Member

Cheers!

@joolswills joolswills merged commit 9aa86b8 into RetroPie:master Apr 16, 2024
@joolswills
Copy link
Member

Cheers!

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.

2 participants