I’ve been wanting to make a proper switch over to Linux for a while now. I’ve currently have a dual-boot setup but still mostly use Windows. The majority of my games should work without fuss, but I’d like to have a simple solution for running the handful of things that don’t work in Linux, such as my WMR VR headset and a handful of Steam games.
Linked is a video on Single GPU passthrough with KVM/VFIO, which I’d like to try.
Before I try this, I’d like a sense of how likely it is to work, and I’m wondering if there might be a better solution I don’t know of. I’m also open to any tips you might have about speeding up the transition between Host/Guest OS.
Here are the specs of my machine:
Motherboard: MSI B550 A-Pro
CPU: AMD Ryzen 7 3700X (no integrated graphics)
GPU: Nvidia GeForce RTX 3070
RAM: 32GB DDR4 3200MHz
Host OS: Manjaro
Guest OS: Windows 10 Pro
I do this for testing graphics code on different OS/GPU combos - I have an AMD and Nvidia GPU (hoping to add an Intel one eventually) which can each be passed through to Windows or Linux VMs as needed. It works like a charm, with the only minor issue being that I have to use separate monitors for each because I can't seem to figure out how to get the GPU output to be forwarded to the virt-manager virtual console window.
I don't know if you can do it in software with passthrough, as the guest controls the hardware and would need to coordinate things.
Using a KVM would be a hardware solution that would permit for one monitor, though.
I considered a KVM or something similar, but I still need access to the host machine in parallel (ideally side-by-side so I can step through the code running in the guest from a debugger in my dev environment on the host). I've already got a multi-monitor setup, so dedicating one of them to a VM while testing stuff isn't too much of a big deal - I just have to keep track of whether or not my hands are on separate keyboard+mouse for the guest :)
Ah, I gotcha. One keyboard/mouse, VM guest output in a window on the host would be ideal.
Run a VNC or RDP server on the guest VM, connect with a client on the host? That won't have quite the performance – if you're debugging a 3d game and playing it as part of it, you'll get latency, so that won't be a good solution for OP – but that may not matter for your use case.