Closed garrosh closed 9 months ago
Hello @garrosh, this issue report is a bit of a mess of different game configurations. Since the overall focus is on runtime interactions I've transferred this issue report to the steam-runtime issue tracker.
To summarize the various attempts:
i386-linux-gnu-capsule-capture-libs: warning: libudev.so.0 has an unexpected DT_SONAME, ignoring: libudev.so.1
This looks like someone has symlinked 32 bit libudev.so.0 to libudev.so.1. This is not ABI compatible and you should check into why that's happening.symbol lookup error: /lib/x86_64-linux-gnu/libcloudproviders.so.0: undefined symbol: g_type_add_instance_private
The NVIDIA driver was unable to open 'libnvidia-glvkspirv.so.525.147.05'. This library is required at run time.
I'd recommend opting into Steam's client beta, then toggling the per-game Steam Play override on and off, then retest how Albion Online behaves with the Linux native variant (9 on the list).
After that, please copy the contents of Steam Runtime Diagnostics from Steam (Steam
-> Help
-> Steam Runtime Diagnostics
) and put it in a gist, then include a link to the gist in this issue report.
The format that is the most useful starting point when investigating any issue is:
When you have tried "a whole bunch of things" that's 11 different sets of steps to reproduce, and it's not going to be obvious to us which one of your sets of steps to reproduce is the important one.
For the Steam Runtime specifically, if you are seeing similar issues with multiple games, the best starting point for us to investigate is a free-to-play game, preferably not too big, and preferably known to work well for other people. That way, everyone who is seeing a similar issue can follow the steps-to-reproduce using the same game, giving us a basis for comparison.
When you say "Albion" it appears you mean Albion Online, Steam app ID 761890. That's a useful starting point because it's free-to-play. I don't know whether it works reliably on Linux, but I can install it and try to find out.
When you say "Increlution" it appears you mean Steam app ID 1593350, which is not free-to-play, but does have a demo. Again, I don't know whether it works reliably on Linux, but I can install it and try to find out.
For each game, the highest-priority thing for us is that what happens by default, when you install that game into Steam without any special tinkering, should work. If that doesn't work, then the next best thing would be that a workaround exists. The workaround might be different for each game: it is not realistic to expect that there is a single workaround that will always fix everything (if there was, we would have made that behaviour the default).
Meanwhile, for each compatibility tool, the highest-priority thing for us is that "most" compatible games work well with it - but this does not necessarily mean that any specific game will work well, because sometimes games have bugs, and sometimes games do weird things that are not technically a bug but will trigger an incompatibility.
(technically: scout LD_LIBRARY_PATH
runtime)
I did this one first, because it's the default in the desktop Steam client.
.../steamapps/common/Albion Online
contains a shell script Albion-Online
which runs a launcher launcher/Albion-Online
, which eventually ends up running the actual game game_x64/Albion-Online
.Comparison with your situation: In your scenario 9, you seem to have somehow got yourself into a situation where Steam has installed the Windows version of Albion Online, but is trying to run it as though it was a native Linux game, which is not going to work. The key clue to this is:
/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online/launcher/AlbionLauncher.exe: 1: MZ����@▒��: not found
where MZ
is the "magic number" at the beginning of every Windows executable.
This might be related to https://github.com/ValveSoftware/steam-for-linux/issues/9875.
client_beta
branch of Steam Linux Runtime 1.0 (scout)
, with version 0.20231128.0 in SteamLinuxRuntime/VERSIONS.txt
, if that matters (I expect that the default branch would behave similarly)client_beta
branch of Steam Linux Runtime 2.0 (soldier)
, with version 0.20231211.70176 in SteamLinuxRuntime_soldier/VERSIONS.txt
, if that matters (I expect that the default branch would behave similarly).../steamapps/common/Albion Online
is still the Linux version (does have Albion-Online
, but doesn't have AlbionLauncher.exe
)Compared with your situation: In your scenario 10 there seems to be some brokenness involving graphics driver discovery:
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so not found, ignoring: Missing dependencies: Could not find "libLLVM-17.so.1" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so not found, ignoring: Missing dependencies: Could not find "libLLVM-17.so.1" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_d3d12.so not found, ignoring: Missing dependencies: Could not find "libLLVM-17.so.1" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of /usr/lib/x86_64-linux-gnu/dri/crocus_dri.so not found, ignoring: Missing dependencies: Could not find "libLLVM-17.so.1" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of /usr/lib/x86_64-linux-gnu/dri/d3d12_drv_video.so not found, ignoring: Missing dependencies: Could not find "libLLVM-17.so.1" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libEGL_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libGLX_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libGLX_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libEGL_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libGLX_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libGLX_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libEGL_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libGLX_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libGLX_nvidia.so.0 not found, ignoring: Missing dependencies: Could not find "libnvidia-glsi.so.525.147.05" in LD_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
Any game that uses the Steam Linux Runtime or Proton is not going to have reliable 3D acceleration until/unless this can be resolved.
Additionally, as @kisak-valve noted, you have an invalid symlink similar to libudev.so.0 -> libudev.so.1
in some location that is relevant for 32-bit libraries, probably /lib/i386-linux-gnu
:
i386-linux-gnu-capsule-capture-libs: warning: libudev.so.0 has an unexpected DT_SONAME, ignoring: libudev.so.1
The Steam Linux Runtime tools are working around this, but it's still wrong, and indicates that there may have been some unsupportable local changes on this system in the past.
From your scenario 3, just launching Steam, I think the major problem is indicated by this output:
steam-runtime-identify-library-abi: Cannot run ldconfig: wait status 135
run.sh[30186]: steam-runtime-identify-library-abi --ldconfig-paths failed, falling back to ldconfig
run.sh[30186]: Warning: An unexpected error occurred while executing "/sbin/ldconfig -XNv", the exit status was 135
That's signal 7, which is SIGBUS
, an internal crash.
All versions of the Steam Runtime relies on having a working version of ldconfig
. Your ldconfig
does not seem to be working correctly, so anything that still works in this situation is pure luck...
Is there anything unusual or locally-modified about your system, for instance installing low-level libraries like glibc from source code, or installing low-level components from experimental
? Or at the hardware level: overclocking, or potentially bad RAM?
The output of /sbin/ldconfig -p
would be interesting to see.
A possible workaround, at your own risk, would be:
/etc/ld.so.cache
to some safe location for future analysis/sbin/ldconfig -v
(for example you might run it via sudo
or pkexec
)@kisak-valve, perhaps you could retitle this to
steam-runtime-identify-library-abi: Cannot run ldconfig: wait status 135
to avoid having other users with unrelated issues jumping onto this one.
Hello @kisak-valve !
Thank you so much for your quick reply! Also, thank you @smcv, all of your help is greatly appreciated. So yeah, after spending a couple of days poking around at this, I guess I forgot to include some pretty basic info when I wrote this, namely: everything was working fine before I did some system updates. I didn't do anything fancy, but I had some messages about broken libc6 dependancies, and I had to screw around a while until I was able to get it to update itself and get my system in a non-borked state.
So in order, what happened on my system was:
So now I'm going down the list of your replies in order, starting with yours, @kisak-valve .
So I opted into the beta, tried to toggle per-game steam runtimes, and it's not running, apparently the same as before. The console output for a launch of Albion Online looks like this. In the meantime, I got you the Steam Runtime System Information output here
@smcv , in reply to Albion Online, default runtime:
Yeah, I'm sorry, I was really wrapped up in trying to understand all of this, I wasn't very clear about my starting point. The game works reliably on linux, at least it has for me for the past 4 years. As I also mentioned, the game works completely fine when I launch it directly instead of going through Steam. About it trying to launch the windows version, there might've been some problem with how Steam handled the various runtime switches I asked it to do in all of my attempts. In the meantime, I verified that Steam had redownloaded the Linux version after switching runtimes, the output looks like this.
@smcv, in reply to Albion Online, SLR 1.0:
I don't think I have done any local changes, but on the off chance I did, I looked into libudev to see what was installed on my system. Turns out libudev1 and libudev1:i386 are installed, but not libudev0 and libudev0:i386. So I guess maybe I did some screwing around there. So I installed libudev0:i386, ignored a warning about libc-bin not being installed (because I have the amd version installed and they conflict each other), and then reinstalled it for good measure. Now the console output looks like this, so that fixes the error about the invalid symlink.
[...]Albion-Online: symbol lookup error: ///home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online/launcher/libQt5WebEngineCore.so.5: undefined symbol: dbus_validate_interface, version LIBDBUS_1_3
This looks like the key detail from the most recent log. Looking at the runtime diagnostics, https://gist.github.com/garrosh/f263585c0ba303578bb607a77279b66d#file-gistfile1-txt-L354 looks like you have 32 bit libdbus installed system wide, but I'm not seeing any mentions of the 64 bit variant of that library. The game is then falling over because the game bundled libQt5WebEngineCore was built with expectations of a newer libdbus than the fallback provided by the LD_* style Steam runtime.
Can you double check the system installed packages for dbus with something like apt policy libdbus-1-3 libdbus-1-3:i386
and if both variants are not installed, then try something like sudo apt install libdbus-1-3 libdbus-1-3:i386
. It looks like packages.debian.org is having a server issue right now, so I wasn't able to double check if that's the right package name.
@kisak-valve I have both versions installed system wide, did a reinstall just to be sure, and everything is there. What was the scenario that spewed out that error again?
Yeah, so I reran the same scenario, output is still like this
/bin/sh\0-c\0/home/garrosh/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=761890 -- /home/garrosh/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- '/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online/Albion-Online' -steam\0 chdir "/home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online" ERROR: ld.so: object '/home/garrosh/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/garrosh/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. ERROR: ld.so: object '/home/garrosh/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/garrosh/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/garrosh/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/garrosh/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/garrosh/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. /home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online/launcher/Albion-Online: /home/garrosh/.steam/debian-installation/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by ///home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online/launcher/libQt5WebEngineCore.so.5) /home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online/launcher/Albion-Online: symbol lookup error: ///home/garrosh/Files_and_Stuff/Games/SteamLibrary/steamapps/common/Albion Online/launcher/libQt5WebEngineCore.so.5: undefined symbol: dbus_validate_interface, version LIBDBUS_1_3 Uploaded AppInterfaceStats to Steam
@smcv Here is the output from /sbin/ldconfig -p:
Ok, here is something interesting, that feels related.
So I tried this four times, now, but there's something fishy.
@kisak-valve, until we have worked out what is going on with ld.so.cache
/ldconfig
, I think we should not dig too deeply into the libdbus issues: they are more symptom than root cause. The scout runtime's setup.sh
and run.sh
assume a correctly working ldconfig
, and the mechanism that is meant to choose between the scout or host-OS copies of libdbus will not work correctly if ldconfig
is crashing or ld.so.conf
is corrupt.
I updated my system [...] Steam stopped working, turns out it was related to my libc6 problem, which I fixed somehow, but I don't remember how
It would have been helpful if you had led with that! If something has gone wrong, it's often useful to capture diagnostic information immediately after that point, before you try any workarounds (particularly if they are intrusive changes), to avoid the details of the original problem getting obscured by subsequent attempts to work around it.
On a Debian system, you should find that /var/log/apt/history.log*
contain a history of your system upgrades. If you can identify a point in time at which these Steam games were working as you expected, and a point in time at which your "libc6 problem" was visible, then the list of changes between those points would be very useful information.
some messages about broken libc6 dependancies
We can't do much with "some messages" without knowing what the exact messages were, but if you look in /var/log/apt/term.log*
I hope you will be able to find them and copy/paste.
You mentioned libc-bin
, which is the package that is responsible for running ldconfig
and updating the ld.so.cache
when needed, so this is all consistent with my working theory that your ldconfig
or ld.so.cache
has been damaged in some way.
Ok, turns out there was some device level corruption happening, apparently there was something broken for a good long while. I think I had some sectors die in my SSD and nothing could be fixed by fsck on my btrfs drive. So I reformated and reinstalled everything, now everything works, so it was unrelated to Steam itself.
Thank you very much for your help!
Your system information
Please describe your issue in as much detail as possible:
So I've been fiddling around for the past couple of days and there is something going on with my runtimes. Nothing with works with any Proton runtimes, nothing works with the default Steam Runtime, I have 1 game that works with Steam Runtime 1.0, and I can't get Steam to launch with a Native Runtime.
I've tried a whole bunch of things, and here is a bunch of the things I tried, as well as some possibly relevant information. Feel free to ask for anything else.
So I think there's a bug somewhere, this is obviously not intended behavior. I'm a bit confused by a few things in here, but I would be happy to get steam to run natively, or have any runtime run reliably.