เจตเฉ€เจจเจธ - QEMU เจ…เจคเฉ‡ KVM เจฒเจˆ เจตเจฐเจšเฉเจ…เจฒ GPU, Vukan API 'เจคเฉ‡ เจ†เจงเจพเจฐเจฟเจค เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ

ะšะพะผะฟะฐะฝะธั 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ยป.

Venus - ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ะน GPU ะดะปั QEMU ะธ KVM, ั€ะตะฐะปะธะทะพะฒะฐะฝะฝั‹ะน ะฝะฐ ะฑะฐะทะต API Vukan


เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹