Using Pup/Dogs as 'thin-clients' via VirtualGL on server
Posted: Wed 01 Jul 2020, 10:43
Three of my family (not me) are really into using Blender, but we only have one computer available that is capable of running the latest version of Blender because of its OpenGL 3.3 version requirement. Hence, right at this moment I am experimenting with running Blender on that server computer for remote access via our home LAN. May sound trivial - X window protocol or RDP or VNC, but it is actually not trivial for 3D apps. For example, if you try to simply ssh -X and use traditional X windows remote protocol you will find 3D apps still don't work remotely because the OpenGL stuff gets sent to the Xserver of the thin-client machine (despite the rendering taking place on the server - which in X terminology is actually the 'client') so doesn't work because the low-powered thin-client does not have the necessary OpenGL accelerated graphics hardware (so same issue as trying to run Blender locally on that client).
Fortunately, a great research paper (very interesting to read) was written in 2002 which details how to get the accelerated graphics OpenGL stuff done on the server and only the 2D results sent back: https://virtualgl.org/pmwiki/uploads/Ab ... GSHARV.pdf and VirtualGL provides that much higher performance solution than straight VNC on its own. There is also a follow-up research paper for those interested in the finer details of how it all works:
https://virtualgl.org/pmwiki/uploads/Ab ... pa2003.pdf
The fact is that my own laptop, which I use for dev work, is getting a bit old but still generally very useful otherwise. It's an HP Elitebook 2530p from 2008, was 2 but now 4GB RAM, and Core 2 Duo Intel processor. Where it is no use however is with modern graphics apps such as latest Blender, which required OpenGL 3.3 or better. The graphics hardware in my laptop can only handle OpenGL 2.1, so in that sense Blender is a no-go (has pretty rubbish Intel Mobile 4 Series chipset Integrated Graphics Controller with i915 driver).
But with VirtualGL (and optional VNC) running on faster machine it becomes possible to remotely access that latest Blender (on the faster server) and have it display on the thin-client Pup or Dog on an otherwise not capable machine.
Tonight I've been using VirtualGL on WeeDogLinux Arch64, and on BionicDog64, both as server OS options, and with little client program on the low-powered machine (which could also be using these same distros or Puppy or even SliTaz).
The Arch Wiki contains a lot of useful information (and further links) for setting VirtualGL up (to use either X11 protocol alone, or in conjunction with VNC:
https://wiki.archlinux.org/index.php/VirtualGL
So if you have a host of lesser powered machines and even just one other with good hw graphics acceleration capability a VirtualGL server can be a great resource.
wiak
Fortunately, a great research paper (very interesting to read) was written in 2002 which details how to get the accelerated graphics OpenGL stuff done on the server and only the 2D results sent back: https://virtualgl.org/pmwiki/uploads/Ab ... GSHARV.pdf and VirtualGL provides that much higher performance solution than straight VNC on its own. There is also a follow-up research paper for those interested in the finer details of how it all works:
https://virtualgl.org/pmwiki/uploads/Ab ... pa2003.pdf
The fact is that my own laptop, which I use for dev work, is getting a bit old but still generally very useful otherwise. It's an HP Elitebook 2530p from 2008, was 2 but now 4GB RAM, and Core 2 Duo Intel processor. Where it is no use however is with modern graphics apps such as latest Blender, which required OpenGL 3.3 or better. The graphics hardware in my laptop can only handle OpenGL 2.1, so in that sense Blender is a no-go (has pretty rubbish Intel Mobile 4 Series chipset Integrated Graphics Controller with i915 driver).
But with VirtualGL (and optional VNC) running on faster machine it becomes possible to remotely access that latest Blender (on the faster server) and have it display on the thin-client Pup or Dog on an otherwise not capable machine.
Tonight I've been using VirtualGL on WeeDogLinux Arch64, and on BionicDog64, both as server OS options, and with little client program on the low-powered machine (which could also be using these same distros or Puppy or even SliTaz).
The Arch Wiki contains a lot of useful information (and further links) for setting VirtualGL up (to use either X11 protocol alone, or in conjunction with VNC:
https://wiki.archlinux.org/index.php/VirtualGL
So if you have a host of lesser powered machines and even just one other with good hw graphics acceleration capability a VirtualGL server can be a great resource.
wiak