Venus — a virtual GPU for QEMU and KVM, implemented on the Vulkan API

Collabora has introduced the Venus driver, offering a virtual GPU (VirtIO-GPU) implemented on the Vulkan graphics API. Venus is similar to the previously available VirGL driver based on the OpenGL API, and it also enables each guest system to have a virtual GPU for 3D rendering without exposing exclusive direct access to the physical GPU. The Venus code is already included in Mesa starting from release 21.1.

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

The note provides a detailed guide on using Venus in virtualization systems based on QEMU and KVM. To operate on the host side, a Linux kernel 5.16-rc with support for /dev/udmabuf (compiled with CONFIG_UDMABUF option) is required, as well as separate branches of virglrenderer (res-sharing branch) and QEMU (venus-dev branch). On the guest system side, a Linux kernel 5.16-rc and Mesa package 21.1+, compiled with the option "-Dvulkan-drivers=virtio-experimental" are needed.

Venus - a virtual GPU for QEMU and KVM, implemented on the Vulkan API


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster