nVidia drivers broken - wrong glx?

Hi,

For the past 24 hours my machine has been incredibly laggy in games, Gnome Shell has been idling at 75-100% CPU in top, and XOrg was regularly jumping to 75%. After a bit of reinstalling of recent packages, I tried looking at the XOrg logs to see if they said anything (because previous Gnome Shell lag has been compositing issues/not redirecting) and I found:

   483.295] (II) LoadModule: "glx"
   483.295] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
   483.296] (II) Module glx: vendor="X.Org Foundation"
   483.296]    compiled for 1.18.3, module version = 1.0.0
   483.296]    ABI class: X.Org Server Extension, version 9.0
…
   483.348] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
   483.348] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
   483.348] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
   483.348] (EE) NVIDIA(0):     you continue to encounter problems, Please try
   483.348] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.

Now, I re-installed the nVidia driver last night, and it didn’t make a difference. Checking the module, it is a symlink to /etc/alternatives, which was set to the standard xorg-libglx.so. That doesn’t seem right.

Is this a package issue, or is there something wrong with my system?

I’m about to try manually setting the “alternatives” to be the nVidia module listed under “alternatives --list libglx.so” and hopefully that’ll fix it, but it’d be good if it didn’t happen again after my next update!

Thanks.

Okay, /etc/alternatives isn’t the answer - that just gives me a “Ooops” logout page at the GDM (even after a reboot).

I do not understand why you post this in the Dutch section of the forums. Will be moved to Install/Boot/Login of the English forums and is CLOSED for the moment.

Moved from Nederlands and open gain.

Sorry - I search “nvidia” to see where people posted driver questions to, saw a thread title (that possibly was in Dutch, now I think) and click the “Hardware” category next to it in the search results. It must have been a Dutch sub-category and I didn’t notice.

I’ve now tried uninstalling nVidia, rebooting, installing nVidia, rebooting and that hasn’t fixed it - I’m back to the /etc/alternatives pointing to the XOrg version of GLX, and XOrg/nVidia complaining that it didn’t get the right GLX.

Switching back to the older 4.4.73 kernel (rather than .74) doesn’t seem to have helped either, so that makes it seem like it is the latest nVidia driver build?

Basic:
Which openSUSE Version?
Which Desktop?

Which Nvidia Driver:

zypper se -si nvidia kernel

Which Graphic-Card:

/sbin/lspci -nnk | grep -EiA3 'vga|3d|display'

Which openSUSE? Leap 42.2 - in the title tag thing :wink:
Which desktop? Gnome 3 (Gnome Shell is maxing out my cores!)
Kernel: 4.4.73 and .74 (mentioned in my last post - I was on .74, tried .73 in case it changed anything, but it didn’t)
Driver:


i+ | nvidia-computeG04         | package | 375.66-33.1           | x86_64 | nVidia Graphics Drivers
i  | nvidia-gfxG04-kmp-default | package | 375.66_k4.4.27_2-33.1 | x86_64 | nVidia Graphics Drivers
i  | nvidia-glG04              | package | 375.66-33.1           | x86_64 | nVidia Graphics Drivers
i  | x11-video-nvidiaG04       | package | 375.66-33.1           | x86_64 | nVidia Graphics Drivers

Graphics card:

00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
    Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
    Kernel driver in use: i915
    Kernel modules: i915
--
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1c82] (rev a1)
    Subsystem: Gigabyte Technology Co., Ltd Device [1458:372a]
    Kernel driver in use: nvidia
    Kernel modules: nouveau, nvidia_drm, nvidia


Which is a) not helpful (I’ve got a 1050ti, but it doesn’t say that) and b) wrong (I’ve got Core i5 4570, not a Xeon!)

Which is a) not helpful (I’ve got a 1050ti, but it doesn’t say that)

NVIDIA Corporation Device 10de:1c82] (rev a1)

Search…

Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)

Has nothing to do with your Processor…

You have switched off the Intel in UEFI/Bios?

I hadn’t switched off the Intel graphics before, but I have now. No change in behaviour (except that I don’t see the Xeon section in lspci output).

Post on a pasteserver:

cat /var/log/Xorg.0.log

Latest XOrg.log (libglx pointing to the Xorg version - I can log in, but Gnome Shell/Xorg are chewing the CPU)

http://susepaste.org/35079796

.xsession-errors-:0.log from a previous login when I set /etc/alternatives/libglx.so to “auto” (nvidia) and switched to lightdm and got the Gnome “Ooops” screen after logging in (rather than at the GDM before login)

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  31
  Current serial number in output stream:  34
gnome-session-check-accelerated: Helper exited with code 256
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  20
  Current serial number in output stream:  23
gnome-session-check-accelerated: Helper exited with code 256
gnome-session-binary[3069]: WARNING: software acceleration check failed: Child process exited with code 1

(gnome-session-failed:3330): Gtk-WARNING **: Allocating size to GtkBox 0x2484270 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(gnome-session-failed:3330): Gtk-WARNING **: Allocating size to GtkBox 0x2484270 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

** (gnome-session-quit:3426): WARNING **: Failed to call logout: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files


[Edit] And here’s an Xorg log from when I get an “Ooops” from the GDM, because I’ve set /etc/alternatives/libglx.so to “auto” (nVidia):

http://susepaste.org/32286683

And recent entries from “journalctl -u display-manager”:

Jul 15 13:12:10 ankhmorpork.home.ibboard.co.uk systemd[1]: Started X Display Manager.
Jul 15 13:12:11 ankhmorpork.home.ibboard.co.uk display-manager[5666]: Failed to give slave programs access to the display. Trying to proceed.
Jul 15 13:12:11 ankhmorpork.home.ibboard.co.uk gdm-launch-environment][5750]: pam_unix(gdm-launch-environment:session): session opened for user gdm by (unknown)(uid=0)
Jul 15 13:12:24 ankhmorpork.home.ibboard.co.uk display-manager[5666]: GLib: Source ID 72 was not found when attempting to remove it
Jul 15 13:12:25 ankhmorpork.home.ibboard.co.uk display-manager[5666]: Failed to give slave programs access to the display. Trying to proceed.
Jul 15 13:12:25 ankhmorpork.home.ibboard.co.uk gdm-launch-environment][6232]: pam_unix(gdm-launch-environment:session): session opened for user gdm by (unknown)(uid=0)
Jul 15 13:12:39 ankhmorpork.home.ibboard.co.uk gdm-password][6604]: pam_unix(gdm-password:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=ibboard
Jul 15 13:12:44 ankhmorpork.home.ibboard.co.uk gdm-password][6913]: pam_unix(gdm-password:session): session opened for user ibboard by (unknown)(uid=0)
Jul 15 13:24:56 ankhmorpork.home.ibboard.co.uk display-manager[5666]: GLib: Source ID 45 was not found when attempting to remove it
Jul 15 13:24:57 ankhmorpork.home.ibboard.co.uk display-manager[5666]: Failed to give slave programs access to the display. Trying to proceed.
Jul 15 13:24:58 ankhmorpork.home.ibboard.co.uk gdm-launch-environment][6688]: pam_unix(gdm-launch-environment:session): session opened for user gdm by ibboard(uid=0)
Jul 15 13:25:17 ankhmorpork.home.ibboard.co.uk display-manager[5666]: GLib: Source ID 72 was not found when attempting to remove it
Jul 15 13:25:17 ankhmorpork.home.ibboard.co.uk display-manager[5666]: Child process -6691 was already dead.
Jul 15 13:25:18 ankhmorpork.home.ibboard.co.uk display-manager[5666]: Failed to give slave programs access to the display. Trying to proceed.
Jul 15 13:25:18 ankhmorpork.home.ibboard.co.uk gdm-launch-environment][7749]: pam_unix(gdm-launch-environment:session): session opened for user gdm by (unknown)(uid=0)
Jul 15 13:25:48 ankhmorpork.home.ibboard.co.uk display-manager[5666]: GLib: Source ID 72 was not found when attempting to remove it
Jul 15 13:25:49 ankhmorpork.home.ibboard.co.uk display-manager[5666]: Failed to give slave programs access to the display. Trying to proceed.
Jul 15 13:25:50 ankhmorpork.home.ibboard.co.uk gdm-launch-environment][9167]: pam_unix(gdm-launch-environment:session): session opened for user gdm by (unknown)(uid=0)
Jul 15 13:25:56 ankhmorpork.home.ibboard.co.uk gdm-password][9454]: pam_unix(gdm-password:session): session opened for user ibboard by (unknown)(uid=0)

And in case it is useful, here’s the updates I installed over the last couple of days. Everything was fine on the 12th, broken on the 14th.

(Grep of “install|remove” in /var/log/zypp/history)

http://susepaste.org/59049174

This is your Problem

  9566.480] (II) LoadModule: "glx"
  9566.480] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
  9566.481] (II) Module glx: vendor="X.Org Foundation"
  9566.481]    compiled for 1.18.3, module version = 1.0.0
  9566.481]    ABI class: X.Org Server Extension, version 9.0

Here is mine:

12.236] (II) LoadModule: "glx"
    12.237] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
    12.324] (II) Module glx: vendor="NVIDIA Corporation"
    12.324]    compiled for 4.0.2, module version = 1.0.0
    12.324]    Module class: X.Org Server Extension
    12.324] (II) NVIDIA GLX Module  384.47  Sun Jun 25 00:20:20 PDT 2017
    12.325] (II) Applying OutputClass "nvidia" to /dev/dri/card0
    12.325]    loading driver: nvidia

Do you update the nvidia-glG04?

zypper in -f nvidia-glG04

After your last Nvidia Installation you got an Xorg Update…

Yes, I did get an Xorg update as well, but it was broken before I installed that update and the update didn’t break/fix anything.

I’d already identified the wrong GLX version as the problem at the start of the thread, but I couldn’t (and still can’t) work out a) why /etc/alternatives wasn’t using the nVidia version by default, even after uninstalling and re-installing the module (and several reboots) and b) why I was getting an “Oooops” from Gnome Shell when I set it to use the nVidia version.

I think I’ve found a fix now, but not a solution.

If I edit /etc/ld.so.conf.d/nvidia-gfxG04.conf and uncomment the two lines, then run “ldconfig”, then glxgears etc run successfully and Gnome Shell no longer takes up lots of CPU.

That file is apparently provided by nvidia-glG04-375.66-33.1.x86_64, which implies that something might have changed that breaks a standard setup?