Collabora heeft de Venus-driver geïntroduceerd, die een virtuele GPU (VirtIO-GPU) biedt, gebaseerd op de grafische API Vulkan. Venus lijkt op de eerder beschikbare VirGL-driver, die is gebaseerd op de OpenGL API, en stelt ook in staat om elke gast-systeem van een virtuele GPU te voorzien voor 3D-rendering, zonder exclusieve directe toegang tot de fysieke GPU te bieden. De Venus-code is al geïntegreerd in Mesa en is beschikbaar sinds release 21.1.
De Venus-driver definieert het Virtio-GPU-protocol voor het serialiseren van commando's van de grafische API Vulkan. Voor rendering aan de gastzijde wordt de virglrenderer-bibliotheek gebruikt, die de vertaling van commando's van de Venus- en VirGL-drivers naar Vulkan- en OpenGL-commando's verzorgt. Voor interactie met de fysieke GPU aan de hostzijde kunnen de Vulkan-drivers ANV (Intel) of RADV (AMD) uit Mesa worden gebruikt.
In de notitie wordt een gedetailleerde handleiding gegeven voor het gebruik van Venus in virtualisatiesystemen op basis van QEMU en KVM. Voor werking aan de hostzijde is een Linux-kernel 5.16-rc vereist met ondersteuning voor /dev/udmabuf (build met de optie CONFIG_UDMABUF), evenals afzonderlijke takken van virglrenderer (tak res-sharing) en QEMU (tak venus-dev). Aan de gastzijde is een Linux-kernel 5.16-rc en het Mesa-pakket 21.1+ nodig, opgebouwd met de optie "-Dvulkan-drivers=virtio-experimental".

Bron: opennet.ru
