Collabora درایور Venus را معرفی کرده است که یک GPU مجازی (VirtIO-GPU) بر اساس API گرافیکی Vukan ارائه می دهد. Venus شبیه درایور VirGL که قبلاً در دسترس بود، در بالای OpenGL API پیادهسازی شده بود، و همچنین به هر مهمان اجازه میدهد یک GPU مجازی برای رندر سهبعدی، بدون دسترسی مستقیم مستقیم به GPU فیزیکی ارائه شود. کد Venus در حال حاضر با Mesa همراه است و از زمان انتشار 3 ارسال شده است.
درایور Venus پروتکل Virtio-GPU را برای سریال سازی دستورات گرافیکی Vulkan تعریف می کند. برای رندر در سمت مهمان، از کتابخانه virglrenderer استفاده می شود که ترجمه دستورات را از درایورهای Venus و VirGL به دستورات Vulkan و OpenGL ارائه می دهد. برای تعامل با GPU فیزیکی در سمت سیستم میزبان، می توان از درایورهای Vulkan ANV (اینتل) یا RADV (AMD) از Mesa استفاده کرد.
این یادداشت دستورالعمل های دقیقی را برای استفاده از Venus در سیستم های مجازی سازی مبتنی بر QEMU و KVM ارائه می دهد. برای کار در سمت میزبان، یک هسته لینوکس 5.16-rc با پشتیبانی از /dev/udmabuf (ساخت با گزینه CONFIG_UDMABUF) و همچنین شاخه های جداگانه virglrenderer (شاخه اشتراک گذاری مجدد) و QEMU (شاخه venus-dev) مورد نیاز است. ). در سمت سیستم مهمان، باید هسته لینوکس 5.16-rc و بسته Mesa 21.1+ را با گزینه "-Dvulkan-drivers=virtio-experimental" کامپایل کنید.
منبع: opennet.ru