Closed JoshuaFern closed 2 years ago
@JoshuaFern Interesting, it's strange that what should be the same environment (running steam flatpak from the command line) does not work when run from steam.
Could you try running ldd for both cases? It should look something like this:
LD_LIBRARY_PATH="lib:$LD_LIBRARY_PATH" ldd ./xr_3da
For running inside steam, one way to do that would be to edit the archived file in the cache directory, looking for the run-openxray.sh file and then launching the game. You should then see it output it in the steam terminal.
I'm seeing alot of libraries steam seems to be trying to load and failing near the top, not sure if it's related.
Steam:
19:16:32 [INFO] run: "./run-openxray.sh" with args: [] []
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
pid 8975 != 8971, skipping destruction (fork without exec?)
linux-vdso.so.1 (0x00007ffc3ae57000)
/tmp/pressure-vessel-libs-LACBR1/${PLATFORM}/gameoverlayrenderer.so => /tmp/pressure-vessel-libs-LACBR1/x86_64/gameoverlayrenderer.so (0x00007fcf65a33000)
xrEngine.so => lib/xrEngine.so (0x00007fcf6595e000)
libfreeimage.so.3 => lib/libfreeimage.so.3 (0x00007fcf65227000)
libfreeimageplus.so.3 => lib/libfreeimageplus.so.3 (0x00007fcf64ae8000)
xrCore.so => lib/xrCore.so (0x00007fcf648f5000)
libpthread.so.0 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcf648d4000)
libSDL2-2.0.so.0 => /lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (0x00007fcf6472b000)
libcryptopp.so.6.0 => lib/libcryptopp.so.6.0 (0x00007fcf642d2000)
xrAPI.so => lib/xrAPI.so (0x00007fcf642cf000)
libstdc++.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcf6409f000)
libm.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libm.so.6 (0x00007fcf63f56000)
libgcc_s.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcf63f3c000)
libc.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6 (0x00007fcf63d5c000)
libdl.so.2 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcf63d54000)
librt.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/librt.so.1 (0x00007fcf63d4a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcf65afa000)
libGL.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fcf63cbc000)
xrSound.so => lib/xrSound.so (0x00007fcf63c9c000)
xrScriptEngine.so => lib/xrScriptEngine.so (0x00007fcf63c44000)
xrNetServer.so => lib/xrNetServer.so (0x00007fcf63c2d000)
libtheora.so.0 => /lib/x86_64-linux-gnu/libtheora.so.0 (0x00007fcf63bdf000)
libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0 (0x00007fcf639d6000)
libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fcf639a8000)
xrCDB.so => lib/xrCDB.so (0x00007fcf63958000)
libopenal.so.1 => /lib/x86_64-linux-gnu/libopenal.so.1 (0x00007fcf63873000)
liblockfile.so.1 => lib/liblockfile.so.1 (0x00007fcf6386e000)
xrLuabind.so => lib/xrLuabind.so (0x00007fcf6384f000)
xrLuajit.so => lib/xrLuajit.so (0x00007fcf637cf000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fcf6375b000)
liblzo2.so.2 => lib/liblzo2.so.2 (0x00007fcf63738000)
libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2 (0x00007fcf63637000)
libpulse-simple.so.0 => /lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007fcf6362e000)
libpulse.so.0 => /lib/x86_64-linux-gnu/libpulse.so.0 (0x00007fcf635da000)
libX11.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fcf63492000)
libXext.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fcf6347d000)
libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fcf63470000)
libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fcf6346b000)
libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007fcf63259000)
libXfixes.so.3 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fcf63251000)
libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fcf63046000)
libXss.so.1 => /lib/x86_64-linux-gnu/libXss.so.1 (0x00007fcf63041000)
libXxf86vm.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007fcf6303a000)
libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007fcf63035000)
libwayland-client.so.0 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007fcf63020000)
libwayland-cursor.so.0 => /lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007fcf63017000)
libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007fcf62fd5000)
libdecor-0.so.0 => /lib/x86_64-linux-gnu/libdecor-0.so.0 (0x00007fcf62fcb000)
libGLX.so.0 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007fcf62f98000)
libGLdispatch.so.0 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007fcf62edd000)
libvorbisfile.so.3 => /lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007fcf62ed2000)
libatomic.so.1 => /lib/x86_64-linux-gnu/libatomic.so.1 (0x00007fcf62ec8000)
libpulsecommon-12.2.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-12.2.so (0x00007fcf62e42000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007fcf62e38000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fcf62de5000)
libxcb.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fcf62db9000)
libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fcf62baf000)
libffi.so.7 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libffi.so.7 (0x00007fcf62ba3000)
libX11-xcb.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007fcf62b9c000)
libICE.so.6 => /lib/x86_64-linux-gnu/libICE.so.6 (0x00007fcf6297f000)
libSM.so.6 => /lib/x86_64-linux-gnu/libSM.so.6 (0x00007fcf62974000)
libXtst.so.6 => /lib/x86_64-linux-gnu/libXtst.so.6 (0x00007fcf6276e000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fcf626cd000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007fcf626c1000)
libsndfile.so.1 => /lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007fcf62643000)
libasyncns.so.0 => /lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007fcf6243d000)
libXau.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fcf62437000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fcf6241d000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fcf62414000)
liblzma.so.5 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fcf623e8000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fcf623c9000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fcf622ab000)
libnsl.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fcf62290000)
libFLAC.so.8 => /lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007fcf62227000)
libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007fcf6217c000)
libresolv.so.2 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fcf62160000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fcf6213d000)
Non-Steam:
/nix/store/p0z1wnl2gxjpkinmx8l5b91fbpb62vg5-glib-networking-2.72.2/lib/gio/modules/libgioenvironmentproxy.so: undefined symbol: g_simple_proxy_resolver_new
Failed to load module: /nix/store/p0z1wnl2gxjpkinmx8l5b91fbpb62vg5-glib-networking-2.72.2/lib/gio/modules/libgioenvironmentproxy.so
/nix/store/p0z1wnl2gxjpkinmx8l5b91fbpb62vg5-glib-networking-2.72.2/lib/gio/modules/libgiognomeproxy.so: undefined symbol: g_task_get_source_tag
Failed to load module: /nix/store/p0z1wnl2gxjpkinmx8l5b91fbpb62vg5-glib-networking-2.72.2/lib/gio/modules/libgiognomeproxy.so
/usr/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /nix/store/biqdvnsrkqwf14j1g8m37b03r4azkwyp-gnutls-3.7.7/lib/libgnutls.so.30)
Failed to load module: /nix/store/p0z1wnl2gxjpkinmx8l5b91fbpb62vg5-glib-networking-2.72.2/lib/gio/modules/libgiognutls.so
/usr/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /nix/store/r0ksvj2bdzpbssh0y0zpi6n6kmq58lif-libproxy-0.4.18/lib/libproxy.so.1)
Failed to load module: /nix/store/p0z1wnl2gxjpkinmx8l5b91fbpb62vg5-glib-networking-2.72.2/lib/gio/modules/libgiolibproxy.so
/nix/store/2710lcf2rixpmn329hcl0jrlibrlmkxd-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so: undefined symbol: g_hash_table_get_keys_as_array
Failed to load module: /nix/store/2710lcf2rixpmn329hcl0jrlibrlmkxd-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so
/nix/store/nv614g829k97523bypyvlizzvx5rqqg2-gvfs-1.50.2/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_source_tag
Failed to load module: /nix/store/nv614g829k97523bypyvlizzvx5rqqg2-gvfs-1.50.2/lib/gio/modules/libgioremote-volume-monitor.so
/nix/store/nv614g829k97523bypyvlizzvx5rqqg2-gvfs-1.50.2/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_source_tag
Failed to load module: /nix/store/nv614g829k97523bypyvlizzvx5rqqg2-gvfs-1.50.2/lib/gio/modules/libgvfsdbus.so
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
linux-vdso.so.1 (0x00007f6d88860000)
xrEngine.so => lib/xrEngine.so (0x00007f6d8877d000)
libfreeimage.so.3 => lib/libfreeimage.so.3 (0x00007f6d88046000)
libfreeimageplus.so.3 => lib/libfreeimageplus.so.3 (0x00007f6d87907000)
xrCore.so => lib/xrCore.so (0x00007f6d87714000)
libpthread.so.0 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6d876e7000)
libSDL2-2.0.so.0 => /lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (0x00007f6d8753c000)
libcryptopp.so.6.0 => lib/libcryptopp.so.6.0 (0x00007f6d870e3000)
xrAPI.so => lib/xrAPI.so (0x00007f6d870e0000)
libstdc++.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6d86eb0000)
libm.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libm.so.6 (0x00007f6d86d67000)
libgcc_s.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6d86d4d000)
libc.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6 (0x00007f6d86b6b000)
xrSound.so => lib/xrSound.so (0x00007f6d86b4b000)
xrScriptEngine.so => lib/xrScriptEngine.so (0x00007f6d86af3000)
xrNetServer.so => lib/xrNetServer.so (0x00007f6d86adc000)
libtheora.so.0 => /lib/x86_64-linux-gnu/libtheora.so.0 (0x00007f6d86a90000)
libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0 (0x00007f6d86887000)
libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f6d86857000)
xrCDB.so => lib/xrCDB.so (0x00007f6d86807000)
libopenal.so.1 => /lib/x86_64-linux-gnu/libopenal.so.1 (0x00007f6d86722000)
liblockfile.so.1 => lib/liblockfile.so.1 (0x00007f6d8671d000)
xrLuabind.so => lib/xrLuabind.so (0x00007f6d86700000)
xrLuajit.so => lib/xrLuajit.so (0x00007f6d8667e000)
libdl.so.2 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6d86678000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f6d86604000)
liblzo2.so.2 => lib/liblzo2.so.2 (0x00007f6d865e1000)
librt.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/librt.so.1 (0x00007f6d865d7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6d88862000)
libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2 (0x00007f6d864d6000)
libpulse-simple.so.0 => /lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f6d864cd000)
libpulse.so.0 => /lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f6d86479000)
libX11.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f6d86331000)
libXext.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f6d8631c000)
libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f6d8630f000)
libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f6d8630a000)
libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007f6d860f8000)
libXfixes.so.3 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f6d860f0000)
libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f6d85ee5000)
libXss.so.1 => /lib/x86_64-linux-gnu/libXss.so.1 (0x00007f6d85ee0000)
libXxf86vm.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f6d85ed9000)
libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f6d85ed4000)
libwayland-client.so.0 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f6d85ebf000)
libwayland-cursor.so.0 => /lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f6d85eb6000)
libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f6d85e74000)
libdecor-0.so.0 => /lib/x86_64-linux-gnu/libdecor-0.so.0 (0x00007f6d85e6a000)
libvorbisfile.so.3 => /lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f6d85e5f000)
libatomic.so.1 => /lib/x86_64-linux-gnu/libatomic.so.1 (0x00007f6d85e53000)
libpulsecommon-12.2.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-12.2.so (0x00007f6d85dcd000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f6d85dc5000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f6d85d72000)
libxcb.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f6d85d44000)
libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f6d85b3a000)
libffi.so.7 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libffi.so.7 (0x00007f6d85b2e000)
libX11-xcb.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f6d85b29000)
libICE.so.6 => /lib/x86_64-linux-gnu/libICE.so.6 (0x00007f6d8590c000)
libSM.so.6 => /lib/x86_64-linux-gnu/libSM.so.6 (0x00007f6d858ff000)
libXtst.so.6 => /lib/x86_64-linux-gnu/libXtst.so.6 (0x00007f6d856f9000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f6d85658000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f6d8564c000)
libsndfile.so.1 => /lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f6d855d0000)
libasyncns.so.0 => /lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f6d853ca000)
libXau.so.6 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f6d853c2000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f6d853a8000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f6d8539f000)
liblzma.so.5 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f6d85375000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f6d85356000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f6d85236000)
libnsl.so.1 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f6d8521b000)
libFLAC.so.8 => /lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f6d851b2000)
libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f6d85107000)
libresolv.so.2 => /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f6d850ed000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f6d850c8000)
@JoshuaFern At a glance from this, the only things that jump out are the steam overlay, along with libGL.so.1, libGLX.so.0, and libGLdispatch.so.0.
Not sure why those (other than the steam overlay) are not being loaded in the non-steam case. Are you able to confirm that the same configuration is used in both cases?
@d10sfan I actually have Steam overlay disabled, but it seems to be inserted anyways. What configuration am I looking for?
I wanted to see if maybe it was a difference in environment variables, so I grabbed the Steam variables and the Non-Steam variables via set
and created a list sorted in vim and removed blocks of duplicates. Then I put all those unique environment variables into the run-openxray.sh
script and ran them again. It didn't change the outcome.
@JoshuaFern Mostly curious about the game's configuration, I believe it's stored in the game directory, so it probably wouldn't change anyways.
I'm not sure what's going on here, it's possible that something with launching from team is causing the issue, but not sure what that might be.
If you launch the game using luxtorpeda without steam, through the same interface you showed, does that give you the same error?
If you launch the game using luxtorpeda without steam, through the same interface you showed, does that give you the same error?
First I did export SteamAppId=41700
then ran /home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=41700 -- /home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/compatibilitytools.d/luxtorpeda-55'/luxtorpeda.sh waitforexitandrun '/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Stalker Call of Pripyat/bin/xrEngine.exe'
and it worked fine.
@JoshuaFern Is that running inside or outside of flatpak?
Inside, using flatpak run --command=/bin/bash com.valvesoftware.Steam
@JoshuaFern Ah ok, not sure what is going on here, since it works outside of steam but not in steam in what should be the same environment.
@JoshuaFern This is kind of interesting (https://github.com/microsoft/mimalloc/issues/147).
You can see that the current verison being used has a version of mimalloc - https://github.com/OpenXRay/xray-16/tree/1dc1c10508f6f7c9364149589cad8997d3aed6c2/Externals
Wondering if you're getting hit by a similar issue. If you are able to build, it may be useful for you to try different variations of ways to compile mimalloc and see if any of those fix the issue.
I found a huge clue, turns out when you run Steam in a Flatpak it uses a wrapper. If I go into the Flatpak environment manually with flatpak run --command=/bin/bash com.valvesoftware.Steam
I can bypass the wrapper by just running steam
and the game works fine. There's something in the wrapper that's causing the change that generates this issue. https://github.com/flathub/com.valvesoftware.Steam/blob/beta/steam_wrapper/steam_wrapper.py
I started editing the wrapper, removing lines and testing to see what was causing the issue.
It seems to be configure_shared_library_guard()
https://github.com/flathub/com.valvesoftware.Steam/blob/f75f45d1a177ce79c0f7269e6dbefc7ee3f92e41/steam_wrapper/steam_wrapper.py#L512
Edit: Found this related issue - but it looks like he's running the Windows version of the game which is curious. https://steamcommunity.com/app/4500/discussions/0/3178985258876861840/
@JoshuaFern interesting that seems to add a LD_AUDIT library to the environment variables. It may be worthwhile to try removing it from the env in the script to see if it can be removed after the fact for one particular game. I guess if not, then we could make a notice about needing to run flatpak steam with the SHARED_LIBRARY_GUARD set to 0, if that works.
Seems to work, just editing the run script with LD_LIBRARY_PATH="lib:$LD_LIBRARY_PATH" LD_AUDIT="" ./xr_3da -fsltx fsgame.ltx "$@"
@JoshuaFern Ok, I don't think that should hurt anything to change it, so I've committed that change: https://github.com/luxtorpeda-dev/packages/commit/b64bf7d2c04db489b1ad4895ef5716ccc102350a
It should be live about an hour after this comment. You can also see progress here: https://github.com/luxtorpeda-dev/packages/actions/runs/2952950616
Let me know how that goes for you.
Thanks, works fine.
Game
S.T.A.L.K.E.R.: Call of Pripyat (41700)
Engine
openxray
Linux Distribution
NixOS/Flatpak/Nvidia/Wayland
Luxtorpeda Version
55
Bug description
Game crashes with error:
./xr_3da: error while loading shared libraries: lib/xrCore.so: cannot allocate memory in static TLS block
Additional Context
When entering a the Steam Flatpak environment with
flatpak run --command=/bin/bash com.valvesoftware.Steam
and starting the game manually with[📦 com.valvesoftware.Steam Stalker Call of Pripyat]$ '/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- ./run-openxray.sh
it starts successfully.Relevant log output