So I've been looking into moving back entirely to Linux, but I play a lot of games so would likely need access to windows. I'm considering using KVM as dualbooting isn't really something I'd want. I've some questions I don't really get from how this setup would work:
- I have 3 monitors. I have 1 Nvidia 2060. I imagine I might have to get a cheap-ish 2nd video card for Linux as the 2060 would have to be passed through to the guest (windows) VM.. right? (I have integrated graphics, but not enough connections for the 3 monitors on it)
- how do you switch between playing on the host and playing on the guest? I.e. if a game runs fine native on Linux, I'd want to use that instead of the windows vm. Is it possible to use the Nvidia card I'd normally pass through on the host? The only thing I can think of here is to run a Linux VM on the Linux host so the card can be passed through to it..? Or is it just not worth it and better to stick to just playing on the windows VM?
- how do multiple monitors behave in this? E.g. I connect the 2 monitors on the left/right to the weak card which I dont have yet. I connect the middle monitor to both cards. Once I launch the VM I change the input on the main monitor to the connection with the Nvidia card. How will my monitors behave (and will I have any control over it)? E.g. will I be able to move the cursor across from the left monitor through the middle monitor and to the right or would they act more like 2 different PCs?
- how do other things work, like microphone? E.g. can I have discord running on Linux and talk in voice chat, while also using the microphone to talk in game chat in the windows VM?
Answering any of them is useful, thanks in advance. Also if I misunderstood how this setup is meant to work, feel free to correct me.
It behaves like 2 computers. I have mine set up to change my input from 3 monitors to 2 monitors when the VM starts with qemuhooks by running a xrandr script. You can position the 2 monitors virtually wherever you want. qemuhooks executes another script when it shuts down to switch back to 3 monitors. (Arandr is a great gui to set up the monitors the way you like them and then save the setup as a script)
I have 2 mice and 2 keyboards. Gaming one is just the left half of a split keyboard. The gaming mouse and gaming keyboard get passed through automatically on VM startup.
You can use one kb and mouse on both the host and guest but need to manage switching back and forth with keybinds. There are probably other solutions that I am not aware of maybe ones that let you move the mouse in and out of the virtual machine.
I really like this setup though since I can have a web browser, discord, music etc open on the host and can just switch kb/mouse to control them and don't need to worry about switching the input back and forth or cycling focus (alt tab etc.) the way i would if I was not using a virtual machine.
If I want to use the mic in game and also on discord I pass the mic through to the guest and just run discord in there.
I liked the setup so much that I installed a Linux VM. Eventually everything I was playing worked on Linux and I didn't need windows anymore so I got rid of it but still use the passthrough.
I have a w11 KVM + nvidia card, even bypassed EAC when it detected the VM and refused to start
I use my iGPU in the Linux host and it's fine. I only game in the VM for lots of reasons. You can swap them but I don't have experience with that
The mic if you add it in VM hardware as passthrough USB will work on your host until the guest boots then it only works on guest.
For multi monitor just try and ask if you have specific problems
One tip is setup sunshine on your VM so you can quickly jump in from any moonlight device. Looking glass Is better but only works from the host pc
Lmk if you have other questions
Unless you play games with intrusive anti cheat pretty much everything works flawlessly on Linux.
I moved to arch permanently (been using Linux for other stuff and on my laptop for ages) after nvidia finally sorted their wayland support back in spring and I haven’t had a single game not work for me
Maybe it's too fancy and difficult for you. Take a look for moonlight + sunshine, parsec and their competitors.
eh games work fine in linux now and the ones that dont, will usually not work on vms either
About the second point, your pc shouldn't be putting any resources towards a VM if it isn't active. Just shut it down, close it, and play games on your host as normal.
One more thing, I'm assuming you're doing your gaming on Steam. Check ProtonDB for all of your games to see if they work on Linux (protondb only lists steam games, so if you have games as well, I've found a google search usually does the trick). You might find that you don't even need a VM
Unfortunately for some of them even if the game works there are often cases where either mods don't work or some overlay/other additional software.
On your answer though, I was under the impression that when you configure the KVM passthrough setup it makes the video card you use for the passthrough inaccessible for the host itself and that to make it accessible, it requires undoing some of the config and a restart. Is this incorrect?
It's incorrect. I have 2 AMD cards, I can detach it from linux before booting the guest. After I shut down the guest I have to log out in Gnome to make the card usable again, but no reboot required. It depends on how you set it up. I have a single 34" monitor with 2 inputs, connected to both cards.
I recommend to read about this topic, it would be quicker than waiting for people to answer, your questions were answered multiple times. I recommend the vfio wiki on the r*ddit a lot of good links are collected there: https://old.reddit.com/r/VFIO/wiki/index