Skip to content

Commit

Permalink
Enforce XCB within code
Browse files Browse the repository at this point in the history
  • Loading branch information
JoshuaVandaele committed Jan 20, 2025
1 parent c344514 commit 1be6f02
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
2 changes: 1 addition & 1 deletion Data/dolphin-emu.desktop
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
4 changes: 0 additions & 4 deletions Flatpak/org.DolphinEmu.dolphin-emu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 7 additions & 0 deletions Source/Core/DolphinQt/Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,13 @@ 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"));
Expand Down

0 comments on commit 1be6f02

Please sign in to comment.