protonscr

libGL.so.1 was missing after upgrade

steamclosed Distro Family: Debian
ValveSoftware/steam-for-linux#7445 · opened 2020-11-03 by ycharbi · updated 2020-11-03 · 6 comments · github
Yycharbi 2020-11-03 github
  • Steam client version (build number or date): 1603487799 du 01/11/2020
  • Distribution (e.g. Ubuntu): Debian Sid
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes (This is the cause)

I specify that I solved my problem and I mail you the solution (I was redirected by your support) because it is obviously a developer's problem

Following an update of the Steam Linux client on a GNU/Debian Sid (November 1st, 2020), a command prompt opened to ask for the installation of the two packages libgl1-mesa-dri:i386 and libgl1:i386 (which is based on the assumption that sudo is functional on my system, which is not the case on Debian by default). Once this is done, the client downloads an update of a little less than 200 MB and ends in error at launch time after applying it. Cause invoked: "You are missing the following 32-bit libraries, and Steam may not run:libGL.so.1". Moreover, in the stout output of the program the following message is displayed: "ERROR: ld.so: object 'libGL.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored". So Steam can't find the libGL.so.1 library in 32bits and falls back to 64bits (which is incompatible and therefore ignored).

With time we get used to this famous library (by the way, it might be time to finish with 32bits, guys...). You just have to make a symbolic link to the right file (which is indeed present on the system but Steam has to look for it in the wrong place... hence the developer problem expressed above): ln -s /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.7.0 /usr/lib/i386-linux-gnu/libGL.so.1.

Problem solved. If you could patch this on your side so that non-admin Linux users can still enjoy their games it would be cool.

Have a nice day.

Kkisak-valve maintainer 2020-11-03 github

Hello @ycharbi, this sounds like a system config issue and not the correct solution as well. The issue here is that no system package was providing /usr/lib/i386-linux-gnu/libGL.so.1 and it's definitely listed as coming from libgl1:i386 for your system.

Additionally, it's very odd that this issue would appear on a Steam client update because Steam itself should not be capable of altering /usr/lib. Altering /usr/lib/i386-linux-gnu would require root access and Steam itself should never be run as root. Either this is a new install which didn't have 32 bit OpenGL setup before or libGLVND didn't get setup properly by the package manager.

Perhaps something like glx-diversions is doing something odd here, but that's a package management issue, not a Steam issue.

Yycharbi 2020-11-03 github

@kisak-valve
Hi,
Thank you for your response !
I found it strange too. I'll see if this kind of thing happens during a new installation of Debian Sid on the occasion.

Thanks for your work.
Have a nice day.

Ssmcv 2020-11-03 github

by the way, it might be time to finish with 32bits

A lot of older games are 32-bit. Even if the Steam client executable was 64-bit, Steam will still need to try to make sure a 32-bit graphics stack gets installed, otherwise you'll be unable to run older games.

The Steam client executable is 32-bit partly for historical reasons (it used to support systems that were not capable of running 64-bit programs), but partly also as a way to make sure missing/broken 32-bit graphics drivers are extremely obvious.

Ssmcv 2020-11-03 github

ln -s /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.7.0 /usr/lib/i386-linux-gnu/libGL.so.1

You should not need to do this: the OS should automatically set it up. It seems like a bug in either glx-diversions or glx-alternative-mesa.

If you do not use the proprietary NVIDIA driver, then you don't need glx-diversions installed.

If you do use the proprietary NVIDIA driver, in recent versions you still shouldn't need glx-diversions installed, because Mesa and the proprietary NVIDIA driver can now coexist by using the GLVND libgl1 package.

Do you perhaps have glx-diversions or a glx-alternative-* package partially installed, or removed but not purged?

If you could patch this on your side

This is an OS-side bug, and it would be wrong to work around it in Steam. Steam requires working 32- and 64-bit graphics drivers, either Mesa or NVIDIA proprietary.

Kkisak-valve maintainer 2020-11-03 github

Thanks @smcv, closing as not-our-bug.

Yycharbi 2020-11-03 github

@smcv
Thank for yours messages.
I take note of your explanations.

Yes i have glx-diversions in my system. Il use the proprietary NVIDIA driver. Maybe is a Debian issue. I can't say if I'm the only one who has been affected by this problem).

It didn't take long to sort it out but I just wanted to go back over the incident.

Thank you for taking the time to answer me.
bye.

Nothing extracted yet.