Is it a good idea to run windows in VM with gpu passthrough (nvidia RTX) for certain games, instead of dual booting?
I've been dual booting Linux and windows for about two years now, but in those two years, I have never booted into windows, except by mistake.
This made me think about removing windows and just saving that wasted space for Linux. I only ever dual booted for the off chance the peer pressure to play anti cheat games was too great, but so far it hasn't.
For the off chance where I want to play a game that doesn't run well on Linux, is it a good idea to do that via VM instead of dual boot, or is it too much hassle? Will there be performance hit or any issues with those games?
The VM isnt going to have the specs of a true Win boot because some of the resources will be used to run Linux. The Win VM will still take up some storage space even if dynamic. If youre really set on playing Win-only games that are resouce intensive, I dont recommend getting rid of a a true Win boot.
Or, you can be like me and just stick to games you can play on Linux only. As far as Im concerned, if my Linux Mint can't play them, they don't exist.
i've had good success with this but ofc ymmv. it can be hard to get your windows vm performance tweaking right and it can take a buttload of time. if you want best mitigation of anti-cheat risk and best performance then you should continue to dual boot imo.
depending on how you virtualize your windows install, yes, there are ways to kind of "spoof" your machine details (like manufacturer, desktop instead of vm) but again, it won't be fool-proof and it might take a lot of time to get working well. i definitely have not tested that many triple-a windows games with anti-cheat because that's just not my gamer wheelhouse, but so far after spoofing some of my machine details (spoofed as a baremetal oem install) i haven't had any issues.
I've read that the anti cheat engines will be triggered by a virtual machine. Not sure which games you play but you might have issues if they are online.
I wanted to go the VM route about a year ago, but I ended up deciding that it was just too much hassle and have kept my Windows dual boot for the extremely rare occasions that I need to use it.
I started out using the GTX 770 from my previous PC as the secondary graphics card to pass through to the VM - which is a lot easier than doing it with a single graphics card - but given how often I actually need to use Windows, I didn't feel particularly comfortable with the extra power use.
So I decided I'd have a go at single GPU passthrough - which took me probably about six months of on/off (mostly off, admittedly) tweaking to get to a usable state. The first time I managed to boot Windows from my Linux install, I nearly cried. After a while fiddling with it, I decided that, as technologically awesome as it is, it really wasn't that much different than running it on bare metal. The straw that broke the camel's back was my inability to get Windows to gracefully hand the GPU back to Linux, despite the fact that it should have been as simple as reversing the steps to give Windows the GPU in the first place.
It used to be worth it, but Linux can run so many more games now thanks to Proton and other improvements. Most of the games that won't run on Linux now don't run due to anticheat, and many anticheat programs don't like VM/GPU passthru.
So basically I don't consider it worth it anymore.
Well in terms of anticheat, VM's require immense amounts of knowledge to avoid detection. Ive heard specifically that Rainbow Six: Siege will ban you for playing under VM, as well as Valorant. Dual booting is best to avoid anticheat, but if that doesn't matter, then a VM with passthrough can be extremely performant.
I am running Windows 11 (and before Windows 10) for years, using Steam, GOG, Epic, Origin. Have over 300 games, probably played 100 of them over the years. Never been blocked by any Anti Cheat software - in fact I would love to hear who has been banned and look into the details. Also I am unsure why people say that there Windows VMs inefficient, I would love to see some statistics about that.
I use GTX1080 passthrough-ed with Qemu/KVM and AC Valhalla works with over 60FPS on Ultra.
Proper setup requires some time of tinkering... Make sure you setup hugepages, proper CPU pinning, you need to play around with kernel boot params, direct passtrhrough of NVMe helps... Googling helps a lot...
I've been running a setup like this for years without issues. Only the initial setup was a bit cumbersome, specifically getting it to work with just one GPU. Ran two for sometime before I got it working without issues though
It's possible to do passthrough with a single GPU? I thought the whole point of passthrough was that the guest operating system took control of the hardware directly and that precluded sharing it with the host. Is single-GPU passthrough with an accelerated desktop on the host viable?
Yes it is, but ofc. the host screen goes blank when you start the VM. I run enerything on one virtualization host as VMs so this is not an issue. Basically I can run one machine that requires the gpu at a time, and of course all the headless ones like servers and the firewall keep running normally in the background.
@cyclohexane Anti-cheat will often detect and prevent/ban it, so the use case it fills is that ever-shrinking group of games that run on Windows, can't run under Wine/Proton, and don't have anti-cheat.
GPU passthrough works amazingly well… when you have the required hardware and spend a lot of time to make it work.
It’s an elegant solution but it’s also difficult to setup and maintain. To be fair, I don’t think it’s worth it when you can just have a dual boot going. And you’re going to be running Microsoft’s software either way, soooo…
If you have a very particular workflow that makes it very painful to reboot, then yeah it’s worth it, and yeah it works perfectly well. Otherwise, dual booting when you need to is more efficient and less time consuming, I think.
I've got it working in the end, but it was a lot of fiddling, googling,reading and stealing tidbits from different guides and a lot of trial and error, so unless you have a specific usecase (in my case it being a VM on my living room media server & getting VR working) i would go with Proton first, dual boot second.
These days this is rarely that useful. The most common reason games don't work on Linux is anticheat, and games with that kind of anticheat tend to try to stop you from running them in a VM too. There are ways around that, but it's an annoying cat-and-mouse game.
The way I would handle things is first I would look for a native Linux version, and if that wasn't available, then I'd try to use Wine / Proton, and if it didn't work that way either, then I'd look at streaming it through a service like GeForce Now. It would be easiest to have a separate drive with Windows on it but now that Microsoft is turning Windows into ad-filled spyware more than ever before, especially with Windows 11, I'd rather use one of the above options instead.
I'd even be tempted to get a Mac Mini to handle the software that wouldn't work with one of the above options rather than use Windows.
I would recommend not using a VM with a passthrogh. Its a pain to setup and even if you manage to do it a lot of games with built in rootkits (kernel level anticheats) will still block you since you're using a VM.