OpenGL

This documentation is about running OpenGL applications in an xpra session and this has nothing to do with the client’s opengl acceleration.

By default, OpenGL applications are supported but they are executed in a virtual framebuffer context which uses a software renderer, and therefore without any GPU acceleration.

GPU Acceleration

To take advantage of GPU OpenGL acceleration, here are some options:

xpra start --start="vglrun glxgears"

Or even:

xpra start --exec-wrapper="vglrun" --start="glxgears"
Xwayland :20 &
xpra start :20 --use-display

(the Weston window can be hidden)

xpra start --use-display :0

The downside is that the session is no longer accessible from the local display.


Caveats

GL library conflicts

Proprietary graphics drivers can interfere with software OpenGL, glvnd can solve this issue by allowing multiple OpenGL libraries to co-exist.

Stability

VirtualGL and Xwayland will tie the OpenGL application to a secondary context (X11 / Wayland server) and if this server is killed or restarted then the application will crash - this is no longer the case with the EGL backend in VirtualGL version 3.

VirtualGL setup

Please refer to the extensive documentation.
Some applications may require workarounds, ie: 12: Using VirtualGL with setuid/setgid Executables.