Mesa 19.2’s Virgl Sees Huge Performance Win Around Buffer Copy Transfers


For those using Virgl to enjoy Gallium3D-based OpenGL acceleration to guest virtual machines on Linux, the Mesa 19.2 release paired with the latest Virgl renderer library should provide a very significant speed-up.

The virglrenderer code picked up support for copy transfers last month so the guest can avoid waiting if it needs to write to a busy resource. Alexandros Frantzis of Collabora who landed the Virglrenderer work has now seen his Mesa-side Virgl code merged to Mesa 19.2 Git.

Being able to avoid the waits by using a staging buffer range to guarantee it’s never busy provides a big performance advantage. Alexandros found one Steam Play Proton game (Twilight Struggle) running at about 7 FPS but now with this optimization is running at 25 FPS.

As another example, the OpenGL glmark2 basic test was running at 38 FPS but now runs at 331 FPS with this buffer copy transfer work.

The work makes for a damn fine addition in Mesa 19.2 for anyone leveraging Virgl.