With its latest reales qemu added the Venus patches so that virtio-gpu now support venus encapsulation for vulkan. This is one more piece to the puzzle towards full Vulkan support.
An outdated blog post on clollabora described in 2021 how to enable 3D acceleration of Vulkan applications in QEMU through the Venus experimental Vulkan driver for VirtIO-GPU with a local development environment. Following up on the outdated write up, this is how its done today.
↫ Pepper Gray
A major milestone, and for the adventurous, you can get it working today. Give it a few more months, and many of the versions required will be part of your ditribution’s package repositories, making the process a bit easier.
On a related note, Linux kernel developers are considering removing 32-bit x86 KVM host support for all architectures that support it – PowerPC, MIPS, RISC-V, and x86-64 – because nobody is using this functionality. This support was dropped from 32bit ARM a few years ago, and the remaining architectures mentioned above have orders of magnitude fewer users still. If nobody is using this functionality, it really makes no sense to keep it around, and as such, the calls to remove it.
In other words, if your custom workflow of opening your garage door through your fridge light’s flicker frequency and the alignment of the planets and custom scripts on a Raspberry Pi 2 requires this support, let the kernel developers know, or forever hold your peace.
I generally don’t use VMs with graphics (with a few exceptions), although I have to admit that this may be partly down to the fact that unaccellerated graphics in VMs didn’t that well. Assuming accelerated graphics did work well inside of VMs (and without having to dedicate physical GPUs to the VM), then I might have considered VMs for more graphical use cases.
Thinking about it, a VM for games actually does make sense for organization and hardware migrations. Unless it were absolutely bulletproof though I wouldn’t know if an incompatibility would be proton’s fault or qemu’s virtio gpu’s fault. I might end up having to reinstall software in the guest and again on the host just to find out. I am curious how well this works in practice.
Nvidia enterprise GPUs supposedly offer support for virtual GPUs that perform natively, but it’s useless for ordinary gamers who’d like to use virtual machines with their consumer grade hardware.