ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.26k stars 175 forks source link

Xlib: extension "NV-GLX" missing on display ":0.0" on Ubuntu 16.04 (stuck loading "https://store.steampowered.com") #6468

Open lestephane opened 5 years ago

lestephane commented 5 years ago

Your system information

$ inxi -b
System:    Host: scrubbed Kernel: 4.15.0-58-generic x86_64 (64 bit) Desktop: Xfce 4.12.3
           Distro: Ubuntu 16.04 xenial
CPU:       Quad core Intel Core i7-7700HQ (-HT-MCP-) speed/max: 1556/3800 MHz
Graphics:  Card-1: Intel HD Graphics 630
           Card-2: NVIDIA GP107M [GeForce GTX 1050 Mobile]
           Display Server: X.Org 1.19.6 drivers: (unloaded: fbdev,vesa) Resolution: 1920x1080@59.93hz
           GLX Renderer: Mesa DRI Intel HD Graphics 630 (Kaby Lake GT2) GLX Version: 3.0 Mesa 18.0.5
...

$ primusrun inxi -b 
System:    Host: scrubbed Kernel: 4.15.0-58-generic x86_64 (64 bit) Desktop: Xfce 4.12.3
           Distro: Ubuntu 16.04 xenial
CPU:       Quad core Intel Core i7-7700HQ (-HT-MCP-) speed/max: 1643/3800 MHz
Graphics:  Card-1: Intel HD Graphics 630
           Card-2: NVIDIA GP107M [GeForce GTX 1050 Mobile]
           Display Server: X.Org 1.19.6 drivers: (unloaded: fbdev,vesa) Resolution: 1920x1080@59.93hz
           GLX Renderer: GeForce GTX 1050/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 384.130
...

Please describe your issue in as much detail as possible:

When i start the steam client, it stays stuck loading the store (black window), same for the News pop-up.

image

Since the regular steam client did not offer much in the way of logging to standard output, I installed the beta client (which exhibits the same problem), and got the output below. This makes no sense to me as I made sure glxinfo, glxspheres (with and without primusrun) is working!

$ steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
STEAM_RUNTIME_HEAVY: ./steam-runtime-heavy
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  89
  Current serial number in output stream:  90
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
CApplicationManagerPopulateThread took 0 milliseconds to initialize (will have waited on CAppInfoCacheReadFromDiskThread)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
CAppInfoCacheReadFromDiskThread took 30 milliseconds to initialize
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)
Installing breakpad exception handler for appid(steam)/version(1566431379)

** (steam:26116): WARNING **: Unknown device type 16

** (steam:26116): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/5: unknown object type

** (steam:26116): WARNING **: handle_property_changed: failed to update property 'devices' of object type NMActiveConnection.

** (steam:26116): WARNING **: Unknown device type 13

** (steam:26116): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/4: unknown object type

** (steam:26116): WARNING **: handle_property_changed: failed to update property 'devices' of object type NMActiveConnection.

** (steam:26116): WARNING **: Unknown device type 14

** (steam:26116): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/0: unknown object type

** (steam:26116): WARNING **: Unknown device type 14

** (steam:26116): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/2: unknown object type

** (steam:26116): WARNING **: Unknown device type 14

** (steam:26116): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/3: unknown object type

** (steam:26116): WARNING **: Unknown device type 13

** (steam:26116): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/4: unknown object type

** (steam:26116): WARNING **: Unknown device type 16

** (steam:26116): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/5: unknown object type
Installing breakpad exception handler for appid(steam)/version(1566431379)
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  89
  Current serial number in output stream:  90
Installing breakpad exception handler for appid(steam)/version(1566431379)
Opted-in Controller Mask for AppId 0: 0

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'hidden'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'interface-name'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'dns-priority'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'dns-priority'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Unknown setting 'bridge'

** (steam:26116): WARNING **: replace_settings: error updating connection /org/freedesktop/NetworkManager/Settings/15 settings: (3) type

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'autoconnect-priority'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'route-data'

** (steam:26116): WARNING **: Ignoring invalid property 'address-data'

** (steam:26116): WARNING **: Ignoring invalid property 'interface-name'

** (steam:26116): WARNING **: Ignoring invalid property 'secondaries'

** (steam:26116): WARNING **: Unknown setting 'tun'

** (steam:26116): WARNING **: Unknown setting 'bridge-port'

** (steam:26116): WARNING **: replace_settings: error updating connection /org/freedesktop/NetworkManager/Settings/16 settings: (3) type

(steam:26116): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init()

(steam:26116): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

(steam:26116): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Adwaita/gtk-2.0/gtkrc:1163: error: unexpected identifier 'direction', expected character '}'
[2019-08-24 12:36:44] Startup - updater built Aug 21 2019 21:56:17
[2019-08-24 12:36:44] Opted in to client beta 'publicbeta' via beta file
You are in the 'publicbeta' client beta.
[2019-08-24 12:36:44] Verifying installation...
[2019-08-24 12:36:44] Verification complete
registry.cpp (255) : Assertion Failed: On-disk registry has changed and is marked dirty - we're about to lose data.
registry.cpp (255) : Assertion Failed: On-disk registry has changed and is marked dirty - we're about to lose data.
Installing breakpad exception handler for appid(steam)/version(1566431379)
crash_20190824123646_22.dmp[26171]: Uploading dump (out-of-process)
/tmp/dumps/crash_20190824123646_22.dmp
Xlib:  extension "NV-GLX" missing on display ":0.0".
Fatal : VkResult is "ERROR_INITIALIZATION_FAILED" in /home/pgriffais/src/Vulkan/base/vulkanexamplebase.cpp at line 823
vulkandriverquery: /home/pgriffais/src/Vulkan/base/vulkanexamplebase.cpp:823: void VulkanExampleBase::initVulkan(): Assertion `res == VK_SUCCESS' failed.
Aborted
Installing breakpad exception handler for appid(steam)/version(1566431379)
roaming config store loaded successfully - 5310 bytes.
migrating temporary roaming config store
Failed to init SteamVR because it isn't installed
ExecCommandLine: "'/home/lestephane/.steam/ubuntu12_32/steam'"
System startup time: 4.39 seconds
crash_20190824123646_22.dmp[26171]: Finished uploading minidump (out-of-process): success = yes
crash_20190824123646_22.dmp[26171]: response: CrashID=bp-c9dddfb3-4c92-4fe3-839b-b550b2190824
crash_20190824123646_22.dmp[26171]: file ''/tmp/dumps/crash_20190824123646_22.dmp'', upload yes: ''CrashID=bp-c9dddfb3-4c92-4fe3-839b-b550b2190824''
Installing breakpad exception handler for appid(steam)/version(1566431379)
STEAM_RUNTIME_HEAVY: ./steam-runtime-heavy
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  89
  Current serial number in output stream:  90
STEAM_RUNTIME_HEAVY: ./steam-runtime-heavy
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  89
  Current serial number in output stream:  90
Exiting workitem thread
[2019-08-24 12:37:11] Shutdown

Steps for reproducing this issue:

This is an approximation, as setting up nvidia drivers is always a pain in the ass when using bumblebee.

kisak-valve commented 5 years ago

Hello @lestephane, Xlib: extension "NV-GLX" missing on display ":0.0". in your log hints that Steam might be trying to use nVidia's libGL.so with the Intel chip, which is incompatible and Ubuntu 16.04 predates general distro usage of libglvnd to sort that out for you.

I suspect that the nVidia driver install in xenial-updates is glvnd-enabled while the mesa build is not (https://bugs.launchpad.net/xenial-backports/+bug/1777944) which leads to this issue.

lestephane commented 5 years ago

Thanks for the feedback, @kisak-valve, never heard of libglvnd, which sounds cool. Compiling and installing libglvnd would be the recommended workaround for now, correct? Or is there something more drastic required (like upgrading to 18.04)?

kisak-valve commented 5 years ago

Unfortunately, I don't have a suitable optimus laptop in my test box collection to give a recommendation.

lestephane commented 5 years ago

ok, I'll try and report

ghost commented 5 years ago

On a side note, since you have Optimus, you can try the Optimus pain in the butt stuff on regular Linux OS's or you can try an OS that works better with that like Pop OS https://www.reddit.com/r/pop_os/comments/achbud/hows_nvidia_optimus_doing_these_days/

You do have choices. Some choices are just better. That's something for you to think about and determine what you need or feel is better.

lestephane commented 5 years ago

So, after

the error about the missing "NV-GLX" extension is now gone. Yay.

I'm also able to launch games if I use primusrun (vblank_mode=0 primusrun %command%).

That will keep me going until I upgrade to 18.04.

No luck with intel graphics.

As for the embedded browser window (and news popup), it remains completely empty, stuck loading.

But I don't care about that as long as I can play games.

I've indicated all the steps I went through it case it helps other ubuntu 16.04 users.

Don't know enough to tell whether the browser problem is a separate issue. System out only contains repeated occurrences of

STEAM_RUNTIME_HEAVY: ./steam-runtime-heavy

and one

Fatal : VkResult is "ERROR_INITIALIZATION_FAILED" in /home/pgriffais/src/Vulkan/base/vulkanexamplebase.cpp at line 823

nothing else.

I also checked dmesg output for the same log entries as in #6481, but nothing conspicuous.

Edit 2019-09-08: I since have found out that I had an ordering problem in ld.so.conf.d. Once I made sure that libGLdispatch.so.0.0.0 is first loaded from the top-level /usr/lib and /usr/lib32 (provided by ubuntu 18.04's libglvnd0, for which I downloaded the .deb file, and ran dpkg -i), the browser also works.

$ ldconfig -p | grep libGLdispatch
    libGLdispatch.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0  <<<<
    libGLdispatch.so.0 (libc6,x86-64) => /usr/lib/nvidia-418/libGLdispatch.so.0
    libGLdispatch.so.0 (libc6) => /usr/lib/i386-linux-gnu/libGLdispatch.so.0                   <<<<
    libGLdispatch.so.0 (libc6) => /usr/lib32/nvidia-418/libGLdispatch.so.0

if I haven't had any other issue in the next few reboots, I'll close the issue.

lestephane commented 5 years ago

I'm still getting intermittent issues after rebooting:

So my intermittent issues seem related to the installation of new kernel images. From looking at it all of yesterday, my current understanding is that the two following extra steps may be required everytime the kernel gets upgraded (at least for my etckeeper protected machine).

sudo dpkg-reconfigure bbswitch-dkms nvidia-418 # replace with your nvidia-{version}
sudo update-initramfs -k all -u # technically, -k all is optional if you only want to update for the current kernel

I had assumed that these steps are run correctly automatically upon apt upgrade, but since I use etckeeper, apt upgrades may be interrupted when there are modified / untracked files in /etc, probably causing relevant apt hooks not to be invoked as they should. And I want to keep using etckeeper.

So I've added these steps to my troubleshooting checklist, and will close after a few more kernel upgrades have gone smoothly.