Hello,


I've been attempting to integrate Turbo VNC and VirtualGL on our headless 
GPU enabled compute nodes but ended up running into vgl errors. (centos7)


Here's what I've done up until this point.

Nvidia driver installed for P100 GPU's (4 on the host)

Updated xorg.conf with the nvidia driver info.

TurboVNC installed along with websockify (this is a open ondemand 
installation which uses novnc to proxy through the headnode)

killed nvidia-persistenced

rmmod nvidia_drm

rmmod nvidia_modeset

rmmod nvidia

vglserver_config. Installed Virtualgl and ran configuration with no 
security restrictions (i.e. no on everything)


... Modifying /etc/security/console.perms to disable automatic permissions
for DRI devices ... 
... Creating /etc/modprobe.d/virtualgl.conf to set requested permissions for 
    /dev/nvidia* ... 
... Granting write permission to /dev/nvidia0 /dev/nvidia1 /dev/nvidia2 /dev
/nvidia3 /dev/nvidiactl /dev/nvidia-modeset for all users ... 
... Modifying /etc/X11/xorg.conf.d/99-virtualgl-dri to enable DRI 
permissions 
    for all users ... 
... Modifying /etc/X11/xorg.conf to enable DRI permissions 
    for all users ... 
... Adding xhost +LOCAL: to /etc/gdm/Init/Default script ... 
... /etc/lightdm/lightdm.conf has been saved as /etc/lightdm/lightdm.conf.
orig.vgl ... 
... Adding greeter-setup-script=xhost +LOCAL: to /etc/lightdm/lightdm.conf 
... 
... Enabling XTEST extension in /etc/gdm/custom.conf ... 
... Setting default run level to 5 (enabling graphical login prompt) ... 
... Commenting out DisallowTCP line (if it exists) in /etc/gdm/custom.conf 
... 




Done. You must restart the display manager for the changes to take effect.


I killed any running TurboVNC session, logged in again to obtain a 
TurboVNC/XFCE desktop and attempt to run vglrun glxgears


[user@hpc-xx-xx ~]$ vglrun glxgears
[VGL] ERROR: Could not open display :0. 
[user@hpc-xx-xx ~]$ echo $DISPLAY 
:1.0 



so i mucked around and set vgl display to 1 which I'm pretty sure is not 
what i wanted for split rendering.


[user@hpc-xx-xx ~]$ VGL_DISPLAY=:1.0 vglrun +v glxgears
[VGL] Shared memory segment ID for vglconfig: 1212424 
[VGL] VirtualGL v2.6.1 64-bit (Build 20190101) 
[VGL] Opening connection to 3D X server :1.0 
[VGL] WARNING: The OpenGL rendering context obtained on X display 
[VGL]    :1.0 is indirect, which may cause performance to suffer. 
[VGL]    If :1.0 is a local X display, then the framebuffer device 
[VGL]    permissions may be set incorrectly. 
[VGL] Using Pbuffers for rendering 
[VGL] ERROR: in readPixels-- 
[VGL]    394: GL_ARB_pixel_buffer_object extension not available 
X Error of failed request:  GLXBadCurrentWindow 
  Major opcode of failed request:  151 (GLX) 
  Minor opcode of failed request:  5 (X_GLXMakeCurrent) 
  Serial number of failed request:  48 
  Current serial number in output stream:  48


[root@hpc-xx-xx X11]# lsmod | grep nvidia
nvidia_drm             39819  0 
nvidia_modeset       1036499  1 nvidia_drm
nvidia              16598662  1 nvidia_modeset
drm_kms_helper        179394  2 mgag200,nvidia_drm
drm                   429744  5 ttm,drm_kms_helper,mgag200,nvidia_drm
ipmi_msghandler        56032  3 ipmi_devintf,nvidia,ipmi_si



Output from TurboVNC process.


user  38433  2.2  0.0 423608 71420 ?        Rl   09:43   0:02 /opt/TurboVNC/
bin/*Xvnc :1* -desktop TurboVNC: hpc-xx-xx:1 (user) -auth /home/user/.
Xauthority -geometry 800x600 -depth 24 -rfbwait 120000 -rfbauth vnc.passwd 
-x509cert 
/home/user/.vnc/x509_cert.pem -x509key /home/user/.vnc/x509_private.pem 
-rfbport 
5901 -fp catalogue:/etc/X11/fontpath.d -deferupdate 1 -dridir /usr/lib64/dri 
-registrydir /usr/lib64/xorg


Rebooted after running systemctl set-default graphical.target  (not sure if 
required)


xorg.conf 
https://gist.githubusercontent.com/johnbot1/bc988b94c9c1e05ac315faa9e52aaa4a/raw/90042ff78e392fb38eb67ba717f4d2a0a1dc67ad/xorg.conf


I've also attempted to run additional configuration following the Headless 
nvidia mini how-to

https://virtualgl.org/Documentation/HeadlessNV


nvidia-xconfig --query-gpu-info

nvidia-xconfig -a --allow-empty-initial-configuration --virtual=1920x1200 
--busid PCI:4:0:0


I assume VGL display 0 needs to be available however the sanity checks are 
failing.


I've run the sanity checks with no output. 

xdpyinfo -display :0

/opt/VirtualGL/bin/glxinfo -display :0 -c


So, I'm attempting to understand if having X11 running in background is 
required or if launching a xfce desktop session via TurboVNC and then 
running vglrun is sufficient to access the GPU hardware on these headless 
systems. Appreciate if someone would point me in the right direction.  







-- 
You received this message because you are subscribed to the Google Groups 
"VirtualGL User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/virtualgl-users/1964d425-55a5-444e-bd1b-258b75cfce0a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to