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

dolphin: updates to build and configuration #3868

Merged
merged 1 commit into from
Feb 25, 2024

Conversation

cmitu
Copy link
Contributor

@cmitu cmitu commented Feb 16, 2024

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-WM launc prefix, which instructs runcommand to start a minimal desktop env.
    • change the location of the configuration folder, since now Dolphin follows the XDG specs and uses $XDG_CONFIG_HOME to 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.ini configuration file, upating existing options
    • add a new pre-set for the graphics backend configuration file in GFX.ini to 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

@cmitu
Copy link
Contributor Author

cmitu commented Feb 16, 2024

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.

@retropieuser
Copy link
Contributor

retropieuser commented Feb 16, 2024

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?

PXL_20240216_131844837

PXL_20240216_131813702

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

`

@cmitu
Copy link
Contributor Author

cmitu commented Feb 17, 2024

@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.

@cmitu
Copy link
Contributor Author

cmitu commented Feb 17, 2024

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.

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-WM` launc prefix, which instructs `runcommand` to start a minimal desktop env.
   - change the location of the configuration folder, since now Dolphin follows the XDG specs and uses `$XDG_CONFIG_HOME` to 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.ini` configuration file, upating existing options
   - add a new pre-set for the graphics backend configuration file in `GFX.ini` to 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
@cmitu cmitu marked this pull request as ready for review February 17, 2024 06:26
@retropieuser
Copy link
Contributor

retropieuser commented Feb 17, 2024

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

@joolswills joolswills merged commit f807458 into RetroPie:master Feb 25, 2024
@joolswills
Copy link
Member

thank you.

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

Successfully merging this pull request may close these issues.

3 participants