How well does GPU passthrough work for qemu into a windows VM (for a kernel-based anti-cheat)? Why would I want to isolate the GPU solely for the VM? Isn't that going to mess up other applications?
GPU passthrough works pretty well these days, but anticheats will detect you running inside a VM. Evading anticheats detection is a separate issue unrelated with gpu passthrough, usually involves getting the vm to look like a real hardware as much as possible (e.g. using real mac address, hiding kvm hypervisor signature, etc). It's quite a deep rabbit hole and I haven't actually tried it.
Looks like this would run Photoshop even better than my insane hacky wine setup too :')..
I guess a good followup would be, is there a tutorial for Fedora39 / Wayland / Nvidia that doesn't just inevitably nuke my system :)? I have an intel cpu/gpu in additional to my main card.
Also, if it's in pass-through mode, how would one set up the card for a game natively in Linux?
(plenty of Steam games already run well on the card and I'm worried that this passthrough will run into issues of everything using the shitty intel gpu by default)
Back when I did my setup,
there wasn't a clear guide on the matter though, and it was rather hard to setup.
If you're interested, I can link you all my bookmarks on the matter which I made back then though, however none of them were for Fedora / Nvidia specific.
For the pass-through mode,
I use VFIO (Virtual Function Input Output) with kernel / grub configurations, to always dedicate one of my 2 GPUs for the KVM (Kernel Virtual Machine).
You'd be looking for hot-plugging/hot-swapping your GPU instead, to un-attach your GPU from Linux and re-attach it to your Windows KVM when it boots.
Back when I was setting up my system, this was not possible on AMD yet due to a bug (Can't vouch for Nvidia or if the AMD bug is fixed by now though)
I think this is useful if you have multiple GPUs (like iGPU from the CPU and a dedicated installed graphics card, possibly even another one). Then I imagine you access the dedicated "full" graphics card for gaming in the guest VM and your host OS can use the integrated graphics.
Even if you only had one GPU, i'm not sure why this would mess anything on other applications. It's the operating systems and graphics drivers job to not mess things up, by only accessing stuff it is supposed to. I mean you can even run multiple games at the same time on your host machine. So from that perspective, the VM becomes just another "game".
Disclaimer: I'm not an expert, just curious as you. And this is what I think. Not even sure if it explains anything at all.
I tried single gpu passthrough. In theory it should work that with some settings you unload the driver and give it to the vm and then back.
However I couldn't get working without ending on the login screen and starting a new session. So there waw no point for me if I can't keep my software running.
Be careful with changing components after you redirect one, it'll change the IDs and mess things up. I tried once and the IDs kept changing so I gave up. I might try again some day when I'm feeling masochistic.