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.
Thank you all for the helpful answers. I’ve deleted Windows and decided to not even try running it again.
Hello Gentoo Linux full-time!
The good ending
I was in the same boat as you and deleted Windows two years ago. Never regretted it and I’m sure you won’t either 😃
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.
Do you do this to play games with anti cheat? I read that some games detect that. Are there ways around it?
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.
What hypervisor are you using?
I use proxmox and run a couple windows VMs for Remote Desktop. I’ve passed through nvidia gpus and even at point had a nvidia grid setup running splitting up a P40 across multiple VMs.
The nvidia gpu’s require several config options to ‘spoof’ a real desktop and prevent the code 43 error but windows still identifies them as virtual machines. I’ve never found a way for trick windows itself into thinking it’s stand alone.
Correct me if I’m wrong, but I believe Nvidia stopped producing the stupid code 43 error on their (consumer) GPUs a while ago (version 465 of their drivers). The P40 is possibly different because it’s not a consumer chip, but for gaming GPUs it should work out of the box now.
I say should because Nvidias driver are hot piles of garbage so even if they intend to make it work in VMs now there’s a good chance it just doesn’t.
Its been a while since I’ve had any gpu’s attached to a windows VM but I think my time pre dates the change. I realized they were not actually doing anything for my given workloads so I sold most of them. The P40 is setup in a VM for tensorflow now and one of these days Ill get the time to go back to that.
deleted by creator
for hypervisor i’m using libvirt+qemu. by doing this, a few lines in the .xml for the vm is all that is needed for me to enable some hyper-v feature flags to spoof to windows that it’s not a vm. check to see if proxmox has some hyper-v features you can enable for this purpose.
It works great if you’re willing to put in the effort of setting everything up the right way and don’t care about the tiny performance impact and the lack of direct storage support. From what I can tell, the performance impact is in the low single-digit percentage range with modern hardware (VT-x + VT-d + IOMMU or the AMD equivalent). It’s hard to say if this is too much of a hassle, that really depends on how much experience you have.
There are some in depth tutorials available that will guide you through the setup step-by-step, but they involve a lot of config files that you may or may not need to alter to suit your setup.
Ease of use is increased a lot if your monitor(s) can be attached to a different GPU than the one you’re trying to pass through, for example if you’ve got an iGPU built into your processor.
If you’re passing through your only GPU, you will probably need to do some pretty weird shit to safely detach the GPU, reattach it to the VM, and then hope that nothing broke in the mean time because you have no way of knowing what’s going on. I recommend enabling SSH and getting an SSH client set up on your device before you go this path.
Be aware, though: some anticheat software considers VMs to be forbidden or even ban-worthy. You can try to start an arms race against this software but ultimately their millions of dollars will overcome your drive to play that one specific game.
I’m in the same place regarding Windows, only booting Windows to play some games from my hard drive (lol remember hard drives) but I don’t think I’ve booted that partition this year. With Valve’s work on Proton and Lutris for the non-steam games, I just don’t play that many incompatible games anymore. I’ve messed with passthrough VMs (specifically, Hackintosh through libvirt) and I found them not too hard to set up.
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.
Personally a game that doesn’t run on linux turn me down so much that i don’t want to play it at all. Check https://libregamewiki.org/Main_Page
deleted by creator
Hey op if you do go with passing through your GPU check this out https://looking-glass.io/
@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.
Not sure it’s worth doing at all.
So it looks like either commit to dual booting, or commit to never playing those games…
Maybe I’ll just commit to never playing them. I’ve never used windows in 2 years, so it’s a waste keeping it…
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.
I see, that makes sense. So basically serially passing the device around from one system to the next. Thanks for the response, it’s been a long time since I looked at passthrough and this is news to me.
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.
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.
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 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.
You might get Issues with some Anti Cheat Systems
I did this for a while with single GPU passthrough, Although keeping it working didn’t seem to be worth it in the long run.