protonscr

Steam won't launch on Debian testing

steamclosed AMD driversDistro Family: Debian
ValveSoftware/steam-for-linux#8660 · opened 2022-06-29 by Vitix1 · updated 2023-01-20 · 20 comments · github
VVitix1 2022-06-29 github

Your system information

  • Steam client version (build number or date): 1654574690
  • Distribution (e.g. Ubuntu): Debian testing (amd64)
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Steam stopped working on my system. This might be caused by recent system update, apt history: https://gist.github.com/Vitix1/844778fdef4906b7515a6c181f4d4a91.
I tried reinstalling steam, I uninstalled it with apt autoremove steam-*, deleted folders ~/.steam, ~/.local/share/Steam and installed official steam-latest.deb package.
When i run steam with STEAM-RUNTIME=0 it launches, but crashes on login.
Console output when running steam: https://gist.github.com/Vitix1/1c67a91072307ca2478bddf51aeb44ac
Console output when running STEAM_RUNTIME=0 steam: https://gist.github.com/Vitix1/d92e365530effe02097fdd21045f184d
System info: https://gist.github.com/Vitix1/9e7450152d252f8a02c0e133e98ba647

Steps for reproducing this issue:

  1. Install Debian testing (amd64)
  2. Install Steam
  3. Run Steam
Kkisak-valve maintainer 2022-06-29 github

Hello @Vitix1, can you check if any 32 bit OpenGL application like glxinfo.i386-linux-gnu from mesa-utils-bin:i386 works?

libGL error: MESA-LOADER: failed to open radeonsi: /usr/lib/dri/radeonsi_dri.so: cannot open shared object file: No such file or directory in your terminal spew reads like mesa/radeonsi is broken or incomplete.

VVitix1 2022-06-29 github

Hello, here is the output from glxinfo.i386-linux-gnu: https://gist.github.com/Vitix1/79c4551dd6291247a8a533cef867a646
I also tested 32bit glxgears which works ok.

Ccr1ogen 2022-06-30 github

The problem is related to some i386 packages in the Debian repositories that are not yet up to date with the amd64 packages, which allow Steam to work.

This is the output when trying to boot steam for the first time, after installing the deb package.
/home/cr1ogen/.local/share/Steam/steam.sh: línea 124: VERSION_ID: variable sin asignar
Package libegl1:i386 needs to be installed
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1:i386 needs to be installed
Package steam-libs-i386:i386 needs to be installed
/home/cr1ogen/.local/share/Steam/steam.sh: línea 124: VERSION_ID: variable sin asignar
steam.sh[7486]: Running Steam on debian  64-bit
/home/cr1ogen/.local/share/Steam/steam.sh: línea 124: VERSION_ID: variable sin asignar
steam.sh[7486]: STEAM_RUNTIME is enabled automatically
setup.sh[8129]: Steam runtime environment up-to-date!
steam.sh[7486]: Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
steam.sh[7486]: Steam client's requirements are satisfied
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
[2022-06-29 22:15:31] Startup - updater built Jun  7 2022 03:18:19
Installing breakpad exception handler for appid(steam)/version(1654574690)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2022-06-29 22:15:32] Loading cached metrics from disk (/home/cr1ogen/.local/share/Steam/package/steam_client_metrics.bin)
[2022-06-29 22:15:32] Using the following download hosts for Public, Realm steamglobal
[2022-06-29 22:15:32] 1. https://cdn.akamai.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2022-06-29 22:15:32] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2022-06-29 22:15:32] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
Installing breakpad exception handler for appid(steam)/version(1654574690)
[2022-06-29 22:15:32] Checking for update on startup
[2022-06-29 22:15:32] Checking for available updates...
[2022-06-29 22:15:32] Downloading manifest: https://cdn.akamai.steamstatic.com/client/steam_client_ubuntu12
[2022-06-29 22:15:32] Manifest download: send request
Installing breakpad exception handler for appid(steam)/version(1654574690)
[2022-06-29 22:15:32] Manifest download: waiting for download to finish
[2022-06-29 22:15:32] Manifest download: finished
[2022-06-29 22:15:32] Download skipped: /client/steam_client_ubuntu12 version 1654574690, installed version 1654574690, existing pending version 0
[2022-06-29 22:15:32] Nothing to do
[2022-06-29 22:15:32] Verifying installation...
[2022-06-29 22:15:32] Performing checksum verification of executable files
[2022-06-29 22:15:37] Verification complete
Failed to load steamui.so - dlerror(): libGL.so.1: wrong ELF class: ELFCLASS64
[2022-06-29 22:15:43] Shutdown
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Kkisak-valve maintainer 2022-06-30 github

Hello @cr1ogen, exactly which packages are you referring to? https://packages.debian.org/sid/libgl1-mesa-dri looks consistent across arches.

Ccr1ogen 2022-06-30 github

Hello @cr1ogen, exactly which packages are you referring to? https://packages.debian.org/sid/libgl1-mesa-dri looks consistent across arches.

Hi @kisak-valve , This is the console output.

The following packages have unmet dependencies:
  libgl1-mesa-dri:i386 : Depends: libllvm14:i386 but will not install
E: Problems could not be corrected, you have held broken packages
Ccr1ogen 2022-06-30 github

libgl1-mesa-dri:i386 needs libllvm14:i386 version 1:14.0.6-1 but the i386 version that is in the Debian repositories is the 1:14.0.5-1.
Sorry if you don't understand much but I'm using the translator

Kkisak-valve maintainer 2022-06-30 github

Thanks, llvm 14.0.5 also had unstable llvm build tests on i386 failing out debian-based builds (https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-14&arch=i386&ver=1%3A14.0.6-1&stamp=1656298705&raw=0)

Ssmcv 2022-06-30 github

The problem is related to some i386 packages in the Debian repositories that are not yet up to date with the amd64 packages

This is a problem with Debian unstable (sid), not a problem with Steam. Steam requires working 32-bit graphics drivers, and Debian unstable does not always have working 32-bit graphics drivers.

The versions of mesa and llvm-toolchain-14 in Debian testing (bookworm) should always work correctly together.

The versions of mesa and llvm-toolchain-14 in Debian unstable (sid) are sometimes broken. unstable is a development branch that does not always work correctly.

If you install these packages from Debian testing (bookworm):

  • libgl1-mesa-dri:amd64 22.0.5-1
  • libgl1-mesa-dri:i386 22.0.5-1
  • libllvm14:amd64 1:14.0.5-1
  • libllvm14:i386 1:14.0.5-1

then those should work correctly together.

Ssmcv 2022-06-30 github

When i run steam with STEAM-RUNTIME=0 it launches, but crashes on login

This is not supported. Steam requires some libraries from the Steam Runtime which might be newer than the versions on the host system, in particular Vulkan-Loader.

Ssmcv 2022-06-30 github

@Vitix1, please try this:

$ ~/.steam/root/ubuntu12_32/steam-runtime/setup.sh
$ ~/.steam/root/ubuntu12_32/steam-runtime/run.sh -- steam-runtime-system-info --verbose > srsi.log

and then attach srsi.log to this issue report.

This is similar to the information you'd normally see in Steam's Help -> System Information - usually I'd ask you to use the GUI, but if Steam won't start, then obviously you can't do that.

I can launch Steam successfully on a Debian testing/unstable system (mostly unstable, but with libllvm14 held back to the version from testing due to the version skew described above), but I probably have more optional packages installed than you do.

VVitix1 2022-06-30 github

Here is the srsi.log: https://gist.github.com/Vitix1/a9ee0dd07784481fb275c1ce171b5b18

The versions of mesa and llvm-toolchain-14 in Debian testing (bookworm) should always work correctly together.

I'm using testing(bookworm) repository only, except Microsoft and Steam repository.
Thank you all for trying to help.

Kkisak-valve maintainer 2022-06-30 github

Thanks @Vitix1, libGL: MESA-LOADER: failed to open /usr/lib/i386-linux-gnu/dri/radeonsi_dri.so: /home/vitix/.steam/root/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libgcc_s.so.1: version `GCC_7.0.0' not found (required by /usr/lib/i386-linux-gnu/dri/radeonsi_dri.so) is the more valuable line of feedback from the extended diagnostics information

Kkisak-valve maintainer 2022-06-30 github

Just for a sanity check, can you share the output of apt policy libgcc-s1 libgcc-s1:i386?

VVitix1 2022-06-30 github

Sure, here it is:

vitix@vitix-pc:~$ apt policy libgcc-s1 libgcc-s1:i386
libgcc-s1:
  Installed: 12.1.0-2
  Candidate: 12.1.0-2
  Version table:
 *** 12.1.0-2 100
        100 /var/lib/dpkg/status
libgcc-s1:i386:
  Installed: 12.1.0-2
  Candidate: 12.1.0-2
  Version table:
 *** 12.1.0-2 100
        100 /var/lib/dpkg/status
Ssmcv 2022-06-30 github

Something has gone wrong here, because we're loading the Steam Runtime's (ancient) i386 libgcc_s.so.1:

        "libgcc_s.so.1" : {
          "soname" : "libgcc_s.so.1",
          "path" : "/home/vitix/.steam/root/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libgcc_s.so.1"
        },

The Steam Runtime is meant to prioritize your system copy of libgcc_s.so.1 higher than the Runtime's.

It doesn't appear in pinned_libs_32 in the report, so it's not the pinning logic going wrong.

It looks like 32-bit libraries have disappeared from the LD_LIBRARY_PATH. The LD_LIBRARY_PATH from your steam-runtime-system-info report, with some line breaks for clarity:

    "LD_LIBRARY_PATH=
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/pinned_libs_32:
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/pinned_libs_64:
/usr/lib/x86_64-linux-gnu/pipewire-0.3/jack:
/lib/x86_64-linux-gnu:
/lib:
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/lib:
/home/vitix/.steam/root/ubuntu12_32/steam-runtime/usr/lib",

This probably means we aren't seeing the i386 library directories in /sbin/ldconfig -XNv output, but only /usr/lib/x86_64-linux-gnu/pipewire-0.3/jack, /lib/x86_64-linux-gnu and /lib.

Do the i386 library directories like /lib/i386-linux-gnu appear in the output of /sbin/ldconfig -XNv?

Has /etc/ld.so.conf.d/i386-linux-gnu.conf perhaps been lost or deleted? Here's what it should normally contain on a Debian system that has libc6:i386:

# Multiarch support
/usr/local/lib/i386-linux-gnu
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu
/usr/local/lib/i686-linux-gnu
/lib/i686-linux-gnu
/usr/lib/i686-linux-gnu
VVitix1 2022-06-30 github

Has /etc/ld.so.conf.d/i386-linux-gnu.conf perhaps been lost or deleted?

Yes, on my system, folder /etc/ld.so.conf.d/ contained only pipewire-jack-x86_64-linux-gnu.conf, I don't have a clue why i386-linux-gnu.conf was missing, but I created new file with contents you mentioned above and now Steam launches ok.
Thank you so much for helping me.

Ssmcv 2022-07-02 github

on my system, folder /etc/ld.so.conf.d/ contained only pipewire-jack-x86_64-linux-gnu.conf

FYI, you're missing other files in that directory which might cause similar problems later: you should have at least /etc/ld.so.conf.d/libc.conf from libc-bin, /etc/ld.so.conf.d/i386-linux-gnu.conf from libc6:i386, and /etc/ld.so.conf.d/x86_64-linux-gnu.conf from libc6:amd64.

Aamuuth 2023-01-20 github

hi @smcv, I am running a fairly fresh copy of Debian bookworm, and also cannot install steam! Please advise, thanks!!

aku@desktop:/etc/ld.so.conf.d$ apt policy libgcc-s1 libgcc-s1:i386
libgcc-s1:
  Installed: 12.2.0-13
  Candidate: 12.2.0-13
  Version table:
 *** 12.2.0-13 500
        500 http://deb.debian.org/debian testing/main amd64 Packages
        100 /var/lib/dpkg/status
libgcc-s1:i386:
  Installed: (none)
  Candidate: 12.2.0-14
  Version table:
     12.2.0-14 500
        500 http://deb.debian.org/debian testing/main i386 Packages

I have created the i386-linux-gnu.conf file you mentioned above.

Aamuuth 2023-01-20 github

Installing libgcc-s1:i386 doesn't work, even when using dpkg:

aku@desktop:~/Downloads$ sudo dpkg -i libgcc-s1_12.2.0-14_i386.deb 
Selecting previously unselected package libgcc-s1:i386.
(Reading database ... 347211 files and directories currently installed.)
Preparing to unpack libgcc-s1_12.2.0-14_i386.deb ...
De-configuring libgcc-s1:amd64 (12.2.0-13), to allow configuration of libgcc-s1:i386 (12.2.0-14) ...
Unpacking libgcc-s1:i386 (12.2.0-14) ...
dpkg: error processing package libgcc-s1:i386 (--install):
 package libgcc-s1:i386 12.2.0-14 cannot be configured because libgcc-s1:amd64 is at a different version (12.2.0-13)
dpkg: error processing package libgcc-s1:amd64 (--install):
 package libgcc-s1:amd64 12.2.0-13 cannot be configured because libgcc-s1:i386 is at a different version (12.2.0-14)
Processing triggers for libc-bin (2.36-8) ...
Errors were encountered while processing:
 libgcc-s1:i386
 libgcc-s1:amd64
Ssmcv 2023-01-20 github

@amuuth: the versions of libgcc-s1:amd64 and libgcc-s1:i386 available on your Debian mirror are out of sync. This is a Debian infrastructure problem, not a Steam problem.

Versions going out of sync should never happen in testing (only in unstable/experimental), but apparently something has gone wrong with the mirror/CDN mechanism: https://tracker.debian.org/pkg/gcc-12 says the version of libgcc-s1 in testing should be 12.2.0-14 as of today, but you are getting a slightly outdated version 12.2.0-13 for amd64.

There isn't really any reliable solution for this, other than waiting for them to be back in sync. It might be possible to work around this by temporarily adding an alternative Debian mirror from https://www.debian.org/mirror/list in addition to deb.debian.org, so that apt has more options that it can try.

Nothing extracted yet.