Venus เป€เบ›เบฑเบ™ GPU virtual เบชเปเบฒเบฅเบฑเบš QEMU เปเบฅเบฐ KVM เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Vukan API

Collabora เป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป„เบ”เป€เบงเบต Venus, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡ GPU virtual (VirtIO-GPU) เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Vukan graphics API. Venus เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเป„เบ”เป€เบงเบต VirGL เบ—เบตเปˆเบกเบตเบขเบนเปˆเบเปˆเบญเบ™เบซเบ™เป‰เบฒเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ OpenGL API เปเบฅเบฐเบเบฑเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปเบ•เปˆเบฅเบฐเบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เปเบ‚เบเป„เบ”เป‰เบฎเบฑเบš GPU virtual เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡ 3D, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบžเบดเป€เบชเบ”เปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ GPU เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเป‚เบ”เบเบเบปเบ‡. เบฅเบฐเบซเบฑเบ” Venus เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปเบฅเป‰เบงเบเบฑเบš Mesa เปเบฅเบฐเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบชเบปเปˆเบ‡เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบญเบ 21.1.

เป„เบ”เป€เบงเบต Venus เบเปเบฒเบ™เบปเบ”เป‚เบ›เป‚เบ•เบ„เบญเบ™ Virtio-GPU เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡ API เบ‚เบญเบ‡เบเบฒเบŸเบดเบ Vulkan. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบขเบนเปˆเบ”เป‰เบฒเบ™เบ‚เป‰เบฒเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปเบ‚เบ, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” virglrenderer เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เปเบ›เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฒเบเป„เบ”เป€เบงเบต Venus เปเบฅเบฐ VirGL เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Vulkan เปเบฅเบฐ OpenGL. Mesa's ANV (Intel) เบซเบผเบท RADV (AMD) Vulkan drivers เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเป‚เบ•เป‰เบ•เบญเบšเบเบฑเบš GPU เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบขเบนเปˆเปƒเบ™เบเปˆเบฒเบเป€เบˆเบปเป‰เบฒเบžเบฒเบš.

เบšเบฑเบ™เบ—เบถเบเปƒเบซเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบขเปˆเบฒเบ‡เบฅเบฐเบญเบฝเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Venus เปƒเบ™เบฅเบฐเบšเบปเบš virtualization เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ QEMU เปเบฅเบฐ KVM. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ host-side เบ•เป‰เบญเบ‡เบเบฒเบ™ Linux kernel 5.16-rc เบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ /dev/udmabuf (เบชเป‰เบฒเบ‡เบ”เป‰เบงเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ CONFIG_UDMABUF), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบชเบฒเบ‚เบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ virglrenderer (เบชเบฒเบ‚เบฒเปเบšเปˆเบ‡เบ›เบฑเบ™ res-sharing) เปเบฅเบฐ QEMU (เบชเบฒเบ‚เบฒ venus-dev). เปƒเบ™เบ”เป‰เบฒเบ™เปเบ‚เบ, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™ Linux 5.16-rc kernel เปเบฅเบฐเบŠเบธเบ” Mesa 21.1+ เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบ "-Dvulkan-drivers=virtio-experimental".

Venus เป€เบ›เบฑเบ™ GPU virtual เบชเปเบฒเบฅเบฑเบš QEMU เปเบฅเบฐ KVM เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Vukan API


เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™