Using VirtualGL with FreeNX

24 views
Skip to first unread message

Arcady

unread,
Sep 8, 2017, 1:08:25 PM9/8/17
to VirtualGL User Discussion/Support
I am considering using VirtualGL with FreeNX server.  The documentation mentions that VirtualGL works with NX, but I could not find instructions on setting this up.

Specifically, the NX server does not start an X server (the session connects to the X server running on the client), and there is no display manager running on the server.   There is an Nvidia card added to the server to be used as a GPU. So the instructions for modifying Xorg.conf do not apply to us.

Our NX server is a multi-user machine (up to a hundred simultaneous NX sessions connected).  So, a couple of questions:

1. How do I pipe in VirtualGL libraries into the NX server scenario?
2. How likely is it that VirtualGL and/or the GPU will become a bottleneck for us?

Many thanks!

DRC

unread,
Sep 8, 2017, 2:58:57 PM9/8/17
to virtual...@googlegroups.com
Yes, those instructions do apply to you. VirtualGL has to use the
"root" X server (Display :0, typically) on the server machine in order
to access the GPU. We refer to this as the "3D X server." FreeNX will
be acting as the "2D X server", AKA the "X proxy." You need both.
VirtualGL redirects the 3D rendering from OpenGL application windows
into off-screen Pbuffers on the 3D X server (one Pbuffer per OpenGL
application window), then it reads back the rendered 3D images in real
time from the Pbuffers and blits the images into the corresponding
application windows in the 2D X server/X proxy instance. NX is sort of
a cross between remote X and an X proxy. It runs an X server (nxproxy)
on both the server and client machines. The server-side nxproxy doesn't
actually display anything. It just receives the X11 commands from
applications and compresses/buffers them for transmission to the
client-side nxproxy, which handles decompression and drawing and caching.

Once you have configured VirtualGL and followed the sanity check
procedure to verify that it can properly access the 3D X server, then it
should be a simple matter of executing

vglrun {application}

in your FreeNX sessions.

VirtualGL is only used if you explicitly invoke it with vglrun. Unless
all of your users are using a very heavy-hitting 3D application at the
same time, it's unlikely that the GPU will become a bottleneck. There
are numerous installations of VirtualGL worldwide that share a single
GPU among 40 or 50 users. The caveat is that you should use a high-spec
GPU, like a mid-range or high-end Quadro board, if you plan to share it
among that many users.
Reply all
Reply to author
Forward
0 new messages