Clarification for "libglx.so: undefined symbol: LoadExtension"

Yesterday I dared to update the Mesa software (version 10.x) on my openSUSE system. A few X components were also updated during this installation.
Now I have got the surprise that the X server which was generated from “NVIDIA-Linux-x86_64-304.121.run” does not start. I stumble on the error message “libglx.so: undefined symbol: LoadExtension” in the file “/var/log/kdm.log”.

How should such a hiccup be resolved best?

By NOT using the nvidia driver?

It wouldn’t be the first time that it doesn’t work with the latest Xorg, especially the legacy drivers.

Does the proprietary implementation provide some run time characteristics which are more appealing than the behaviour from “Nouveau” so far?

It wouldn’t be the first time that it doesn’t work with the latest Xorg, especially the legacy drivers.

I came across an “API mismatch” before occasionally. Which shared library should provide the symbol “LoadExtension” currently?

Is there any easy way to restore the X server components to versions which are compatible with the module for my working graphic card?

Of course.
But at the moment it’s either nvidia or the latest Xorg, as the nvidia driver does not support the latest Xorg yet.

You’re not alone btw:
https://bbs.archlinux.org/viewtopic.php?pid=1401156

I came across an “API mismatch” before occasionally. Which shared library should provide the symbol “LoadExtension” currently?

libglx of course, which nvidia replaces with its own version.

If you remove nvidia’s version, the driver will not work fully. GLX is needed for 3D hardware acceleration.

Is there any easy way to restore the X server components to versions which are compatible with the module for my working graphic card?

Remove the Xorg repo and run “sudo zypper dup”.

I have deactivated it temporarily.

and run “sudo zypper dup”.

I find the suggested distribution upgrade inappropriate for my system.

I could fix my situation with a bit more fine-tuning:
I deleted a few software components in several steps before I could also deinstall the package “xorg-x11-server”. I reinstalled the package “xorg-x11-server 7.6_1.14.3.901-4.1” together with the other software components like “kdm 4.11.8-2.5”.

And why would you want to deinstall the package “xorg-x11-server”?

Just right-click on the package in YaST and choose “Update Unconditionally” to downgrade it, or use “zypper in -f xorg-x11-server”.

I wanted to see the software dependencies which would need a corresponding clean-up.

Just right-click on the package in YaST and choose “Update Unconditionally” to downgrade it, …]

By the way: This kind of click did not work in the ncurses-based YaST before I restored my graphical user interface.

You can use “View”->“Dependencies” for showing the dependencies.

By the way: This kind of click did not work in the ncurses-based YaST before I restored my graphical user interface.

Yes, there’s no right-click context menu in the ncurses version of course.
But there you can press space to unconditionally update (i.e. even downgrade) a package, it should show a “>” then as status.

I do not see that the funtionalities “downgrade” and “unconditional update” are provided as actions by the ncurses-based YaST 3.0.13-13.1.

Again, press the “space” key and the package’s installation status should change to ‘>’, which means it gets “updated” (i.e. downgraded if only a lower version is available).
Or you can press the ‘>’ as well to achieve the same. (“space” toggles between all states, whereas ‘>’ explicitely sets it to “update”)

Or you can also choose “View”->“Versions” to see a list of all available versions and be able to explicitely select which version to install.