From 412eda0369cb89c8fed871d46227bbe671c4fd68 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Tue, 17 Mar 2026 21:41:31 -0500 Subject: Fix Steam game mode: strip LD_PRELOAD, robust looksValid(), restore env for games Steam injects 32-bit gameoverlayrenderer.so via LD_PRELOAD which causes "wrong ELF class" errors for 64-bit Qt6 apps. Save and clear LD_PRELOAD in both launcher and AppRun scripts, restore it in ProtonLauncher for game processes. Also hardens looksValid() with QFileInfo::exists() for absolute paths (QDir::exists() has edge cases with relative subdirectory paths), adds case-insensitive directory walking fallback, and adds debug logging to both looksValid() and detectGame(). Adds ~/.steam/debian-installation to Python steam_utils.py candidates. Co-Authored-By: Claude Opus 4.6 --- src/src/protonlauncher.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/src/protonlauncher.cpp b/src/src/protonlauncher.cpp index f25d355..57a88fc 100644 --- a/src/src/protonlauncher.cpp +++ b/src/src/protonlauncher.cpp @@ -70,6 +70,7 @@ void cleanAppImageEnv(QProcessEnvironment& env) const bool hasOrigVars = env.contains("FLUORINE_ORIG_PATH"); restoreOrStrip("LD_LIBRARY_PATH", "FLUORINE_ORIG_LD_LIBRARY_PATH", env); + restoreOrStrip("LD_PRELOAD", "FLUORINE_ORIG_LD_PRELOAD", env); restoreOrStrip("PATH", "FLUORINE_ORIG_PATH", env); restoreOrStrip("XDG_DATA_DIRS", "FLUORINE_ORIG_XDG_DATA_DIRS", env); restoreOrStrip("QT_PLUGIN_PATH", "FLUORINE_ORIG_QT_PLUGIN_PATH", env); -- cgit v1.3.1