Not really.  There would be issues with such a solution:

-- Compatibility:  Indirect OpenGL will not have access to a lot of 
OpenGL extensions that applications might need, and you could run into 
even more serious compatibility problems if the X proxy server and the 
3D server are not running similar OpenGL stacks (for instance, if the X 
proxy server was running Mesa and the 3D server was running nVidia.) 
When you run an application in VirtualGL, VirtualGL passes through most 
of the OpenGL calls unaltered, so the application behaves as if it is 
running locally-- with no OpenGL call overhead.

-- Performance:  The performance issues related to indirect OpenGL are 
precisely what VirtualGL was designed to circumvent.  Read the 
background article on VirtualGL.org to get a feel for what some of these 
might be, but basically, you're going to be sending all of the 3D data 
and commands (including textures, which can be a killer) across a 
network and receiving uncompressed frames back.  There is a tremendous 
amount of overhead associated with this.  Even a single user could 
monopolize all of the bandwidth of a gigabit pipe in this scenario, and 
even then, the performance would not come anywhere close to that of the 
direct rendering scenario.  In order to support such a solution in any 
reasonable fashion, we'd have to come up with some way of compressing 
the 3D data (which would require immense complexity-- instead of just 
intercepting GLX, VirtualGL would have to become a full OpenGL 
interposer.  No.  Not gonna happen) and compressing the images read back 
from the remote 3D server (which would require implementing some sort of 
daemon that would run on that server.)  There are other solutions that 
do some or all of that (DCV comes to mind), but even those solutions 
don't perform particularly well with a remote 3D server, in my testing.

I've been doing this for a while now, and it's been my experience that, 
in most cases, whenever someone says they want to host an X proxy server 
on a different machine than a 3D server, it's a problem that can be 
solved with hardware.  We have many deployments of VirtualGL and 
TurboVNC in corporations, academia, supercomputer centers, etc., and all 
of those are hosting the application and the X proxy on the same machine 
without any major hurdles.  They use beefy multi-core, multi-processor 
servers with high-end headless nVidia adapters.


On 3/13/15 8:43 PM, Jonathan Wong wrote:
> Is there a configuration where it's possible to have the X Proxy and
> application together while using a remote 3D X server for VirtualGL?
> Sort of a cross between using VirtualGL with an X Proxy on a Different
> Machine and the example with VirtualGL and chromium.
>
> Basically I have a headless, GPU-less server that I'd like to VNC to,
> but I'd also like GLX acceleration such that vgl will go through the
> remote X server. Something akin to a VMGL-like setup but with VirtualGL.
>
> Thanks,
> Jon

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
VirtualGL-Users mailing list
VirtualGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to