From 9e50d17ec633f2ef65cd9e8b67154da4b55cc816 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Mon, 27 Apr 2026 15:26:13 -0500 Subject: 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) --- src/src/prefixsetuprunner.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') 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 -- cgit v1.3.1