Linux Virtual Delivery Agent

Shared GPU acceleration on a multi-session Linux VDA

HDX 3D PRO supports only the Linux VDAs that are configured for VDI desktops (single-session mode). For a multi-session Linux VDA, you can enable shared GPU acceleration on it to accelerate OpenGL 3D applications.

Note:

Wayland display server is not supported for shared GPU acceleration.

Configuration

To enable shared GPU acceleration on a multi-session Linux VDA to accelerate OpenGL 3D applications, complete the configuration steps:

Step 1: Install VirtualGL

Download and install VirtualGL from https://sourceforge.net/projects/virtualgl/files. Download .deb packages for Debian-based Linux distributions and .rpm packages for RHEL-based Linux distributions.

Step 2: Configure VirtualGL

  1. Stop the Linux display manager, for example, LightDM or GNOME Display Manager (GDM).

  2. Execute the VirtualGL configuration script by running:

    #/opt/VirtualGL/bin/vglserver_config
    <!--NeedCopy-->
    

    We recommend you make the following selections during the script execution:

    • Select “1” to “Configure server for use with VirtualGL (GLX + EGL back ends)”

    • Select “n” to “Restrict 3D X server access to vglusers group”

    • Select “n” to “Restrict framebuffer devices access to vglusers group”

    • Select “n” to “Disable XTEST extension”

  3. Exit the configuration script and restart the Linux display manager.

Step 3: Run OpenGL 3D applications with GPU acceleration

There are two methods to run OpenGL 3D applications with GPU acceleration in a Linux VDA session:

  • Method 1: Enable shared GPU acceleration for all OpenGL 3D applications

    To do so, open a bash terminal on the Linux VDA, run the following command, and then restart the bash terminal. This approach enables shared GPU acceleration for all OpenGL 3D applications launched from the bash terminal.

     #/opt/Citrix/VDA/sbin/ctxgpushare.sh enable
     <!--NeedCopy-->
    
  • Method 2: Enable shared GPU acceleration for a specific OpenGL 3D application:

    To do so, open a terminal on the Linux VDA and run the following command with the name of the application specified:

     #vglrun <AppName>
     <!--NeedCopy-->
    

Limitations

  • Shared GPU acceleration works closely with the display manager on the Linux VDA. It is recommended to use LightDM as the display manager for shared GPU acceleration to achieve the expected functionality and performance.
  • WebGL hardware acceleration is supported in Firefox on Ubuntu and Debian only.

Scalability

The maximum-supported number of concurrent sessions that can share a GPU depends on the CPU and system memory. It also highly depends on the maximum video memory of the GPU.

For example:

If Then
the NVIDIA M10-2B vGPU has 2,048 MB of video memory and an OpenGL application such as VariCAD viewer uses 100 MB of video memory for its workload in each session, in theory the maximum-supported number of concurrent sessions cannot exceed 20.
Shared GPU acceleration on a multi-session Linux VDA