Steam (Native) Missing 32-bit Libraries

Hi, openSuse Community!

Introduction
I’m trying to run ALVR + Steam(Native) on my OpenSUSE Tumbleweed Workstation.
Modern desktop games run without issues except for 32-bit games like SteamVR Home and 1998’s Half-Life, which displays the “Could not load library” error dialog.
image

Main Issue
Following the guide at openSuse Steam, I noticed that the 32-bit libraries are missing for this fresh install and can’t be found with yast/zipper and/or are not included when installing steam from the game:tools repo.

Missing Libraries:

$ cd ~/.local/share/Steam/ubuntu12_32; command=LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ldd $(file *|sed '/ELF/!d;s/:.*//g')|grep 'not found'|sort|uniq;
        libavcodec.so.58 => not found
        libavformat.so.58 => not found
        libavresample.so.4 => not found
        libavutil.so.56 => not found
        libdav1d.so.6 => not found
        libSDL3.so.0 => not found
        libswscale.so.5 => not found
        libtier0_s.so => not found
        libvideo.so => not found
        libvpx.so.6 => not found
        libvstdlib_s.so => not found

Now, when doing an rpm -qa | grep followed by rpm -ql for each one of the missing libraries, it appended with a build number:

$ rpm -qa | grep libavcodec
libavcodec58_134-4.4.4-1699.18.pm.5.x86_64
libavcodec60-6.1.1-1699.7.pm.6.x86_64
libavcodec58_134-32bit-4.4.4-1699.18.pm.5.x86_64
libavcodec61-7.0-1699.2.pm.3.x86_64
$ rpm -ql libavcodec58_134-32bit-4.4.4-1699.18.pm.5.x86_64
/usr/lib/libavcodec.so.58.134
/usr/lib/libavcodec.so.58.134.100

I’m worried that symlinking these while removing the build number at the end will make the problem worse.
I hope someone can facilitate a better solution to this problem for Steam(Native) since ALVR needs access to a non-sandbox version of Steam to be able to access SteamVR resources.

Goal
The goal is for Steam Home and other Steam apps to work on Steam (Native) with their 32-bit dependencies.

Specs
The workstation is a new, fresh installation (5/21/2024) of an offline DVD from the official OpenSUSE https mirror.
OS: openSUSE Tumbleweed
KERNEL: 6.9.1-1-default
CPU: Intel Core i9-9900K @ 3.60GHz
GPU: AMD Radeon RX 7800 XT (radeonsi, navi32, LLVM 18.1.5, DRM 3.57, 6.9.1-1-default)
GPU DRIVER: 4.6 Mesa 24.0.7RAM: 32 GB

The problem is that these old games require outdated libraries that are no longer available in Tumbleweed, e.g.
libdav1d.so.6 is outdated and Tumbleweed already provides libdav1d.so.7 via libdav1d7-32bit/libdav1d

You need to find out what library Steam is complaining about.

I get the exact same output from your command, and yet
~/.local/share/Steam/ubuntu12_32> ls -al libSDL3.so.0 -rwxr-xr-x. 1 user user 2547348 May 17 17:52 libSDL3.so.0

The same goes for each of the other libraries which makes complete sense as .local/share/Steam/ubuntu12_32 is steam managed compatability; Half-Life runs fine.

You might need to install some 32bit libraries, but that ldd command isn’t going to tell you which ones. This is what I install for my desktop (obviously not all of them are gaming)
- opi
- steam
- bottles
- lutris
- firefox
- gamescope
- input-remapper
- wine
- wine-32bit
- winetricks
- wine-mono
- dxvk
- dxvk-32bit
- gamemode
- libgamemodeauto0
- libgamemodeauto0-32bit
- libcap-progs

If there was one I would expect to be the problem, it’s dxvk-32bit

After further investigation of native vs. runtime vs. flatpack and my use case with VR, I decided to stay native and ended up copying the libraries in that path, and the error has gone away.

I’ll keep testing for a few days and will report if anything else breaks. Copied with the -b flag to create a ~ flag in case it needs to be reverted back.

sudo cp -b libavcodec.so.58 libavformat.so.58 libavresample.so.4 libavutil.so.56 libdav1d.so.6 libSDL3.so.0 libswscale.so.5 libvpx.so.6 /lib/

Working
ALVR Audio Routing is working correctly with Pipewire, Projection, etc.

Broken
The only thing broken for now is navigating the game library via the SteamVR app or SteamHome.
Selecting to browse the Library from inside Steam Home causes Big Picture to launch on the desktop.

Games Tested Working
Half-Life: Alyx
Star Wars Squadron
Moss
Subnautica

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.