protonscr

Feature request: Add stdout message on failure to initialize opengl

steamopen Feature RequestNVIDIA driversSteam client
ValveSoftware/steam-for-linux#5366 · opened 2018-02-03 by comotion · updated 2021-06-13 · 8 comments · github
Ccomotion 2018-02-03 github

Your system information

  • Steam client version (build number or date): ?
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Steam worked fine two days ago. Now I have:

$ steam
Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Installing breakpad exception handler for appid(steam)/version(1513371133)

Apart from the distro and timing, the symptoms are similar to #5091

An update (either in the distro or in steam) must have broken something.
Strace of the steam process reveals it is stuck blocking on a futex.

Running steam -textclient reveals a (perhaps unrelated) problem with steamconsole.so:

Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Installing breakpad exception handler for appid(steam)/version(1513371133)
Installing breakpad exception handler for appid(steam)/version(1513371133)
Installing breakpad exception handler for appid(steam)/version(1513371133)
Failed to load steamconsole.so - dlerror(): steamconsole.so: cannot open shared object file: No such file or directory
Installing breakpad exception handler for appid(steam)/version(1513371133)
Installing breakpad exception handler for appid(steam)/version(1513371133)
[2018-02-03 13:53:54] Startup - updater built Dec 15 2017 11:47:44
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2018-02-03 13:53:54] Checking for update on startup
[2018-02-03 13:53:54] Checking for available updates...
[  0%] Checking for available updates...
[2018-02-03 13:53:54] Download skipped: /client/steam_client_ubuntu12 version 1513371133, installed version 1513371133
[2018-02-03 13:53:54] Nothing to do
[2018-02-03 13:53:54] Verifying installation...
[----] Verifying installation...
[2018-02-03 13:53:54] Performing checksum verification of executable files
[2018-02-03 13:53:58] Verification complete
[----] !!! Fatal Error: Failed to load steamconsole.so
[2018-02-03 13:53:58] Shutdown

Removed the .local/share/Steam directory and re-ran textclient - steam updates itself, then

[2018-02-03 13:56:38] Cleaning up...
[----] Cleaning up...
[2018-02-03 13:56:38] Update complete, launching Steam...
[----] Update complete, launching Steam...
[2018-02-03 13:56:38] Shutdown
Restarting Steam by request...
Running Steam on arch rolling 64-bit
STEAM_RUNTIME has been set by the user to: /home/comotion/.local/share/Steam/ubuntu12_32/steam-runtime
Pins up-to-date!
Installing breakpad exception handler for appid(steam)/version(1513371133)
Installing breakpad exception handler for appid(steam)/version(1513371133)
Failed to load steamconsole.so - dlerror(): steamconsole.so: cannot open shared object file: No such file or directory
[2018-02-03 13:56:41] Startup - updater built Dec 15 2017 11:47:44
[2018-02-03 13:56:41] Verifying installation...
[----] Verifying installation...
[2018-02-03 13:56:41] Verification complete
[----] !!! Fatal Error: Failed to load steamconsole.so
[2018-02-03 13:56:41] Shutdown

Though I suppose a missing steamconsole.so only affects -textclient.

Steps for reproducing this issue:

  1. run steam
  2. No windows are opened, and the process idles.
Ccheddar-cheeze 2018-02-03 github

im also expirencing this issue as well

Kkisak-valve maintainer 2018-02-03 github

Hello @comotion, @cheddar-cheeze,

Are both of you using the nvidia proprietary driver and done a recent pacman update?

https://www.archlinux.org/packages/?sort=&q=nvidia indicates that your distro's package maintainer for nVidia has bumped the 64 bit driver to 390.25, while lib32-nvidia-utils is 387.34.

nVidia's driver rejects opengl applications if the userspace driver version does not match the running kernel module version in order to avoid chaos. ~Report this issue to your distro's package maintainer if it has not been already.~

EDIT: I've misread the separation between the Extra and Testing repos. Please confirm that nvidia-dkms, nvidia-utils, and lib32-nvidia-utils have the same version and running kernel version matches those as well.

Ccheddar-cheeze 2018-02-03 github

yes i recently updated all my packages and i am using the proprietary, friend just helped me and yes the utils was the issue all that was needed to fix was to downgrade

Mmellowagain 2018-02-03 github

@kisak-valve The distro maintainer for Arch Linux nVIDIA drivers updated the drivers for both nvidia and lib32-nvidia-utils in the testing repositories (nvidia in testing, lib32-nvidia-utils in multilib-testing). Please edit your message so they no longer report it to the package maintainer. Seems like the two people have testing repositories enabled but the multilib testing repositories not (or the other way around).

Ccomotion 2018-02-03 github

Sure enough,

~]$ pacman -Qi lib32-nvidia-utils | head -n 2
Name            : lib32-nvidia-utils
Version         : 390.25-1
~]$ pacman -Qi nvidia-dkms | head -n 2
Name            : nvidia-dkms
Version         : 387.34-21

thanks for the very timely hints!
To complicate the fix, after removing multilib-testing from pacman.conf I had to
IGNORE_CC_MISMATCH pacman -S nvidia-dkms
because the gcc version has changed from the one used to compile the current kernel, aborting the nvidia dkms build.

@kisak-valve, would it make sense to have some error messages or debug output in the steam client to aid user discoverability of this and similar problems?

Kkisak-valve maintainer 2018-02-03 github

Since I'm not seeing an existing feature request in a quick search, let's turn this issue report into the request.

Perhaps the message should read along the lines of:
OpenGL context creation failed. Please check your video driver.

Ccomotion 2018-02-04 github

If the nvidia drivers fail to init, just dumping the nvidia message would be a better clue to a user debugging their system than masking it behind a steam specific one. Dumping the error would work for any system error encountered.

Mmemory-thrasher 2021-06-13 github

I agree with comotion. If I got the error "please check your video driver" my check would only go as deep as running nvidia-smi to confirm the driver is running, and maybe even running a benchmark to confirm that it is working. Neither would tell me that the issue was with loading a driver interface library. In my case the library did not load because it did not exist in the correct bittedness, even though the driver was running correctly. In this (2 year old?) case it sounds like the versions of the driver and interface lib were mismatched.

Of course, if valve wants to do things the linux way, they would compile and release a 64-bit steam that could interface with the whole system of 64-bit libraries. Most 32-bit code compiles just fine as x64.

Nothing extracted yet.