From 66ebc04543c1ef6c6530d0fbef6900cbda8c265a Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Tue, 26 May 2026 23:13:48 -0500 Subject: Require injected xrandr for prefix init --- src/src/prefixsetuprunner.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/src/prefixsetuprunner.cpp b/src/src/prefixsetuprunner.cpp index c317832..0c49baa 100644 --- a/src/src/prefixsetuprunner.cpp +++ b/src/src/prefixsetuprunner.cpp @@ -958,15 +958,14 @@ bool PrefixSetupRunner::stepProtonInit() return false; } - // Proton-GE invokes `xrandr` during protonfixes at wineboot time. The - // steamrt4 pressure-vessel container ships without it, so back-fill our - // injected copy before init if missing — otherwise the protonfix - // silently no-ops and prefix setup can hang or fall back to a broken - // state on multi-monitor machines. See issue #49. - if (!isXrandrInjected()) { - emit logMessage("xrandr helper missing; downloading…"); - ensureXrandrInstalled( - nullptr, [this](const QString& msg) { emit logMessage(msg); }); + // Proton-GE invokes `xrandr` during protonfixes at wineboot time. Always + // ensure Fluorine's injected helper exists after SLR is available, then the + // wrapper below exposes that exact directory and prepends it to PATH. + emit logMessage("Ensuring xrandr helper is available..."); + if (!ensureXrandrInstalled( + nullptr, [this](const QString& msg) { emit logMessage(msg); })) { + currentStep().errorMessage = "Failed to install xrandr helper"; + return false; } const QString steamPath = detectSteamPath(); -- cgit v1.3.1