Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: lib32-llvm-libs update messed with Steam (Read 1331 times) previous topic - next topic
0 Members and 4 Guests are viewing this topic.

lib32-llvm-libs update messed with Steam

Hello, I did an upgrade today, apparently lib32-llvm-libs 14.0.6-1 got pulled from lib32-gremlins into main lib32, problem is that it seems to miss or not provide libLLVM-13.so, which Steam looks for and cannot find (?)

libGL error: MESA-LOADER: failed to open radeonsi: libLLVM-13.so: cannot open shared object file: No such file or directory (search paths /usr/lib32/dri, suffix _dri)

Haven't looked more into this, would a downgrade of the package be suggested or we wait for steam-runtime to be fixed?

Re: lib32-llvm-libs update messed with Steam

Reply #1
Hello, I did an upgrade today, apparently lib32-llvm-libs 14.0.6-1 got pulled from lib32-gremlins into main lib32, problem is that it seems to miss or not provide libLLVM-13.so, which Steam looks for and cannot find (?)

libGL error: MESA-LOADER: failed to open radeonsi: libLLVM-13.so: cannot open shared object file: No such file or directory (search paths /usr/lib32/dri, suffix _dri)

Haven't looked more into this, would a downgrade of the package be suggested or we wait for steam-runtime to be fixed?
similar to yours

Code: [Select]
libGL error: MESA-LOADER: failed to open iris: libLLVM-13.so: cannot open shared object file: No such file or directory (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open iris: libLLVM-13.so: cannot open shared object file: No such file or directory (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: libLLVM-13.so: cannot open shared object file: No such file or directory (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: swrast
Steam: An X Error occurred



found this on the internet

https://github.com/ValveSoftware/steam-for-linux/issues/8667

Quote
libLLVM-14.so is a dependency of your video driver, not Steam itself, and Steam doesn't care what release branch of llvm is used. It just cares that it's given a sane, working render path. Something in your OpenGL render stack is built against libLLVM-13.so, which is why it's needed at runtime.

Can you share the output of ldd /usr/lib32/dri/radeonsi_dri.so?

Quote
prinzhoefte commented 4 hours ago
Here you go:

justin@artixpc ~> ldd /usr/lib32/dri/radeonsi_dri.so

        libglapi.so.0 => /usr/lib32/libglapi.so.0 (0xf7ec2000)
        libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf7ea9000)
        libLLVM-13.so => /usr/lib32/libLLVM-13.so (0xef200000)
        libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf7e79000)
        libz.so.1 => /usr/lib32/libz.so.1 (0xf7e60000)
        libzstd.so.1 => /usr/lib32/libzstd.so.1 (0xef15e000)
        libsensors.so.5 => /usr/lib32/libsensors.so.5 (0xf7e4f000)
        libdrm_radeon.so.1 => /usr/lib32/libdrm_radeon.so.1 (0xf7e3f000)
        libelf.so.1 => /usr/lib32/libelf.so.1 (0xf63e1000)
        libdrm_amdgpu.so.1 => /usr/lib32/libdrm_amdgpu.so.1 (0xf7e32000)
        libdrm_nouveau.so.2 => /usr/lib32/libdrm_nouveau.so.2 (0xf63d6000)
        libvulkan.so.1 => /usr/lib32/libvulkan.so.1 (0xef0dd000)
        libxcb-dri3.so.0 => /usr/lib32/libxcb-dri3.so.0 (0xf63cf000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xeee00000)
        libm.so.6 => /usr/lib32/libm.so.6 (0xeed2f000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xef0b8000)
        libc.so.6 => /usr/lib32/libc.so.6 (0xeea00000)
        /usr/lib/ld-linux.so.2 (0xf7f25000)
        libffi.so.8 => /usr/lib32/libffi.so.8 (0xf63c4000)
        libdl.so.2 => /usr/lib32/libdl.so.2 (0xf63bf000)
        libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf63ba000)
        libncursesw.so.6 => /usr/lib32/libncursesw.so.6 (0xef051000)
        libxml2.so.2 => /usr/lib32/libxml2.so.2 (0xee876000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xeed03000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf63b5000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xef049000)
        libicuuc.so.71 => /usr/lib32/libicuuc.so.71 (0xee600000)
        liblzma.so.5 => /usr/lib32/liblzma.so.5 (0xeecd5000)
        libicudata.so.71 => /usr/lib32/libicudata.so.71 (0xec800000)
[/quote
Quote

Thanks, the libLLVM-13.so => /usr/lib32/libLLVM-13.so (0xef200000) line there confirms what I was writing. This is a system issue, update your system, and if that doesn't change afterwards, then report this issue to your package maintainer for mesa.

Closing as not a Steam issue.

compared to my issue

Quote
i7-7700:[catherdersoflinux]:~/Desktop$  ldd /usr/lib32/dri/swrast_dri.so
   linux-gate.so.1 (0xf7fad000)
   libglapi.so.0 => /usr/lib32/libglapi.so.0 (0xf7f5d000)
   libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf7f44000)
   libLLVM-13.so => not found
   libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf7f14000)
   libz.so.1 => /usr/lib32/libz.so.1 (0xf7efb000)
   libzstd.so.1 => /usr/lib32/libzstd.so.1 (0xf7e4a000)
   libsensors.so.5 => /usr/lib32/libsensors.so.5 (0xf7e39000)
   libdrm_radeon.so.1 => /usr/lib32/libdrm_radeon.so.1 (0xf63f0000)
   libelf.so.1 => /usr/lib32/libelf.so.1 (0xf63d1000)
   libdrm_amdgpu.so.1 => /usr/lib32/libdrm_amdgpu.so.1 (0xf63c4000)
   libdrm_nouveau.so.2 => /usr/lib32/libdrm_nouveau.so.2 (0xf7e2c000)
   libvulkan.so.1 => /usr/lib32/libvulkan.so.1 (0xf6343000)
   libxcb-dri3.so.0 => /usr/lib32/libxcb-dri3.so.0 (0xf633c000)
   libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf6000000)
   libm.so.6 => /usr/lib32/libm.so.6 (0xf626b000)
   libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf6246000)
   libc.so.6 => /usr/lib32/libc.so.6 (0xf5c00000)
   /usr/lib/ld-linux.so.2 (0xf7faf000)
   libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf6241000)
   libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf5fd4000)
   libXau.so.6 => /usr/lib32/libXau.so.6 (0xf623a000)
   libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf5fcc000)
i7-7700:[catherdersoflinux]:~/Desktop$  ldd /usr/lib32/dri/iris_dri.so
   linux-gate.so.1 (0xf7f75000)
   libglapi.so.0 => /usr/lib32/libglapi.so.0 (0xf7f25000)
   libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf7f0c000)
   libLLVM-13.so => not found
   libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf7edc000)
   libz.so.1 => /usr/lib32/libz.so.1 (0xf7ec3000)
   libzstd.so.1 => /usr/lib32/libzstd.so.1 (0xf634f000)
   libsensors.so.5 => /usr/lib32/libsensors.so.5 (0xf7eb2000)
   libdrm_radeon.so.1 => /usr/lib32/libdrm_radeon.so.1 (0xf7ea2000)
   libelf.so.1 => /usr/lib32/libelf.so.1 (0xf7e83000)
   libdrm_amdgpu.so.1 => /usr/lib32/libdrm_amdgpu.so.1 (0xf7e74000)
   libdrm_nouveau.so.2 => /usr/lib32/libdrm_nouveau.so.2 (0xf7e69000)
   libvulkan.so.1 => /usr/lib32/libvulkan.so.1 (0xf62ce000)
   libxcb-dri3.so.0 => /usr/lib32/libxcb-dri3.so.0 (0xf7e62000)
   libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf6000000)
   libm.so.6 => /usr/lib32/libm.so.6 (0xf5f2f000)
   libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7e3d000)
   libc.so.6 => /usr/lib32/libc.so.6 (0xf5c00000)
   /usr/lib/ld-linux.so.2 (0xf7f77000)
   libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf7e38000)
   libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf62a2000)
   libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7e31000)
   libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf629a000)

on mine it's not even found

i downgraded mesa and lib32-mesa.  no avail.  upgraded mesa and lib32-mesa and all seems fine again.  weird.
Cat Herders of Linux

Re: lib32-llvm-libs update messed with Steam

Reply #2
Haven't looked more into this, would a downgrade of the package be suggested or we wait for steam-runtime to be fixed?

Downgrade to lib32-llvm-libs 13.0.1-1 with aur/downgrade

Re: lib32-llvm-libs update messed with Steam

Reply #3
Downgrade to lib32-llvm-libs 13.0.1-1 with aur/downgrade


i tried that.  didn't work for me.  if it works for you, very well then.

i used aur/downgrade to downgrade then upgrade mesa and lib32-mesa, now i have this and i wonder where i pulled them from... i don't have gremlins installed

Quote
warning: lib32-mesa: local (22.1.3-1) is newer than lib32 (22.1.2-1)
warning: mesa: local (22.1.3-1) is newer than world (22.1.2-3)


Quote
i7-7700:[catherdersoflinux]:~/Desktop$ sudo pacman -Si mesa lib32-mesa
Repository      : world
Name            : mesa
Version         : 22.1.2-3
Description     : An open-source implementation of the OpenGL specification
Architecture    : x86_64
URL             : https://www.mesa3d.org/
Licenses        : custom
Groups          : None
Provides        : mesa-libgl  opengl-driver
Depends On      : libdrm  wayland  libxxf86vm  libxdamage  libxshmfence  libelf
                  libomxil-bellagio  libunwind  llvm-libs  lm_sensors  libglvnd
                  zstd  vulkan-icd-loader  libsensors.so=5-64  libexpat.so=1-64
                  libvulkan.so=1-64
Optional Deps   : opengl-man-pages: for the OpenGL API man pages
                  mesa-vdpau: for accelerated video playback
                  libva-mesa-driver: for accelerated video playback
Conflicts With  : mesa-libgl
Replaces        : mesa-libgl
Download Size   : 12.60 MiB
Installed Size  : 72.33 MiB
Packager        : Artix Build Bot <[email protected]>
Build Date      : Sat 25 Jun 2022 09:06:49 PM EDT
Validated By    : MD5 Sum  SHA-256 Sum  Signature

Repository      : extra
Name            : mesa
Version         : 22.1.3-1
Description     : An open-source implementation of the OpenGL specification
Architecture    : x86_64
URL             : https://www.mesa3d.org/
Licenses        : custom
Groups          : None
Provides        : mesa-libgl  opengl-driver
Depends On      : libdrm  wayland  libxxf86vm  libxdamage  libxshmfence  libelf
                  libomxil-bellagio  libunwind  llvm-libs  lm_sensors  libglvnd
                  zstd  vulkan-icd-loader  libsensors.so=5-64  libexpat.so=1-64
                  libvulkan.so=1-64
Optional Deps   : opengl-man-pages: for the OpenGL API man pages
                  mesa-vdpau: for accelerated video playback
                  libva-mesa-driver: for accelerated video playback
Conflicts With  : mesa-libgl
Replaces        : mesa-libgl
Download Size   : 12.62 MiB
Installed Size  : 72.32 MiB
Packager        : Laurent Carlier <[email protected]>
Build Date      : Sun 03 Jul 2022 06:07:53 AM EDT
Validated By    : MD5 Sum  SHA-256 Sum  Signature

Repository      : lib32
Name            : lib32-mesa
Version         : 22.1.2-1
Description     : An open-source implementation of the OpenGL specification
                  (32-bit)
Architecture    : x86_64
URL             : https://www.mesa3d.org/
Licenses        : custom
Groups          : None
Provides        : lib32-mesa-libgl  lib32-opengl-driver
Depends On      : lib32-libdrm  lib32-wayland  lib32-libxxf86vm
                  lib32-libxdamage  lib32-libxshmfence  lib32-libelf
                  lib32-libunwind  lib32-llvm-libs  lib32-lm_sensors
                  lib32-libglvnd  lib32-zstd  lib32-vulkan-icd-loader  mesa
                  libsensors.so=5-32
Optional Deps   : opengl-man-pages: for the OpenGL API man pages
                  lib32-mesa-vdpau: for accelerated video playback
                  lib32-libva-mesa-driver: for accelerated video playback
Conflicts With  : lib32-mesa-libgl
Replaces        : lib32-mesa-libgl
Download Size   : 11.16 MiB
Installed Size  : 62.36 MiB
Packager        : Artix Build Bot <[email protected]>
Build Date      : Thu 16 Jun 2022 09:09:16 PM EDT
Validated By    : MD5 Sum  SHA-256 Sum  Signature

Repository      : multilib
Name            : lib32-mesa
Version         : 22.1.3-1
Description     : An open-source implementation of the OpenGL specification
                  (32-bit)
Architecture    : x86_64
URL             : https://www.mesa3d.org/
Licenses        : custom
Groups          : None
Provides        : lib32-mesa-libgl  lib32-opengl-driver
Depends On      : lib32-libdrm  lib32-wayland  lib32-libxxf86vm
                  lib32-libxdamage  lib32-libxshmfence  lib32-libelf
                  lib32-libunwind  lib32-llvm-libs  lib32-lm_sensors
                  lib32-libglvnd  lib32-zstd  lib32-vulkan-icd-loader  mesa
                  libsensors.so=5-32
Optional Deps   : opengl-man-pages: for the OpenGL API man pages
                  lib32-mesa-vdpau: for accelerated video playback
                  lib32-libva-mesa-driver: for accelerated video playback
Conflicts With  : lib32-mesa-libgl
Replaces        : lib32-mesa-libgl
Download Size   : 11.16 MiB
Installed Size  : 62.36 MiB
Packager        : Laurent Carlier <[email protected]>
Build Date      : Sun 03 Jul 2022 06:22:15 AM EDT
Validated By    : MD5 Sum  SHA-256 Sum  Signature


looks like during the upgrade i did with downgrade i pulled in mesa and lib32-mesa from arch
Cat Herders of Linux

Re: lib32-llvm-libs update messed with Steam

Reply #4
Yep, that did the trick for me too. Installed extra/mesa and multilib/lib32-mesa from arch repos, Steam starts right up! Thanks for the in depth look at the problem.


/// offtopic
At first i tried to uncomment the gremlins repository to see if that fixes anything, big mistake, the dkms package is currently broken in arch linux downstream and screws the kernel https://github.com/dell/dkms/issues/229
will be fixed by them in a few days presumably

Re: lib32-llvm-libs update messed with Steam

Reply #5
Yep, that did the trick for me too. Installed extra/mesa and multilib/lib32-mesa from arch repos, Steam starts right up! Thanks for the in depth look at the problem


/// offtopic
At first i tried to uncomment the gremlins repository to see if that fixes anything, big mistake, the dkms package is currently broken in arch linux downstream and screws the kernel https://github.com/dell/dkms/issues/229
will be fixed by them in a few days presumably
Glad to be good for something...  In depth look might not be quite right as i bumble through it like the pink panther.  {Kato you fool!}  Peter Sellers worthy performance might be pushing it but you get the idea.

OI! I hope it didn't mess you up too bad your dkms and your kernel.  So that post asking if dkms is broken is true then?  it really is broken?  whodathunkit?
Cat Herders of Linux

Re: lib32-llvm-libs update messed with Steam

Reply #6
Hello, I did an upgrade today, apparently lib32-llvm-libs 14.0.6-1 got pulled from lib32-gremlins into main lib32, problem is that it seems to miss or not provide libLLVM-13.so, which Steam looks for and cannot find (?)

libGL error: MESA-LOADER: failed to open radeonsi: libLLVM-13.so: cannot open shared object file: No such file or directory (search paths /usr/lib32/dri, suffix _dri)

Haven't looked more into this, would a downgrade of the package be suggested or we wait for steam-runtime to be fixed?
The short version of what's happened:

The MESA software stack, which is an open implementation of Vulkan, OpenGL, etc, is built using LLVM.

LLVM (more specificially, the libraries) just got updated to version 14.x

When MESA is built, it's not actually given access to the LLVM libraries until run time (dynamic linking) rather it is essentially told "You need these LLVM libraries, you are being built for Linux, on Linux they are stored at location x".

That location specifically looks for the version it was told to (13.x in this case).

Since the LLVM libraries have been updated and Arch-based distroes don't ship multiply different version of libraries (with some very rare exceptions) it can't find what is looking for and throws the error that you reported.

The easiest solution is to just wait until the lastest MESA stuff is packaged (since it'll be built against the new libraries) and then upgrade your system.

You can attempt to downgrade in the meantime, but depending on what other stuff you have installed it may or may not break other stuff (and still not work anyway).

It is quite annoying that this happens and as I understand it the aim to try and big updates like this during "downtime" but sometimes you get the short end of the stick (I know I had to do work yesterday instead of playing games I Steam.), however it is the only real negative of an Arch-based distro I've encountered and is pretty minor in the grand scheme.

Re: lib32-llvm-libs update messed with Steam

Reply #7
The easiest solution is to just wait until the lastest MESA stuff is packaged (since it'll be built against the new libraries) and then upgrade your system.

You can attempt to downgrade in the meantime, but depending on what other stuff you have installed it may or may not break other stuff (and still not work anyway).
Using the nvidia blob so I don't think this affects me ?
But another option could be to download the package build files for each affected package and build and install them locally on your PC already which has the new llvm.
You can find the files here with a search

Re: lib32-llvm-libs update messed with Steam

Reply #8
OI! I hope it didn't mess you up too bad your dkms and your kernel.  So that post asking if dkms is broken is true then?  it really is broken?  whodathunkit?
hehe, not exactly broken but they somehow mistook the command name for the signer from other distro
i just downgraded the kernel back to get the same initramfs, when dkms gets an update i'll update the kernel after it and should be fine
Yes. Replacing sha512 for sha512sum should fix it.
dkms is just verifying the integrity of the keys and it's certificate before signing it.