Closed JamesMDunn closed 2 years ago
Hello @JamesMDunn, starting with Proton 5.13, Proton is being run in the Steam Linux Runtime - Soldier container environment. Your issue reads like it's happening early on in the startup of that container environment, before Proton gets a chance to run, so I've transferred this issue report to the steam-runtime issue tracker.
I'm not particularly familiar with this particular library, but it appears like it used to be provided by glibc, but now comes from libxcrypt-compat
? Can you test if adding tthat package helps, and if it does, then it would be a good idea to ask the Arch package maintainer(s) for Steam to evaluate adding it to their package dependencies.
Hello! @kisak-valve. I've added libxcrypt-compat, but it didn't seem to help. I do have libcrypt.so.1
in /usr/lib
. Copied to /usr/lib32
to see if that would do anything but nope. Any idea what directory this file should go in?
I do have libcrypt.so.1 in /usr/lib.
That sounds correct for Arch, but the container runtime framework might not be picking it up - the transition from glibc 2.33 to 2.34 made some structural changes which will probably have caused some confusion, because the soldier container is from the "old glibc" world, but Arch is from "new glibc" world.
Please could you capture a log with the instructions from https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md ?
Copied to /usr/lib32 to see if that would do anything but nope.
Please remove that copy. In general, arbitrarily copying system files around is not a good idea - having a 64-bit libcrypt.so.1
in /usr/lib32 is probably going to break assumptions, and after you have done a few upgrades, having an up-to-date version in /usr/lib
and an outdated version in /usr/lib32
could also cause problems.
I might have made a logic error with my initial comment. There are other Arch systems in the wild which have system information indicating that libcrypt.so.1 is broken or missing from the host system, but Proton is otherwise working. Another possibility to ponder is if the container environment is damaged or incomplete.
python3: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
I could not reproduce this problem on an Arch Linux test system (freshly updated today).
Some notes:
libxcrypt-compat
installed/usr/lib/libcrypt.so.1
or /usr/lib32/libcrypt.so.1
: the xcrypt packages only provide libcrypt.so.2
I tried launching a shell inside the container environment and running python3
there:
.../steamapps/common/SteamLinuxRuntime_soldier/run -- xterm
python3
and that worked fine: I get an interactive Python prompt. (You can press Ctrl+D repeatedly to exit.)
When I inspected /proc/$(pgrep python3 | tail -n1)/maps
with the python3
inside the xterm
still running, without libxcrypt-compat
, I found that:
/run/host/usr/lib/libc.so.6
/usr/lib/x86_64-linux-gnu/libcrypt-2.28.so
I repeated this process after installing libxcrypt-compat
on the Arch system. This time, the python3
process inside the container loaded different libraries:
/run/host/usr/lib/libc.so.6
in the maps
/run/host/usr/lib/libcrypt.so.1.1.0
in the maps
So everything here seems to be working as it should, and Proton's python3
script should still work OK on "most" Arch systems. I'll need to see a log to find out what is different on @JamesMDunn's system.
@smcv Here is the log and system info
pid 140164 != 140157, skipping destruction (fork without exec?)
18:52:21.510061: _v2-entry-point[140157]: argv: /home/james/.local/share/Steam/steamapps/common/Proton\ -\ Experimental/proton waitforexitandrun /home/james/.local/share/Steam/steamapps/common/ELDEN\ RING/Game/start_protected_game.exe
18:52:21.516260: pressure-vessel-wrap[140157]: I: pressure-vessel version 0.20220131.0
18:52:21.580225: pressure-vessel-wrap[140157]: I: Applying "/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/soldier_platform_0.20220131.0/usr-mtree.txt.gz" to "/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-RDMFJ1/usr"...
18:52:21.796163: pressure-vessel-wrap[140157]: I: pv_runtime_provide_container_access: Setting up runtime without using bwrap
18:52:21.796220: pressure-vessel-wrap[140157]: I: EGL ICD #0 at /usr/share/glvnd/egl_vendor.d/10_nvidia.json: libEGL_nvidia.so.0
18:52:21.796237: pressure-vessel-wrap[140157]: I: EGL ICD #1 at /usr/share/glvnd/egl_vendor.d/50_mesa.json: libEGL_mesa.so.0
18:52:21.796252: pressure-vessel-wrap[140157]: I: EGL external platform #0 at /usr/share/egl/egl_external_platform.d/10_nvidia_wayland.json: libnvidia-egl-wayland.so.1
18:52:21.796266: pressure-vessel-wrap[140157]: I: EGL external platform #1 at /usr/share/egl/egl_external_platform.d/15_nvidia_gbm.json: libnvidia-egl-gbm.so.1
18:52:21.796283: pressure-vessel-wrap[140157]: I: Vulkan ICD #0 at /usr/share/vulkan/icd.d/nvidia_icd.json: libGLX_nvidia.so.0
18:52:21.796296: pressure-vessel-wrap[140157]: I: Vulkan ICD #1 at /usr/share/vulkan/icd.d/intel_icd.x86_64.json: /usr/lib/libvulkan_intel.so
18:52:21.796309: pressure-vessel-wrap[140157]: I: Vulkan ICD #2 at /usr/share/vulkan/icd.d/intel_icd.i686.json: /usr/lib32/libvulkan_intel.so
18:52:21.796859: pressure-vessel-wrap[140157]: I: Vulkan implicit layer #0 at /home/james/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json: /home/james/.local/share/Steam/ubuntu12_32/libVkLayer_steam_fossilize.so
18:52:21.796881: pressure-vessel-wrap[140157]: I: Vulkan implicit layer #1 at /home/james/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json: /home/james/.local/share/Steam/ubuntu12_64/libVkLayer_steam_fossilize.so
18:52:21.796896: pressure-vessel-wrap[140157]: I: Vulkan implicit layer #2 at /home/james/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json: /home/james/.local/share/Steam/ubuntu12_32/steamoverlayvulkanlayer.so
18:52:21.796911: pressure-vessel-wrap[140157]: I: Vulkan implicit layer #3 at /home/james/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json: /home/james/.local/share/Steam/ubuntu12_64/steamoverlayvulkanlayer.so
18:52:21.796925: pressure-vessel-wrap[140157]: I: Vulkan implicit layer #4 at /usr/share/vulkan/implicit_layer.d/nvidia_layers.json: libGLX_nvidia.so.0
18:52:21.797870: pressure-vessel-wrap[140157]: I: Capturing loadable module: libEGL_nvidia.so.0
18:52:21.799410: pressure-vessel-wrap[140157]: I: Capturing loadable module: libEGL_mesa.so.0
18:52:21.801408: pressure-vessel-wrap[140157]: I: Capturing loadable module: libnvidia-egl-wayland.so.1
18:52:21.802877: pressure-vessel-wrap[140157]: I: Capturing loadable module: libnvidia-egl-gbm.so.1
18:52:21.804403: pressure-vessel-wrap[140157]: I: Capturing loadable module: libGLX_nvidia.so.0
18:52:21.806075: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/libvulkan_intel.so
18:52:21.807940: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/libvulkan_intel.so
18:52:21.809264: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_32/libVkLayer_steam_fossilize.so
18:52:21.810599: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_64/libVkLayer_steam_fossilize.so
18:52:21.812020: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_32/steamoverlayvulkanlayer.so
18:52:21.813530: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_64/steamoverlayvulkanlayer.so
18:52:21.814931: pressure-vessel-wrap[140157]: I: Capturing loadable module: libGLX_nvidia.so.0
18:52:21.814978: pressure-vessel-wrap[140157]: I: "/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-RDMFJ1/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libGLX_nvidia.so.0" is already present, skipping
18:52:21.815003: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/vdpau/libvdpau_nvidia.so
18:52:21.816470: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/vdpau/libvdpau_nvidia.so.1
18:52:21.818257: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/vdpau/libvdpau_trace.so
18:52:21.819575: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/vdpau/libvdpau_trace.so.1
18:52:21.820906: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/crocus_dri.so
18:52:21.822915: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/d3d12_dri.so
18:52:21.824772: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/i830_dri.so
18:52:21.826347: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/i915_dri.so
18:52:21.827990: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/i965_dri.so
18:52:21.829602: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/iris_dri.so
18:52:21.831619: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/kms_swrast_dri.so
18:52:21.833649: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/nouveau_dri.so
18:52:21.835484: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/nouveau_vieux_dri.so
18:52:21.837139: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/r200_dri.so
18:52:21.838725: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/r300_dri.so
18:52:21.840641: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/r600_dri.so
18:52:21.842504: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/radeon_dri.so
18:52:21.844130: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/radeonsi_dri.so
18:52:21.846032: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/swrast_dri.so
18:52:21.848287: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/virtio_gpu_dri.so
18:52:21.850295: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/vmwgfx_dri.so
18:52:21.852320: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/dri/zink_dri.so
18:52:21.920868: pressure-vessel-wrap[140157]: I: Capturing loadable module: libEGL_nvidia.so.0
18:52:21.922306: pressure-vessel-wrap[140157]: I: Capturing loadable module: libEGL_mesa.so.0
18:52:21.923887: pressure-vessel-wrap[140157]: I: Capturing loadable module: libnvidia-egl-wayland.so.1
18:52:21.925293: pressure-vessel-wrap[140157]: I: Capturing loadable module: libnvidia-egl-gbm.so.1
18:52:21.926676: pressure-vessel-wrap[140157]: I: Capturing loadable module: libGLX_nvidia.so.0
18:52:21.928097: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib/libvulkan_intel.so
18:52:21.929602: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/libvulkan_intel.so
18:52:21.931525: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_32/libVkLayer_steam_fossilize.so
18:52:21.950457: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_64/libVkLayer_steam_fossilize.so
18:52:21.952189: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_32/steamoverlayvulkanlayer.so
18:52:21.953829: pressure-vessel-wrap[140157]: I: Capturing loadable module: /home/james/.local/share/Steam/ubuntu12_64/steamoverlayvulkanlayer.so
18:52:21.955388: pressure-vessel-wrap[140157]: I: Capturing loadable module: libGLX_nvidia.so.0
18:52:21.955442: pressure-vessel-wrap[140157]: I: "/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-RDMFJ1/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/libGLX_nvidia.so.0" is already present, skipping
18:52:21.955474: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/vdpau/libvdpau_nvidia.so
18:52:21.957132: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/vdpau/libvdpau_nvidia.so.1
18:52:21.958795: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/vdpau/libvdpau_trace.so
18:52:21.960319: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/vdpau/libvdpau_trace.so.1
18:52:21.961865: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/crocus_dri.so
18:52:21.964040: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/i830_dri.so
18:52:21.965987: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/i915_dri.so
18:52:21.968109: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/i965_dri.so
18:52:21.970186: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/iris_dri.so
18:52:21.972533: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/kms_swrast_dri.so
18:52:21.975161: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/nouveau_dri.so
18:52:21.977830: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/nouveau_vieux_dri.so
18:52:21.980756: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/r200_dri.so
18:52:21.983725: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/r300_dri.so
18:52:21.987263: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/r600_dri.so
18:52:21.990793: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/radeon_dri.so
18:52:21.994112: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/radeonsi_dri.so
18:52:21.998188: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/swrast_dri.so
18:52:22.003017: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/virtio_gpu_dri.so
18:52:22.008283: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/vmwgfx_dri.so
18:52:22.013708: pressure-vessel-wrap[140157]: I: Capturing loadable module: /usr/lib32/dri/zink_dri.so
18:52:22.116217: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/james/.local/share/Steam" from the current env as STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/james/.local/share/Steam" in the host
18:52:22.116256: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_DATA_PATH="/home/james/.local/share/Steam/steamapps/compatdata/1245620" from the current env as STEAM_COMPAT_DATA_PATH="/home/james/.local/share/Steam/steamapps/compatdata/1245620" in the host
18:52:22.116290: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_INSTALL_PATH="/home/james/.local/share/Steam/steamapps/common/ELDEN RING" from the current env as STEAM_COMPAT_INSTALL_PATH="/home/james/.local/share/Steam/steamapps/common/ELDEN RING" in the host
18:52:22.116324: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_LIBRARY_PATHS="...:/home/james/.local/share/Steam/steamapps:..." from the current env as STEAM_COMPAT_LIBRARY_PATHS="...:/home/james/.local/share/Steam/steamapps:..." in the host
18:52:22.116355: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_MOUNTS="...:/home/james/.local/share/Steam/steamapps/common/Steamworks Shared:..." from the current env as STEAM_COMPAT_MOUNTS="...:/home/james/.local/share/Steam/steamapps/common/Steamworks Shared:..." in the host
18:52:22.116387: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_MOUNTS="...:/home/james/.local/share/Steam/steamapps/common/Proton - Experimental:..." from the current env as STEAM_COMPAT_MOUNTS="...:/home/james/.local/share/Steam/steamapps/common/Proton - Experimental:..." in the host
18:52:22.116422: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_MOUNTS="...:/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:..." from the current env as STEAM_COMPAT_MOUNTS="...:/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:..." in the host
18:52:22.116454: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_SHADER_PATH="/home/james/.local/share/Steam/steamapps/shadercache/1245620" from the current env as STEAM_COMPAT_SHADER_PATH="/home/james/.local/share/Steam/steamapps/shadercache/1245620" in the host
18:52:22.116488: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_TOOL_PATHS="...:/home/james/.local/share/Steam/steamapps/common/Proton - Experimental:..." from the current env as STEAM_COMPAT_TOOL_PATHS="...:/home/james/.local/share/Steam/steamapps/common/Proton - Experimental:..." in the host
18:52:22.116519: pressure-vessel-wrap[140157]: I: Bind-mounting STEAM_COMPAT_TOOL_PATHS="...:/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:..." from the current env as STEAM_COMPAT_TOOL_PATHS="...:/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:..." in the host
18:52:22.150064: pressure-vessel-adverb[140285]: I: No locales have been generated
18:52:22.150319: pressure-vessel-adverb[140285]: I: No locales were missing
python3: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
18:52:22.159540: pressure-vessel-adverb[140285]: I: Command exited with status 127
It looks like you have a 64-bit libcrypt.so.2
installed as /usr/lib32/libcrypt.so.1
(?!)
If you have created a symlink or installed a library by hand or something, perhaps in an attempt at a workaround, please remove /usr/lib32/libcrypt.so.1
(move it out of the way, perhaps to /usr/lib32/REMOVED/libcrypt.so.1
or something, if you are not sure where it came from).
That library isn't fully compatible with the original glibc libcrypt.so.1
, which could be causing problems:
"libcrypt.so.1" : {
"soname" : "libcrypt.so.2",
"path" : "/usr/lib32/libcrypt.so.1",
"issues" : [
"missing-symbols",
"misversioned-symbols"
],
"missing-symbols" : [
"encrypt@GLIBC_2.2.5",
"encrypt_r@GLIBC_2.2.5",
"fcrypt@GLIBC_2.2.5",
"setkey@GLIBC_2.2.5",
"setkey_r@GLIBC_2.2.5"
],
"misversioned-symbols" : [
"crypt@GLIBC_2.2.5",
"crypt_r@GLIBC_2.2.5"
]
},
and at the moment it's getting used by the container:
"overrides/lib/x86_64-linux-gnu/libcrypt.so.1 -> /run/host/usr/lib32/libcrypt.so.1",
Lol not sure how that happened. Ran rm /usr/lib32/libcrypt.so.1
and Elden Ring finally booted up lol. I was able to get to the main menu. I did get network connection lost on steam. With a connection Elden Ring boots but stuck on a white screen, no main menu... This is probably a separate issue specific to elden ring i'll look into. Rocket League booted up perfectly fine with a connection. Thank you!
Closing per the last comment.
Titles: Rocket League, Elden Ring Proton version: Proton 7.0-1, Proton Experimental, Proton Experimental (Bleeding Edge) Arch Linux