Venus is a virtual GPU for QEMU and KVM based on the Vukan API

Collabora has introduced the Venus driver, which offers a virtual GPU (VirtIO-GPU) based on the Vukan graphics API. Venus resembles the previously available VirGL driver, implemented on top of the OpenGL API, and also allows you to provide each guest system with a virtual GPU for 3D rendering without exclusivity and direct access to the physical GPU. The Venus code is already included with Mesa and has been shipping since release 21.1.

The Venus driver defines the Virtio-GPU protocol for serializing Vulkan graphics API commands. For rendering on the side of guest systems, the virglrenderer library is used, which provides translation of commands from the Venus and VirGL drivers into Vulkan and OpenGL commands. Mesa's ANV (Intel) or RADV (AMD) Vulkan drivers can be used to interact with the physical GPU on the host side.

The note provides detailed instructions for using Venus in virtualization systems based on QEMU and KVM. Host-side operation requires Linux kernel 5.16-rc with support for /dev/udmabuf (build with CONFIG_UDMABUF option), as well as separate branches virglrenderer (res-sharing branch) and QEMU (venus-dev branch). On the guest side, you need the Linux 5.16-rc kernel and the Mesa 21.1+ package built with the "-Dvulkan-drivers=virtio-experimental" option.

Venus is a virtual GPU for QEMU and KVM based on the Vukan API


Source: opennet.ru

Add a comment