Hello @theunkn0wn1, swrast is mesa's slower software renderer, and the fact that Steam is trying to use it hints that you're using the nVidia proprietary driver, but don't have the driver's 32 bit userspace libraries installed. The nVidia proprietary driver requires the driver's running kernel module, 32 bit userspace libraries, and 64 bit userspace libraries are installed and have exactly the same version to work properly.
The fix would be to install the libnvidia-gl-495:i386 system package, but NVIDIA's third party repository do not provide a matched version to go with the rest of the driver from their repository. That issue is being tracked at #5778 and can not be fixed by Valve. Closing as a duplicate.
@kisak-valve note the second crash does not involve swrast at all.
Also: installing the specified libnvidia-gl-495:i386 does not resolve the crash.
$ steam
steam.sh[6735]: Running Steam on ubuntu 20.04 64-bit
steam.sh[6735]: STEAM_RUNTIME is enabled automatically
setup.sh[6837]: Steam runtime environment up-to-date!
steam.sh[6735]: Steam client's requirements are satisfied
[2022-01-03 18:54:53] Startup - updater built Dec 16 2021 22:39:04
Installing breakpad exception handler for appid(steam)/version(1639697812)
SteamUpdateUI: An X Error occurred
X Error of failed request: BadValue (integer parameter out of range for operation)
For the sake of argument, please test if any 32 bit OpenGL application like glxinfo from a 32 bit build of mesa-utils works. Unfortunately, Ubuntu doesn't provide a 32 bit builds of this package on 20.04, so maybe try unpacking https://packages.ubuntu.com/bionic/i386/mesa-utils/download with an archive utility and using the utility without installing it to the system.
Also, please share the output of apt policy libnvidia-gl-495 libnvidia-gl-495:i386.
As an update, after my laptop crashed (probably from libnvidia-gl-495:i386's install without rebooting), steam successfully launched.
For the sake of argument, unp
unpacked the specified package. Both the packaged glxinfo and glxgears do run, likely because of the reboot.
~/Downloads/temp ⌚ 19:27:12
$ ./usr/bin/glxgears
8802 frames in 5.0 seconds = 1760.265 FPS
^C
~/Downloads/temp ⌚ 19:27:21
$ apt policy libnvidia-gl-495 libnvidia-gl-495:i386
libnvidia-gl-495:
Installed: (none)
Candidate: 495.29.05-0ubuntu1
Version table:
495.44-0ubuntu0.20.04.1 500
500 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu focal-security/restricted amd64 Packages
495.29.05-0ubuntu1 600
600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages
libnvidia-gl-495:i386:
Installed: 495.44-0ubuntu0.20.04.1
Candidate: 495.44-0ubuntu0.20.04.1
Version table:
*** 495.44-0ubuntu0.20.04.1 500
500 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted i386 Packages
500 http://us.archive.ubuntu.com/ubuntu focal-security/restricted i386 Packages
100 /var/lib/dpkg/status
libnvidia-gl-495: Installed: (none) tells us that the 64 bit render path now does not have NVIDIA's userspace libraries, which is also unhealthy. You want both of those packages installed, and Debian's multilib implementation requires that arch variants have exactly the same version. I'd try something like sudo apt install libnvidia-gl-495 libnvidia-gl-495:i386 which should tell apt to figure out what it needed to do to have both, and from what you shared, 495.44-0ubuntu0.20.04.1 is the only package version it can pick to make that happen.
It wouldn't be surprising if the desktop environment was using the 64 bit render path through the NVIDIA driver, and in an earlier attempt to force libnvidia-gl-495:i386 to install, you gave apt permission to uninstall the 64 bit variant. I would also check that NVIDIA's running kernel module is also 495.44 instead of 495.29.05.
$ sudo apt install libnvidia-gl-495 libnvidia-gl-495:i386
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libnvidia-gl-495:i386 is already the newest version (495.44-0ubuntu0.20.04.1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libnvidia-gl-495 : Breaks: libnvidia-gl-495:i386 (!= 495.29.05-0ubuntu1) but 495.44-0ubuntu0.20.04.1 is to be installed
libnvidia-gl-495:i386 : Breaks: libnvidia-gl-495 (!= 495.44-0ubuntu0.20.04.1) but 495.29.05-0ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
yes, i gave apt permission to uninstall the x64 bit version because it provided no choice in the matter. You are correct in this being unhealthy, as the laptop now fails to restore from hibernate.
Update:
While i could get steam to launch, even native games like factorio had horrendous framrates (that used to have good FPS), and proton games failed to launch.
it seems steam is mutually exclusive to CUDA, which is a problem since i need that for some of the workflows i use this machine for.
I ended up applying the fix described in https://github.com/ValveSoftware/steam-for-linux/issues/7477#issuecomment-758234122
now both proton games and native games launch again with acceptable performance.
Your system information
Please describe your issue in as much detail as possible:
Attempted to launch steam client via GUI, no UX appears.
Attempted to launch steam client via CLI to debug, discovered steam crashing to a segfault.
Attempted diagnostics steps from other GH issues with similar logs, ineffective.
Attempted to downgrade NVidia driver versions to 495 in case it was a driver issue, downgrade ineffective.
NVidia driver version:
Steps for reproducing this issue:
Logs:
https://gist.github.com/theunkn0wn1/b09b33b4933f901ac8a2c200fbecb63d