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!
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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 😃
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.
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.
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.
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
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'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.
[This comment has been deleted by an automated system]
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.
@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.
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.
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.
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 did this for a while with single GPU passthrough, Although keeping it working didn't seem to be worth it in the long run.
Just use dual boot. There is WinBTRFS driver available for Windows, which means that if you have separate disk for games, you can format it as btrfs and share the same Steam library on both OS.
VR on Linux sucks (almost in every possible way) and I have to use Windows for this. I share the same library between both OSes and I boot Windows only to play VR, while the rest of the games I play on Linux.
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.
I previously commented on here: https://lemmy.world/comment/59590
However, yesterday I learned a bit about Proton that may help you commit to finally getting rid of Windows entirely. You can try it out on your Linux boot and see if your game work well on there before committing to it.
Here's some info on how to use Proton to play Windows games on Linux: https://www.makeuseof.com/install-proton-ge-on-steamos-linux/
You might get Issues with some Anti Cheat Systems