You definitely need the "3D X server" to always be running in the
background, and this is independent of the "2D X server", which in your
case is a TurboVNC session.  The TurboVNC X server is a virtual X server
("X proxy"), so it doesn't actually touch the GPU.  It renders all of
the X11 primitives and images from X11 applications into a framebuffer
in main memory, so the only actual driver connected to the TurboVNC X
server is the RFB server, which deals with sending changes to that
framebuffer to a connected viewer or viewers.  VirtualGL's job is to
marshal OpenGL commands from 3D applications (launched using vglrun) to
the 3D X server, read back the rendered frames from the GPU in real
time, and composite the frames into the application's X windows, which
are in the TurboVNC session.

The main thing that vglserver_config does is insert a bit of code
(either invoking the vglgenkey script or invoking xhost +LOCAL:) into
the display manager startup scripts so that VirtualGL users (either the
vglusers group or all users of the system, depending on the option you
chose) can access the 3D X server while the display manager is sitting
at the login prompt.  Inability to access Display :0 means that
vglserver_config apparently didn't succeed in doing that, or something
else is amiss with your server's configuration.  I use CentOS 7 as my
primary development machine, so I know that vglserver_config works
properly on that platform using both GDM and LightDM.

Other comments inline.


On 2/5/19 3:45 PM, johnbot wrote:
>
> so i mucked around and set vgl display to 1 which I'm pretty sure is
> not what i wanted for split rendering.
>
If the GPU-attached X server ("3D X server") is using Display :0, which
is normally the case, then you shouldn't need to change VGL_DISPLAY. 
VGL_DISPLAY should point to the 3D X server, and DISPLAY should point to
the 2D X server, but :0.0 is the default for VGL_DISPLAY if it isn't
specified.


> Rebooted after running systemctl set-default graphical.target  (not
> sure if required)
>
Shouldn't be required unless you changed it. graphical.target is the
default in CentOS 7.

> I've also attempted to run additional configuration following the
> Headless nvidia mini how-to
>
> https://virtualgl.org/Documentation/HeadlessNV
>
Not applicable unless you are actually using a headless GPU (with no
monitor outputs.)

> 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
>

Your assumption is correct.  Not sure what could be wrong.  If you are
using GDM, then I would suggest editing /etc/gdm/Init/Default and adding
something like

    echo testing >/tmp/out

right before the xhost line that vglserver_config added.  Then verify
whether /tmp/out is created when you restart the display manager (init
3/init 5).  I didn't ask whether you're using GDM or LightDM.  The
output of vglserver_config that you posted indicates that both are
installed.  Either should work fine on CentOS 7, so you might try
switching from one to the other to see if that solves the problem.

-- 
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/c97131cc-0e4b-0496-5bea-5bd347b774a1%40virtualgl.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to