From 56395dd5e3b6c757a8154176e043d5d8f7683fab Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sat, 2 May 2026 14:07:30 -0500 Subject: steamdetection: stop blacklisting Proton 11 The wineboot -u deadlock workaround (waitforexitandrun + ntsync env nudge) already lives in prefixsetuprunner, so the catch-all Proton 11 skip in findSteamProtons is no longer needed. Users on stock Proton 11 are now selectable alongside Proton 10 / Experimental / GE-Proton. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/src/steamdetection.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/src/steamdetection.cpp b/src/src/steamdetection.cpp index f4622b2..7710edd 100644 --- a/src/src/steamdetection.cpp +++ b/src/src/steamdetection.cpp @@ -151,19 +151,13 @@ QVector findSteamProtons() { QVector builtin; scanProtonDir(steamPath + "/steamapps/common", true, builtin); - // Keep only entries whose folder name starts with "Proton". - // Proton 11 is blacklisted: its current Wine tree deadlocks during - // wineboot -u on modern kernels (ntsync / futex_wait_multiple races), - // causing prefix init to hang indefinitely. Users should fall back to - // Proton 10 / Proton-Experimental / GE-Proton until Proton 11 stabilizes. + // Keep only entries whose folder name starts with "Proton". Proton 11 + // had ntsync/futex deadlocks during wineboot -u on modern kernels; the + // workaround now lives in prefixsetuprunner (waitforexitandrun + ntsync + // env nudge) so we no longer blacklist it here. for (auto& p : builtin) { if (!p.name.startsWith(QStringLiteral("Proton"))) continue; - if (p.name.startsWith(QStringLiteral("Proton 11"))) { - MOBase::log::warn("Skipping '{}' — known-broken on Linux, use Proton 10 or GE-Proton", - p.name.toStdString()); - continue; - } protons.append(std::move(p)); } } -- cgit v1.3.1