ะะพะผะฟะฐะฝะธั Collabora ะฟัะตะดััะฐะฒะธะปะฐ ะดัะฐะนะฒะตั Venus, ะฟัะตะดะปะฐะณะฐััะธะน ะฒะธัััะฐะปัะฝัะน GPU (VirtIO-GPU), ัะตะฐะปะธะทะพะฒะฐะฝะฝัะน ะฝะฐ ะฑะฐะทะต ะณัะฐัะธัะตัะบะพะณะพ API Vukan. Venus ะฝะฐะฟะพะผะธะฝะฐะตั ัะฐะฝะตะต ะดะพัััะฟะฝัะน ะดัะฐะนะฒะตั VirGL, ัะตะฐะปะธะทะพะฒะฐะฝะฝัะน ะฝะฐ ะพัะฝะพะฒะต API OpenGL, ะธ ัะฐะบะถะต ะฟะพะทะฒะพะปัะตั ะฟัะตะดะพััะฐะฒะธัั ะบะฐะถะดะพะน ะณะพััะตะฒะพะน ัะธััะตะผะต ะฒะธัััะฐะปัะฝัะน GPU ะดะปั 3D-ัะตะฝะดะตัะธะฝะณะฐ, ะฑะตะท ะพัะบัััะธั ัะบัะบะปัะทะธะฒะฝะพะณะพ ะฟััะผะพะณะพ ะดะพัััะฟะฐ ะบ ัะธะทะธัะตัะบะพะผั GPU. ะะพะด Venus ัะถะต ะฒะบะปัััะฝ ะฒ ัะพััะฐะฒ Mesa ะธ ะฟะพััะฐะฒะปัะตััั ะฝะฐัะธะฝะฐั ั ะฒัะฟััะบะฐ 21.1.
ะัะฐะนะฒะตั Venus ะพะฟัะตะดะตะปัะตั ะฟัะพัะพะบะพะป Virtio-GPU ะดะปั ัะตัะธะฐะปะธะทะฐัะธะธ ะบะพะผะฐะฝะด ะณัะฐัะธัะตัะบะพะณะพ API Vulkan. ะะปั ะพััะธัะพะฒะบะธ ะฝะฐ ััะพัะพะฝะต ะณะพััะตะฒัั ัะธััะตะผ ะฟัะธะผะตะฝัะตััั ะฑะธะฑะปะธะพัะตะบะฐ virglrenderer, ะพะฑะตัะฟะตัะธะฒะฐััะฐั ััะฐะฝัะปััะธั ะบะพะผะฐะฝะด ะธะท ะดัะฐะนะฒะตัะพะฒ Venus ะธ VirGL ะฒ ะบะพะผะฐะฝะดั Vulkan ะธ OpenGL. ะะปั ะฒะทะฐะธะผะพะดะตะนััะฒะธั ั ัะธะทะธัะตัะบะธะผ GPU ะฝะฐ ััะพัะพะฝะต ั ะพัั-ัะธััะตะผั ะผะพะณัั ะธัะฟะพะปัะทะพะฒะฐัััั Vulkan-ะดัะฐะนะฒะตัั ANV (Intel) ะธะปะธ RADV (AMD) ะธะท ัะพััะฐะฒะฐ Mesa.
ะ ะทะฐะผะตัะบะต ะฟัะธะฒะตะดะตะฝะฐ ะฟะพะดัะพะฑะฝะฐั ะธะฝััััะบัะธั ะฟะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธั Venus ะฒ ัะธััะตะผะฐั ะฒะธัััะฐะปะธะทะฐัะธะธ ะฝะฐ ะฑะฐะทะต QEMU ะธ KVM. ะะปั ัะฐะฑะพัั ะฝะฐ ััะพัะพะฝะต ั ะพััะฐ ััะตะฑัะตััั ัะดัะพ Linux 5.16-rc ั ะฟะพะดะดะตัะถะบะพะน /dev/udmabuf (ัะฑะพัะบะฐ ั ะพะฟัะธะตะน CONFIG_UDMABUF), ะฐ ัะฐะบะถะต ะพัะดะตะปัะฝัะต ะฒะตัะบะธ virglrenderer (ะฒะตัะบะฐ res-sharing) ะธ QEMU (ะฒะตัะบะฐ venus-dev). ะะฐ ััะพัะพะฝะต ะณะพััะตะฒะพะน ัะธััะตะผั ะฝะตะพะฑั ะพะดะธะผะพ ะฝะฐะปะธัะธะต ัะดัะฐ Linux 5.16-rc ะธ ะฟะฐะบะตัะฐ Mesa 21.1+, ัะพะฑัะฐะฝะฝะพะณะพ ั ะพะฟัะธะตะน ยซ-Dvulkan-drivers=virtio-experimentalยป.
เจธเจฐเฉเจค: opennet.ru