Closed gotzl closed 3 years ago
Hello @gotzl, let's treat this as a pressure vessel issue until there's a stronger indication that the issue is elsewhere. Looks like mesa is having a hard time finding libLLVM-11.so in the container ERROR: [Loader Message] Code 0 : libLLVM-11.so: cannot open shared object file: No such file or directory
.
@kisak-valve, please could you retitle this to mention Gentoo in the title? I suspect that's significant.
It would be very useful to see a log with PRESSURE_VESSEL_VERBOSE=1
in the game's launch options (see https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md for more information).
A log with both PRESSURE_VESSEL_VERBOSE=1
and CAPSULE_DEBUG=tool,search
might also be useful.
There seems to be some unusual filesystem layout around libLLVM-11.so
, which might be triggering this or contributing to it. It would be useful to see the first few pages of output (everything before Sections
) from objdump -T -x /usr/lib/llvm/11/lib32/libLLVM-11.so
, and the same for /usr/lib/llvm/11/lib64/libLLVM-11.so
, /usr/lib32/dri/radeonsi_dri
and /usr/lib64/dri/radeonsi_dri.so
.
At a guess, this OS (or since this is a locally-built-from-source distro, this particular configuration of an OS) might be relying on DT_RPATH
or DT_RUNPATH
to locate some important libraries. We can't fully deal with those mechanisms at the moment.
Hi, thanks for moving and correcting the title. I've created the requested files here.
But the initial though seems to be correct - it doesn't find libLLVM. I've started steam with PRESSURE_VESSEL_SHELL=instead
and in the shell, I get
(steamrt soldier 0.20201124.0)gotzl@desktop:/opt/steam/steamapps/common/Assetto Corsa Competizione$ ls -l /overrides/lib/x86_64-linux-gnu/libLLVM-11.so
lrwxrwxrwx 1 gotzl gotzl 45 Dec 2 15:31 /overrides/lib/x86_64-linux-gnu/libLLVM-11.so -> /run/host/usr/lib/llvm/11/lib64/libLLVM-11.so
and looking into the lib folder, there is no llvm subfolder
(steamrt soldier 0.20201124.0)gotzl@desktop:/opt/steam/steamapps/common/Assetto Corsa Competizione$ ls /run/host/usr/lib/
gconv ld-linux-x86-64.so.2 locale
because on the host, there's a symlink lib -> /usr/lib64
(note the absolut path ...), thus the runtime gets borked
(steamrt soldier 0.20201124.0)gotzl@desktop:/opt/steam/steamapps/common/Assetto Corsa Competizione$ ls -l /run/host/usr/lib
lrwxrwxrwx 1 root root 11 May 25 2015 /run/host/usr/lib -> /usr/lib64/
Now, I've changed the link to a relative path and runtime looks better
(steamrt soldier 0.20201124.0)gotzl@desktop:/opt/steam/steamapps/common/Assetto Corsa Competizione$ ls -l /overrides/lib/x86_64-linux-gnu/libLLVM-11.so
lrwxrwxrwx 1 gotzl gotzl 45 Dec 2 15:42 /overrides/lib/x86_64-linux-gnu/libLLVM-11.so -> /run/host/usr/lib/llvm/11/lib64/libLLVM-11.so
Like that, things are working with proton 5.13!
Thanks so much for the hints, it wasn't that complicated after all ;)
Out of mild curiosity, what system profile are you using? (eselect profile show
)
Jea ;) Blame on me, I did not yet switch, I'm still on default/linux/amd64/17.0/desktop/gnome/systemd
.
on the host, there's a symlink lib -> /usr/lib64 (note the absolut path ...)
Ideally pressure-vessel would be able to deal with this. I think I've fixed something similar in Flatpak in the past, but the code that pressure-vessel uses to set up /run/host
is not identical (that's mostly technical debt at this point, we should converge on the fixed version from Flatpak).
However, I'm told this layout is officially unsupported by Gentoo (since https://www.gentoo.org/support/news-items/2019-06-05-amd64-17-1-profiles-are-now-stable.html), so this is not a high priority to fix unless other distributions are found to behave similarly.
System Information
Symptoms
Games don't start, they show
When selecting proton 5.0-10, everything works fine. Native games also just work...
This points into the direction of the soldier runtime, and in fact, in the system information report one can see, that neither vulkan nor opengl seems functional there. I'm quite new to the whole amdgpu thing and maybe I've misconfigured s.t., but the fact that native games and proton 5.0-10 work seems to indicate that the general system configuration is fine. So, I think that it must have s.t. todo with the RX 6800. Is there s.t. that has to be included into the runtime to support the new cards?
EDIT: Just saw, that in the soldier section of the
system information report
, the/usr/lib64/dri/radeonsi_dri.so
is not listed in thedri_drivers
section. So, the question seems to be, why it is not picked up there?(I don't believe it's duplicate of ValveSoftware/Proton#4288, since that issue was caused by a conflicting
libdrm
) (Btw, thanks so much for all this work to support linux!!)