diff options
| author | JMC47 <JMC4789@gmail.com> | 2025-03-10 15:03:54 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-10 15:03:54 -0400 |
| commit | 3f73a39dbde20bf3e2f9dd6550d2f71e4b51f344 (patch) | |
| tree | 3e435c4772f4144c61fb64c03d4a09a1bce10883 | |
| parent | 9f43f59c9bb8bef14304c31a74ead337216551e8 (diff) | |
| parent | a3b06b0572d7a16d8ede9c849e9f549a283123df (diff) | |
Merge pull request #13286 from JoshuaVandaele/xcb
Enforce XCB within code
| -rw-r--r-- | Data/dolphin-emu.desktop | 2 | ||||
| -rw-r--r-- | Flatpak/org.DolphinEmu.dolphin-emu.yml | 4 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Main.cpp | 8 |
3 files changed, 9 insertions, 5 deletions
diff --git a/Data/dolphin-emu.desktop b/Data/dolphin-emu.desktop index a998ce4370..f44fe202f2 100644 --- a/Data/dolphin-emu.desktop +++ b/Data/dolphin-emu.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Version=1.0 Icon=dolphin-emu -Exec=env QT_QPA_PLATFORM=xcb dolphin-emu +Exec=dolphin-emu Terminal=false Type=Application Categories=Game;Emulator; diff --git a/Flatpak/org.DolphinEmu.dolphin-emu.yml b/Flatpak/org.DolphinEmu.dolphin-emu.yml index db42a3bd03..c1a649d49a 100644 --- a/Flatpak/org.DolphinEmu.dolphin-emu.yml +++ b/Flatpak/org.DolphinEmu.dolphin-emu.yml @@ -8,10 +8,6 @@ rename-icon: dolphin-emu finish-args: - --device=all - --socket=pulseaudio - # dolphin doesn't work on wayland (only the ui does), if a user were to set - # this env variable globally to wayland then games wouldn't work. - # we overwrite the setting and force xcb to prevent this from happening. - - --env=QT_QPA_PLATFORM=xcb - --socket=x11 - --share=network - --share=ipc diff --git a/Source/Core/DolphinQt/Main.cpp b/Source/Core/DolphinQt/Main.cpp index 88400aa1a6..8baa6d7f08 100644 --- a/Source/Core/DolphinQt/Main.cpp +++ b/Source/Core/DolphinQt/Main.cpp @@ -148,6 +148,14 @@ int main(int argc, char* argv[]) #if (QT_VERSION >= QT_VERSION_CHECK(6, 3, 0)) setenv("QT_XCB_NO_XI2", "1", true); #endif + // Dolphin currently doesn't work on Wayland (Only the UI does, games do not launch.) This makes + // XCB the default and forces it on if the platform is specified to be wayland, to prevent this + // from happening. + // For more information: https://bugs.dolphin-emu.org/issues/11807 + const char* current_qt_platform = getenv("QT_QPA_PLATFORM"); + const bool replace_qt_platform = + (current_qt_platform && strcasecmp(current_qt_platform, "wayland") == 0); + setenv("QT_QPA_PLATFORM", "xcb", replace_qt_platform); #endif QCoreApplication::setOrganizationName(QStringLiteral("Dolphin Emulator")); |
