virtualGL issue with nightly

We have been using vgl to run Slicer remotely with HW acceleration on a Linux server quite a while now. I just installed one of the nightly from 12/06 and I am getting a blank Slicer window with these errors

[maga@magalab-head ~]$ vglrun +v /home/apps/Slicer-4.11.0-2018-12-06-linux-amd64/Slicer
[VGL] NOTICE: Added /usr/lib64/VirtualGL to LD_LIBRARY_PATH
[VGL] Shared memory segment ID for vglconfig: 809205760
[VGL] VirtualGL v2.4 64-bit (Build 20150505)
[VGL] Opening connection to 3D X server :0
[VGL] Shared memory segment ID for vglconfig: 809271310
[VGL] VirtualGL v2.4 64-bit (Build 20150505)
[VGL] Opening connection to 3D X server :0
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-maga’
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
Switch to module: “Data”
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
QOpenGLWidget: Failed to create context

4.8.1 works fine with the same vgl version.

[maga@magalab-head ~]$ vglrun +v /home/apps/Slicer-4.8.1-linux-amd64/Slicer
[VGL] NOTICE: Added /usr/lib64/VirtualGL to LD_LIBRARY_PATH
[VGL] Shared memory segment ID for vglconfig: 809402427
[VGL] VirtualGL v2.4 64-bit (Build 20150505)
[VGL] Opening connection to 3D X server :0
[VGL] Shared memory segment ID for vglconfig: 809467966
[VGL] VirtualGL v2.4 64-bit (Build 20150505)
[VGL] Opening connection to 3D X server :0
Number of registered modules: 169
Number of instantiated modules: 166
[VGL] WARNING: VirtualGL attempted and failed to obtain a true color visual on
[VGL] the 3D X server :0 suitable for off-screen rendering.
[VGL] This is normal if the 3D application is probing for visuals with
[VGL] certain capabilities, but if the app fails to start, then make sure
[VGL] that the 3D X server is configured for true color and has accelerated
[VGL] 3D drivers installed.
[VGL] Using Pbuffers for rendering
[VGL] Using pixel buffer objects for readback (BGR → BGRA)
^XNumber of loaded modules: 166
Switch to module: “Data”

Any suggestions how to mitigate this issue? I should note that nightly works fine if I actually interactively login to the server through regular X-session. Running through vgl seems to cause the issue.

To run Slicer 4.9 and later, you need OpenGL 3.2.

Actually it turns out to be an issue with QT5 and openGL see https://sourceforge.net/p/virtualgl/mailman/message/32659289/

Updating my install of virtualgl to >2.5 and using +xcb with vglrun resolved the issue.

3 Likes

We want to remote connect to linux machines in our lab with GPUs. They are running RHEL(distro specified/supported by institution). We do deep learning(doesn’t require OpenGL), but also want to look at the segmentation results on the remote machine using Slicer (hence the need for OpenGL).

We are struggling to get OpenGL support with Slicer over VNC. Specifically we cannot move the MPR planes in Slicer over VNC.

If you have a stable implementation we would be very appreciative if you would share the details.

Thank You.

@mattjolley - do you have root access on your linux machine?

Yes. We (or at least the linux admins) have root access.

Remote Desktops might end up working better for us to avoid VPN, but this is an option.

We started with TeamViewer, but it has crashed a lot.

Is your opengl problem specific to Slicer (i.e., can you get the other opengl programs working fine, what happens when you say vglrun +v glxinfo, do you see the correct driver for your graphics card being listed)?

I have a centos 7.2 system that I followed the default VirtualGL installation instructions (which is essentially adding this repo https://virtualgl.org/Downloads/YUM), yum install VirtualGL and running vglserver_config.

Also if you are using a local linux machine with X, you really don’t need the vnc to connect to your remote HPC system. See vgltransport section in
https://cdn.rawgit.com/VirtualGL/virtualgl/2.6.1/doc/index.html#hd008002

vnc makes it easier for windows users…