Windows 10/11 VM with GPU pass through?
Running EndeavourOS and found a few games that have had some issues on linux, that I have found to be pretty much unfixable.
Unfortunately that would mean using a windows dualboot, and I really don't want windows on this laptop.
Would there be a way to run a windows VM with passing through the dgpu (AMD RX 6700m GPU), BUT able to use the dgpu when the VM is powered off? Unless I'm misunderstanding the guides, the gpu would be "locked" to the VM, and that would be unacceptable as I would mostly game on the host OS.
This is probably a given but the laptop does have integrated graphics as well (AMD Ryzen 7 5800H).
Any potential help would be appreciated, thanks!
This is possible! At least, I’ve seen it described in other people’s setups. Having the integrated GPU should help in this case.
If I remember correctly, you need to make sure the vm shuts down properly so that it shuts down the graphics card properly. Then you can unload the vfio-pci module and load the correct module for your card.
Two great resources are the subreddit (unfortunately) r/vfio and the arch wiki page: https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF
There's a way to do this with an iGPU/dGPU pair. Essentially it means firing up the VM with dedicated GPU passthrough, and then remoting directly into it from the native install using something like Parsec; but if I recall there was a direct memory access way to get the passthrough GPU output to the main display as well; I just can't remember it at the moment.
The alternative is having a monitor with dual/tri inputs, and swapping the output to the dedicated GPU. Maybe some trickery with a KVM to move the mouse/keyboard over.
https://looking-glass.io/ -- This may be the other solution I was having trouble remembering.
Using something like "Barrier/Synergy" might be a software-solution for the KVM side of things. Some guys also just opt to have their dedicated GPU hooked up to a second, dedicated monitor.
edit Reading more into this, I missed the part where this was a laptop - you're likely hosed. Laptop dedicated GPUs also run through the internal GPU; so technically you have 2 GPUs in your system - but from what I understand, they basically have dedicated switching hardware for handling the handoff, and I'm not sure modern laptops allow any such control over all of that.
KVM + LookingGlass + VirtManager should be the way to go. I don’t have a good complete tutorial on this right now though. But good place to start looking.
You would probably have to change your settings back then reboot to use it with the host then change again and reboot to use it with the vm
Change what kind of settings?
On my server I had to bind the GPU to vfio then reboot, this way the host doesn't use the card and I can then assign it to my vm
Isn't that looking glass?