I run Arch linux on a Dell XPS 15 7590 that has a GTX 1650 and integrated Intel iGPU. I normally run it so that the Intel driver is running the iGPU (to avoid tearing with modesetting driver) and offloading to the discrete NVIDIA card as of driver version 435.17.
When I login to a local GPU cluster node using SSH with X11 forwarding and IndirectGLX server flags enabled in my xorg.conf, and attempt to open an application (UCSF Chimera) that uses openGL, I get the following error:
Error starting chimera:
error: Upgrade your graphics to OpenGL 1.1 or later
File "/ssd/programs/x86_64-linux/chimera/1.13.1/share/OpenGLDebug/__init__.py", line 407, in checkConfig
gi.makeWSCurrent()
See reply log for Python traceback.
X Error of failed request: GLXBadCurrentWindow
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 5 (X_GLXMakeCurrent)
Serial number of failed request: 795
Current serial number in output stream: 795
This error does not occur if I do not use render offload and only use the NVIDIA driver to run everything - the program loads fine. I did notice that If I run
glxinfo | grep OpenGL
while logged into the GPU server I get no population of OpenGL attributes:
OpenGL vendor string:
OpenGL renderer string:
OpenGL version string:
OpenGL extensions:
whereas when I run it on either the laptop or the cluster node directly (not via SSH), these fields are populated. When I run another program that uses OpenGL through SSH with X11 forwarding I get the following error:
Unrecognized OpenGL version
I’ve tried this on both kernel 4.19-LTS and the latest kernel and the same thing happens. I’ve also tried this on driver versions 435.21 and the latest 440.26 with no changes. When I switch to the modesetting driver for iGPU with offloading to NVIDIA card and try to run the program, my X server crashes and I get booted back to a GDM login screen.
If anyone has thoughts or insight, they would be much appreciated.
nvidia-bug-report.log.gz (1.13 MB)