diff --git a/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 b/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 index 8dd4c4f1e..05f242d41 100755 --- a/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 +++ b/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 @@ -166,6 +166,12 @@ exit 0 export STEAM_RUNTIME_STEAMRT=$srt_shim fi export LD_LIBRARY_PATH=$STEAM_X64/steamrt64:$STEAM_X64/steamrt64/panorama +# The libraries the SteamRT container would give the client and the rootfs lacks (GTK 2 for +# steamui.so, ...): Valve's own platform runtime files, last, so the rootfs's copies come first. +for d in "$STEAM_X64"/steamrt64/pv-runtime/steam-runtime-steamrt/steamrt3c_platform_*/files/lib/x86_64-linux-gnu \ + "$STEAM_X64"/steamrt64/pv-runtime/steam-runtime-steamrt/steamrt3c_platform_*/files/usr/lib/x86_64-linux-gnu; do + [ -d "$d" ] && LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$d +done # After an update the client re-executes itself inside the SteamRT container through # pressure-vessel-wrap, which needs bwrap. The FEX rootfs with the client's own steamrt64 libraries # is that container here; the client's recursion guard says it is already inside one.