Virgl Adds Accelerated Video Encoding To Guest VMs

Written by Michael Larabel in Mesa on 18 November 2022 at 07:00 AM EST. 5 Comments
Mesa VirGL with the virglrenderer library has allowed for virtual 3D GPU support within QEMU virtual machines. This Gallium3D-leveraging code has allowed for OpenGL and other functionality to work within VMs while leveraging the host's GPU. The latest notable addition is adding VirGL video encoding support with H.264 and H.265 initially being supported for accelerated support in VMs.

Developers from the Chinese company Kylinsoft / Kylin OS worked on this VirGL video support for both the Mesa and Virglrenderer code changes. So far just H.264 and H.265/HEVC video encoding is supported.

With the necessary software bits in place, this allows QEMU virtual machines to have GPU-accelerated video encoding for multimedia software supporting the VA-API interface. The virtio_gpu VA-API driver is used and provides for faster video encode, such as with FFmpeg. This support so far has been tested with both Intel and AMD Radeon GPUs for the host and their respective Linux drivers.

The Virglrenderer support was merged recently while the Mesa VirGL H.264/H.265 code landed today for next quarter's Mesa 23.0 release.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week