aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-03-17 21:41:31 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-03-17 21:41:31 -0500
commit412eda0369cb89c8fed871d46227bbe671c4fd68 (patch)
tree4a85a660410635e55e711544b163ea24e1bbc114 /src
parent2efc7e6124ef814ac9abd874bff0dc6b3e6768d0 (diff)
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 <noreply@anthropic.com>
Diffstat (limited to 'src')
-rw-r--r--src/src/protonlauncher.cpp1
1 files changed, 1 insertions, 0 deletions
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);