diff options
Diffstat (limited to 'docker/build-inner.sh')
| -rwxr-xr-x | docker/build-inner.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/docker/build-inner.sh b/docker/build-inner.sh index 484412b..2d32e31 100755 --- a/docker/build-inner.sh +++ b/docker/build-inner.sh @@ -362,10 +362,16 @@ HERE="$(cd "$(dirname "$SELF")" && pwd)" # Without this, our bundled LD_LIBRARY_PATH leaks into game processes and # causes library conflicts. export FLUORINE_ORIG_LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}" +export FLUORINE_ORIG_LD_PRELOAD="${LD_PRELOAD:-}" export FLUORINE_ORIG_PATH="${PATH}" export FLUORINE_ORIG_XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" export FLUORINE_ORIG_QT_PLUGIN_PATH="${QT_PLUGIN_PATH:-}" +# Steam injects 32-bit gameoverlayrenderer.so via LD_PRELOAD which causes +# "wrong ELF class" errors for 64-bit Qt6 apps (see PrismLauncher #3421). +# Clear it for our process; game launches restore via FLUORINE_ORIG_LD_PRELOAD. +unset LD_PRELOAD + # ── Sync entire app to ~/.local/share/fluorine/bin/ ── # This gives instances a stable symlink target that won't break if the user # moves or deletes the original tarball extraction directory. @@ -630,10 +636,14 @@ BIN="${HERE}/usr/bin" APPIMAGE_DIR="$(dirname "$(readlink -f "${APPIMAGE:-$0}")")" export FLUORINE_ORIG_LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}" +export FLUORINE_ORIG_LD_PRELOAD="${LD_PRELOAD:-}" export FLUORINE_ORIG_PATH="${PATH}" export FLUORINE_ORIG_XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" export FLUORINE_ORIG_QT_PLUGIN_PATH="${QT_PLUGIN_PATH:-}" +# Steam injects 32-bit gameoverlayrenderer.so via LD_PRELOAD — clear it. +unset LD_PRELOAD + export PATH="${BIN}:${PATH}" # Replace (not append) LD_LIBRARY_PATH — Steam game mode injects its runtime # libs which break Python/Qt. RPATH handles the binary's own deps. |
