NVIDIA Graphics setup issues. OpenGL not enabled

I have come back to Linux after a longish absence. OpenSUSE 13.2 installed without difficulty apart from struggling to get the graphics drivers installed properly (I assume). OpenGL is not enabled. For old times sake my children, now young adults, insisted that I load Tux racer. This will not run as a consequence of the above OpenGL issue as far as I can tell. Scrutinising multiple forum pages has not helped me. Possible relevant information follows. Help please!:’(

uname -a
Linux office-suse 3.16.7-24-desktop #1 SMP PREEMPT Mon Aug 3 14:37:06 UTC 2015 (ec183cc) x86_64 x86_64 x86_64 GNU/Linux

/sbin/lspci -nnk | grep ‘[03’ -A2
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 modules: i915

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] [10de:1380] (rev a2)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:3681]
Kernel driver in use: nvidia

nvidia-settings
Xlib: extension “GLX” missing on display “:0”.
Xlib: extension “GLX” missing on display “:0”.
[VS] Software VDPAU backend library initialized
Xlib: extension “GLX” missing on display “:0”.
[VS] error (glx_ctx_ref_glc_hash_table): glXChooseVisual failed

zypper se -is nvidia
Loading repository data…
Reading installed packages…

S | Name | Type | Version | Arch | Repository
–±------------------------------±--------±----------------------±-------±-----------------------
i | nvidia-computeG04 | package | 352.41-16.1 | x86_64 | nVidia Graphics Drivers
i | nvidia-gfxG04-kmp-desktop | package | 352.21_k3.16.6_2-14.1 | x86_64 | (System Packages)
i | nvidia-gfxG04-kmp-desktop | package | 352.41_k3.16.6_2-16.1 | x86_64 | nVidia Graphics Drivers
i | nvidia-glG04 | package | 352.41-16.1 | x86_64 | nVidia Graphics Drivers
i | nvidia-uvm-gfxG04-kmp-desktop | package | 352.41_k3.16.6_2-16.1 | x86_64 | nVidia Graphics Drivers
i | x11-video-nvidiaG04 | package | 352.41-16.1 | x86_64 | nVidia Graphics Drivers

This seems to be a so-called “Optimus” system, i.e. hybrid intel and nvidia graphics.
And the GUI probably runs on the intel chip, installing nvidia breaks intel’s OpenGL.
The standard nvidia driver doesn’t support this.

So uninstall the 5 nvidia packages, and OpenGL should work again.
If you want to use the nvidia driver, you have to install bumblebee and bumblebee-nvidia instead:
https://en.opensuse.org/SDB:NVIDIA_Bumblebee

I had assumed that the Intel controller was the motherboard graphics that are, hopefully not in use, rather than the nvidia graphics card which the monitors are plugged into. Can you confirm that the solution involves scrubbing the five nvidia driver packages please.

Well, I have no idea what particular hardware you have.
If it’s a desktop system with a dedicated graphics card, it’s definitely not Optimus and the nvidia driver should work.

Can you please post your /var/log/Xorg.0.log?
That should give more information.

PS: Your output from nvidia-settings does indicate another problem too: broken VDPAU
That’s a known problem when having libvdpau_va_gl1 installed, so uninstall that (probably lock it so it doesn’t get reinstalled automatically).
libvdpau_va_gl1 is only intended for intel systems to be able to use VDPAU there (intel only supports VA-API), and it breaks nvidia’s VDPAU in particular.

If a Desktop and there by not Optimus you should tune the Intel GPU off in the BIOS should be an option somewhere. If this is a notebook then it is probably optimus and you must uninstall the 5 NVIDIA packages and install the Bumblebee package following the instructions Wolfi posted the URL to exactly. Optimus is a special hardware configuration and must be treated different.

Xorg.0.log is posted to SUSE Paste

Ok, the nvidia driver is loaded and working, the problem is this:

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

You are using the Xorg libglx which should have been replaced by nvidia’s own implementation.
Normally this should only happen if you didn’t install the nvidia-glG0X package.
You have it installed, so something seems to have gone wrong when setting the symlink…
Run this to fix it:

sudo update-alternatives --set libglx.so /usr/lib64/xorg/modules/extensions/nvidia/nvidia-libglx.so

Also you should have a file /etc/ld.so.conf.d/nvidia-gfxG04.conf with exactly the following content:

/usr/X11R6/lib64
/usr/X11R6/lib

If it’s not there or differs, please create/modify it accordingly.

A side-note: you don’t need “nomodeset” and “nouveau.modeset=0” at the kernel command line, one is enough. And actually with the nvidia RPM packages you don’t need either, as nouveau is blacklisted by the packages anyway.

Thank you so much. This has done the trick.