Nvidia driver - VNC and GLX Issue

Hello,

I am trying to get glxgears/glxinfo working from a remote vnc session but it seems to be failing with the following error:

$ glxinfo
name of display: :2.0
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Error: couldn’t find RGB GLX visual or fbconfig

Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.
Xlib: extension “GLX” missing on display “:2.0”.

less /var/log/Xorg.2.log | grep gl

[ 68.529] (II) LoadModule: “glx”
[ 68.531] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[ 68.571] (II) Module glx: vendor=“NVIDIA Corporation”

lspci -k | grep -iEA5 ‘3d|vga’

06:00.0 VGA compatible controller: NVIDIA Corporation GF119 [NVS 310] (rev a1)
Subsystem: Hewlett-Packard Company Device 1154
Kernel driver in use: nvidia
Kernel modules: nvidia-drm, nvidia, nouveau, nvidiafb
06:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1)
Subsystem: Hewlett-Packard Company Device 1154

cat /etc/X11/xorg.conf

nvidia-xconfig: X configuration file generated by nvidia-xconfig

nvidia-xconfig: version 390.25 (buildmeister@swio-display-x86-rhel47-03) Wed Jan 24 20:46:04 PST 2018

Section “ServerLayout”
Identifier “Layout0”
Screen 0 “Screen0”
InputDevice “Keyboard0” “CoreKeyboard”
InputDevice “Mouse0” “CorePointer”
EndSection

Section “Files”
FontPath “/usr/share/fonts/default/Type1”
EndSection

Section “InputDevice”

generated from default

Identifier “Mouse0”
Driver “mouse”
Option “Protocol” “auto”
Option “Device” “/dev/input/mice”
Option “Emulate3Buttons” “no”
Option “ZAxisMapping” “4 5”
EndSection

Section “InputDevice”

generated from data in “/etc/sysconfig/keyboard”

Identifier “Keyboard0”
Driver “kbd”
Option “XkbLayout” “us”
Option “XkbModel” “pc105”
EndSection

Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “Unknown”
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option “DPMS”
EndSection

Section “Device”
Identifier “Device0”
Driver “nvidia”
VendorName “NVIDIA Corporation”
EndSection

Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Depth 24
EndSubSection
EndSection

Am I missing something here? Any help would be greatly appreciated!

Thanks,
-J

nvidia-bug-report.log.gz (243 KB)

Use x11vnc to connect to a real running X server. I suspect you’re using xvnc, which is not glx capable?

No using tigervnc is not the issue here. I am able to use tigervnc on another system that does not have nvidia gpu and glxgears works fine on it. This looks like something that is happening since nvidia also installs glx libraries which might be causing this behavior.

-J

Please run nvidia-bug-report.sh as root and attach the resulting tar.gz file to your post. Hovering the mouse over an existing post will reveal a paperclip icon.

I asked Aaron about this several years ago: his answer was this configuration is not supported.

Ether you have GLX or (Tight)VNC - you cannot have both. I don’t remember what the reasoning was.

I have uploaded the nvidia bug report to my original post. Also, I am using tigervnc and glxgears works fine on a similar system without any nvidia drivers. However, on this system where I have a nvidia gpu and the nvidia drivers installed it gives me that error in my original post.

Thanks.
-J

According to the logs, there’s only an Xserver at :0, the logs for :2 are from febuary. Wrong DISPLAY set? Everything else is running fine.

I stopped my vncserver session which is probably why you don’t see it there anymore. When I started vncserver at :2, I was able to connect to it without any issues.

-J

As birdie said, vncserver doesn’t support glx. You’ll have to either use x11vnc+ real X session or vncserver+VirtualGL.

I am able to use tigervnc on another system without any nvidia gpu and am able to run glxgears without any issues. On this system with nvidia gpu + drivers it is not working. It is a simple task that works on all other CentOS/RHEL 6 systems but not the ones with nvidia gpu’s.

-J

Or do you want to use software glx on the vncserver? That might be a bit fiddly when the main Xserver user nvidia gl.

I am just trying to get glxgears for the user working on a vncserver session that seems to work fine on nodes without any nvidia gpu’s.

-J

Ok, now I get what you want but like said, difficult to accomplish. You could start binaries prepending LD_LIBRARY_PATH with /usr/lib64/tigervnc or similar, awkward. Better use VirtualGL in those cases. A bit more complicated to set up but fixes that reliably.

That was true several years ago. :)

These days, this is the kind of configuration that libglvnd helps with. I see from the installer that it installed the glvnd version of the OpenGL libraries, but it’s possible that the version of Mesa on CentOS 6.9 is just too old to support libglvnd. If you need to have the NVIDIA GLX driver for real X servers and the Mesa software one for VNC simultaneously, I would recommend upgrading to a distribution that has Mesa + libglvnd support.