aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-27 15:26:13 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-27 15:26:13 -0500
commit9e50d17ec633f2ef65cd9e8b67154da4b55cc816 (patch)
tree63f6b97e429a9a0845c8597abd535db41fb867dc /src
parent3a148058861099499268722d4558c0963d76af19 (diff)
Prefix init: keep host DISPLAY so xrandr works in protonfixes
Blanking DISPLAY/WAYLAND_DISPLAY made xrandr exit 1 inside the container, which Proton-GE 10-34's protonfixes treats as fatal during wineboot -u. wineboot -u is unattended and won't pop UI, so leaking the host display vars is safe. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'src')
-rw-r--r--src/src/prefixsetuprunner.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/src/prefixsetuprunner.cpp b/src/src/prefixsetuprunner.cpp
index f02f824..dba1742 100644
--- a/src/src/prefixsetuprunner.cpp
+++ b/src/src/prefixsetuprunner.cpp
@@ -841,8 +841,10 @@ bool PrefixSetupRunner::stepProtonInit()
env["STEAM_COMPAT_DATA_PATH"] = cleanCompat;
env["SteamAppId"] = QString::number(m_appId);
env["SteamGameId"] = QString::number(m_appId);
- env["DISPLAY"] = "";
- env["WAYLAND_DISPLAY"] = "";
+ // Keep DISPLAY/WAYLAND_DISPLAY from the host: Proton-GE protonfixes runs
+ // `xrandr` during wineboot -u to detect monitors, and xrandr exits 1 if
+ // it can't open a display, which cascades to a failed prefix init on
+ // newer Proton-GE builds. wineboot -u is unattended and doesn't pop UI.
env["WINEDLLOVERRIDES"] = "msdia80.dll=n;conhost.exe=d;cmd.exe=d";
// ntsync on kernel 7.0+ can deadlock wineboot -u during prefix init
// under Proton 11 (wineboot blocks in ntsync_char_ioctl forever). Force