Das Unternehmen Collabora hat den Venus-Treiber vorgestellt, der einen virtuellen GPU (VirtIO-GPU) basierend auf der Grafik-API Vulkan bietet. Venus Ă€hnelt dem zuvor verfĂŒgbaren VirGL-Treiber, der auf der OpenGL-API basiert, und ermöglicht es ebenfalls, jedem Gastsystem einen virtuellen GPU fĂŒr das 3D-Rendering bereitzustellen, ohne exklusiven direkten Zugriff auf die physische GPU zu gewĂ€hren. Der Venus-Code ist bereits in Mesa enthalten und wird ab der Version 21.1 ausgeliefert.
Der Venus-Treiber definiert das Virtio-GPU-Protokoll zur Serialisierung von Befehlen der Grafik-API Vulkan. FĂŒr das Rendering auf den Gastsystemen wird die Bibliothek virglrenderer verwendet, die die Ăbersetzung von Befehlen aus den Treibern Venus und VirGL in Vulkan- und OpenGL-Befehle ermöglicht. Zur Interaktion mit der physischen GPU auf der Host-Seite können die Vulkan-Treiber ANV (Intel) oder RADV (AMD) aus Mesa verwendet werden.
In diesem Artikel finden Sie eine ausfĂŒhrliche Anleitung zur Verwendung von Venus in Virtualisierungssystemen auf Basis von QEMU und KVM. FĂŒr die Verwendung auf der Host-Seite ist ein Linux-Kernel 5.16-rc erforderlich, der die UnterstĂŒtzung fĂŒr /dev/udmabuf (Build mit der Option CONFIG_UDMABUF) bietet, sowie spezielle Branches von virglrenderer (Branch res-sharing) und QEMU (Branch venus-dev). Auf der Seite des Gastsystems ist ein Linux-Kernel 5.16-rc und das Mesa-Paket 21.1+ erforderlich, das mit der Option â-Dvulkan-drivers=virtio-experimentalâ kompiliert wurde.

Quelle: opennet.ru
