RetroPie-Setup
RetroPie-Setup copied to clipboard
dolphin: updates to build and configuration
Modified the module to update the dependencies and improve the initial configuration
-
Build changes:
- build dependencies modified to include SDL2. Latest version (as of Jan 2024) enable SDL2 by default on Linux and use it for input auto-configuration. Gamepads detected using SDL's GameController API are automatically configred based on their mappings.
- disable analytics and update support durign the build. Updates are handled by RetroPie-Setup and - unfortunately - analytics require a keyboard/mouse to get over the initial agreement pop-up that is presented to the user on the 1st run.
-
Configuration updates:
- on KMS systems, start Dolphin via X11 by using the
XINIT-WMlaunc prefix, which instructsruncommandto start a minimal desktop env. - change the location of the configuration folder, since now Dolphin follows the XDG specs and uses
$XDG_CONFIG_HOMEto store its settings. It will not affect existing installations, since we symlink-it to the configuration folder anyway and Dolphin will look in the previous location first. - pre-set a few initial configuration options in the main
Dolphin.iniconfiguration file, upating existing options - add a new pre-set for the graphics backend configuration file in
GFX.inito switch to GLES3 on platforms where it is available. It should help the Pi5 but also other SBCs we support (i.e. OrangePi5 / RK3399) to startw the correct rendering backend. - set the '-gui' variant as default. Since the 'nogui' doesn't seem to read the configuration files correctly (i.e. no Fullscreen or Hotkeys are working), use the main program started with '--batch' to run a game
- on KMS systems, start Dolphin via X11 by using the
It might break the additions in #3785, but I'll update any of the PRs if a conflict comes up if either of them is merged. Note that Vulkan is not currently working on Pi4/Pi5, even under X11.
Maybe I should open this as a separate issue but using this new dolphin.sh I just tested with dolphin-gui on a Pi 5, this error message box appears, if I click ok it loops, if I ignore the screen becomes garbled as below. It's similar to the garbled image that was affecting SDL2 on ppsspp, cannonball etc, so perhaps it's a similar issue?
This is the text from the bad_ps_OGL_0.txt file
`#version 310 es
#define FORCE_EARLY_Z layout(early_fragment_tests) in
#define ATTRIBUTE_LOCATION(x) #define FRAGMENT_OUTPUT_LOCATION(x) #define FRAGMENT_OUTPUT_LOCATION_INDEXED(x, y) #define UBO_BINDING(packing, x) layout(packing, binding = x) #define SAMPLER_BINDING(x) layout(binding = x) #define TEXEL_BUFFER_BINDING(x) layout(binding = x) #define SSBO_BINDING(x) layout(std430, binding = x) #define IMAGE_BINDING(format, x) layout(format, binding = x)
#define VARYING_LOCATION(x)
#extension GL_OES_geometry_point_size : enable
`
@retropieuser I'm not familiar with that error and I don't think is related to this PR. The dolphin-gui being default may trigger this problem, but the PR doesn't patch anything in the emulator itself and this may be caused by recent changes in the upstream repository.
I'll set it to draft to check the fullscreen settings again.
EDIT: ok, should be sorted out. Looks like my $HOME/.dolphin-emu folder was in the way and obscured the new (XDG compatible) location of the .ini files.
I've fixed that garbled screen error btw, turning off panic handlers in dolphin.ini Interface works for me:-
[Display] FullscreenDisplayRes = Auto Fullscreen = False RenderToMain = False KeepWindowOnTop = True DisableScreenSaver = True [Interface] UsePanicHandlers = False
It boots into the WM window itself with the border, but it's working with hotkey exit etc, so it's still better than dolphin-emu-nogui
thank you.