Hello, 

I am having trouble launching applications with vglrun from a TurboVNC 
session. Server OS is Centos 7. Client OS is OSX. vnc server is 
TigerVNC/Xvnc. I followed the server configuration documentation for 
VirtualGL 2.5.2, section 6.1 documentation very carefully. I am using gdm. 
My configuration answers were YES to restrict 3D X server, YES to restrict 
framebuffer device, and NO to disable XTEST.

My use case involves tunneling port 5950 via SSH with X-forwarding. The 
server is launching Xvnc with xinetd/XDMCP. I'm sending xinet logs to 
/var/log/messages at maximum verbosity. 

After xinetd launches Xvnc, xinetd error logs show a peculiar line which 
claims a display has been started on screen :0. This confuses me because my 
TurboVNC client host is set to "localhost:50" and it connects just fine. 
The line in my logs which is suspicious is below:

Apr  4 19:35:28 cn9999 Xvnc[1452]: vncext: VNC extension running!
Apr  4 19:35:28 cn9999 Xvnc[1452]: vncext: created VNC server for screen 0
Apr  4 19:35:28 cn9999 Xvnc[1452]: Connections: accepted: 127.0.0.1::45176

Ultimately, the TurboVNC connection is established and I'm able to work 
with the desktop. The DISPLAY variable appears to be set correctly by 
default:
$ echo $DISPLAY
127.0.0.1:50

I am then successfully working with the TurboVNC gui (MATE). Section 9.1 of 
the VirtualGL 2.5.2 documentation describes my situation precisely: 
VirtualGL is running on the same server as my Xvnc server. So I bring up a 
terminal and try:
$ vglrun glxgears -info
[VGL] ERROR: Could not open display :0.

I wonder if this behavior is related to the suspicious log file above? I 
then tried setting the display manually:

$ vglrun -display :50 glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
[VGL] ERROR: Could not connect to VGL client.  Make sure that vglclient is
[VGL]    running and that either the DISPLAY or VGL_CLIENT environment
[VGL]    variable points to the machine on which vglclient is running.
[VGL] ERROR: in connect--
[VGL]    261: Connection refused

I can establish a connection using vglconnect, but then vglrun simply uses 
Mesa instead of my NVIDIA driver:

$ vglconnect -display :50 -e 'glxgears -info' localhost

VirtualGL Client 64-bit v2.5.2 (Build 20170302)
vglclient is already running on this X display and accepting unencrypted
   connections on port 4242.

Pseudo-terminal will not be allocated because stdin is not a terminal.
testuser@localhost's password: 
GL_RENDERER   = Gallium 0.4 on llvmpipe (LLVM 3.9, 256 bits)
GL_VERSION    = 2.1 Mesa 17.0.1
GL_VENDOR     = VMware, Inc.

I see the guide at https://virtualgl.org/Documentation/HeadlessNV, and I 
have taken these steps. See my steps below:

# lspci | grep NVIDIA
03:00.0 VGA compatible controller: NVIDIA Corporation GK106GL [Quadro K4000] 
(rev a1)

And

# cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 375.82 
 (buildmeister@swio-display-x86-rhel47-03)  Wed Jul 19 21:43:37 PDT 2017
Section "DRI"
    Mode 0660
    Group "vglusers"
EndSection


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

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
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 default
    Identifier     "Keyboard0"
    Driver         "keyboard"
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"
    BoardName      "Quadro K4000"
    BusID          "PCI:0:3:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "UseDisplayDevice" "None"
    SubSection     "Display"
        Virtual     1920 1200
        Depth       24
    EndSubSection
EndSection


Can someone please point out steps I have missed in the documentation, or 
nuances about my configuration which prevent vglrun from utilizing my 
NVIDIA driver?

Thank you,
Quincy

-- 
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/501740b9-a989-48d2-9643-cec95c1229ec%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to