If you are considering doing your VM's on a server then it's worth a look at Unraid too - it uses QEMU/KVM under the hood but has some other advantages too.
Edit: you are likely to lose a little GPU 2-3% due to vm overhead, but GPU passthrough is as close to native as you are going to get. I've happily run a high end VR headset via a Windows VM running on Unraid in the past.
Running a Ubuntu Host with KVM, passing through an NVIDIA 970 to a Windows host. Yea...the GPU performance was fast, but everything else was so slow compared to running native. I think my biggest issue was with disk R/W, especially when memory pressure went up from the VM the system bogged down to a halt. After that, my biggest problems were with the fact that after the Windows host turned off, the GPU was stuck in the weird state where you can't reset it ( I know its a feature™ from Nvidia) and the Keyboard / Mouse would flake since I would attach the whole USB root to the VM as well.
In the end just decided to install back Windows and not have to deal with it.
Say hello to distributions not providing latest releases.
For Intel hardware, there's GPU virtualization called GVT-g [2], and the docs mention Windows.
If you're on a desktop, GPU passthrough would be the easiest option.
[0] https://virgil3d.github.io/ [1] https://www.reddit.com/r/archlinux/comments/7nmceg/kvmqemu_w... [2] https://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide
Qemu/KVM + virt-manager. No Oracle nonsense about closed USB drivers and the like.
> Are there any that can do proper 3D acceleration to play games at a reasonable speed?
Just ditch Windows and use Wine, it works very well these days especially paired with DXVK.
Usually Wine is actually running older games better than recent Windows.
If not - you can check for errors and file some bugs. It would help developers know there are issues.
Wine definitely is better for older games 99% of the time, this one is just something that was incredibly picky even when it was new. I've bothered them to ask if they'd open source it or let me port it with me signing an NDA, but they haven't responded.
What kind of libraries? I never had a problem with Wine dependencies in Debian, even when installing WineHQ packages. It just pulls them from the repo.
So there's very little point in switching software, assuming you play games with the virtualized system. QEMU ought to be as vulnerable as VirtualBox/VMWare to this problem.
And sure, they could fix this issue by checking this one pointer. But there's going to be 50 more where this problem came from, and they haven't even mentioned bounds checks.
In the GPU passhthrough scenario, the host OS GPU drivers are not involved, and this exact problem won't occur.
But it's another question how well the GPU is isolated from the host system using mechanisms like IOMMU. To shield against attacks like manipulating host memory from code running on the GPU.