VirtualGL without vglrun?

Hi,

Apologies if this has been answered elsewhere (I couldn’t see it).

I’m coming from using NoMachine where we’d previously used VirtualGL to improve performance and reduce CPU load with multiple users running remote desktops with OpenGL applications on a headnode - which worked well.

We’re now using ThinLinc, and I wanted to check if it is possible (or desirable?) to “enable” VirtualGL by default? What I want to avoid is having to constantly remind users to prefix commands with vglrun. Yes, we could create wrapper scripts, but I want to see if we can avoid having to do this. In NoMachine afaik there was no requirement to use vglrun.

Hopefully someone can point me in the right direction for this information.

Best wishes,

Jon

Hi @jonb,

The short answer is yes, it is possible, but generally not recommended.

For example, you can launch the entire desktop environment via VirtualGL by setting the relevant cmdline parameter in profiles.hconf to something like vglrun +wm mate-session (or whatever your desktop environment happens to be).

But this means every single application will be run through VirtualGL’s interposer (including the desktop environment itself). This makes life easier for the end user, but isn’t very efficient use of system resources.

A common approach is for administrators to create application shortcuts which launch via vglrun. If you are using a desktop environment which confirms to freedesktop.org standards (such as MATE or Xfce), the ThinLinc Desktop Customizer can be used to manage these shortcuts:

For more information on using VirtualGL in ThinLinc, see:

Hope that helps!

Hi Aaron,

Thanks for your email.

I was wondering what the difference is between NoMachine and their implementation of VirtualGL integration and ThinLinc’s? The reason being that there was no requirement to use vglrun, which is quite an obstacle.

Has there been any assessment of the impact on performance for running Gnome classic or MATE in a multiuser environment with everything going through VirtualGL?

Best wishes

Jon

Hi,

The main difference is that NoMachine ships with VirtualGL, and has some basic integration for it. However, the underlying mechanics are exactly the same. See:

If you were running GPU-accelerated applications in a NoMachine session without having to use vglrun, then it’s likely you had EnableVirtualGLSupport 1 set in your configuration. This is equivalent to the profiles.hconf configuration in ThinLinc as mentioned above, i.e. all applications and the desktop environment itself running via VirtualGL.

It is preferable to only use vglrun with the applications which need it (the NoMachine documentation linked above also mentions this). However, if running everything through VirtualGL has worked for you in the past, then there should be no difference doing the same with ThinLinc.