I currently have a workstation I use for productivity and gaming, as well as a ‘server’ running on an old Athlon CPU primarily functioning as a file server running Unraid, with several Docker containers.
For much beyond NAS functionality, this server is very underpowered, it’s running an array of old HDDs, and where I’m messing around more with different environments, I could really use the ability to quickly spin up and switch between OS’s.
Upgrading the server seems kinda silly when my workstation already has enough power and is always up. I’m thinking about running the workstation as the server using Unraid, setting it up with a HBA and some SAS drives I already have, then running several VMs.
I’d be daily driving these VMs, planning on Windows still for now, with things like CAD and gaming remaining the primary functions. I’d like to experiment with Linux more for regular use, and will likely be running additional VMs for development and experiments.
This sounds like a logical idea, but I’m concerned about some of the potential technicalities that could cause me problems. I know anticheat can be a concern, but I don’t think that will effect any games I play.
Are there any additional things I should consider here? Am I best interfacing via thin client, or can I connect directly?
Usually for Windows VM gaming you want to pass through a GPU and a USB controller and plug in directly. You might be able to use something like Steam streaming but I wouldn’t recommend a normal desktop-app-oriented thin client setup, not having tried it.
You may run into weird problems with latency spikes: mostly it will work great and everything runs at 90 FPS or whatever, but then inexplicably 1 frame every few minutes takes 100ms and nobody can tell you why.
There can also be problems with storage access speed. What ought to be very fast storage on the host is substantially slower storage once the image file and host FS overhead, or the block device pass through overhead, come into play. Or maybe you just need an NVMe device to pass straight through.
I daily drove a Windows VM on Unraid for a solid 6 months. I did it because I’d wanted to try it out for a long time and after upgrading my server I finally had the resources to spare to try it out. Would I recommend it? Not for most people, especially if you intend to game on it. Most anything with fascistic anti-cheat will not run because it detects that it’s in a VM, so it really limits your options. Performance-wise, the games that did run ran pretty well. FO76 ran between 80-120 FPS at 4K with most settings maxed. Similar with Destiny 2. I didn’t do a lot of gaming during that time but those 2 titles were the most notable ones.
As for regular desktop use, most of the time I didn’t even think about the fact that I was on a VM. There was a weird issue that affected only YouTube in Chrome where pages would load but most of the elements on the page would take 5-30 seconds to fully pop in. I tried it on several browsers and it had the same issue. That was really the only notable issue I had though.
In summary, I’m glad I did it because it was something that I really wanted to try because virtualization in general I just find super interesting. If it’s something that similarly interests you a lot and you like tinkering, then go for it just to get it out of your system. I’m glad to be back on bare-metal for my daily driver PC though.
For reference, my Unraid server consisted of a 7950x (16-core), RTX 3090 (now relocated to my daily PC), and 64GB RAM. I allocated 6 cores (isolated from the host), 24GB RAM, and the 3090 passed through to the gaming VM. Also had a USB controller passed through. For storage I used a vdisk on an NVMe drive. Intended to pass through an NVMe drive but never got around to it.
you do not need windows VM to game these days. Steam done fantastic work with proton, Majority of games are just works, some don’t but not like we have shortage of games these days. CAD is different story.
I’ve been daily driving a Debian 11 Proxmox VM running on an HP ProDesk Elite SFF with an i7-6700T and an ancient Nvidia GeForce GT 730 passed through.
I access it via ThinLinc running on a Dell Wyse 5070 Extended thin client. Works really well, even video isn’t bad, but it’s not for gaming.
For gaming, I’m working on setting up a Nobara VM with an Nvidia Tesla P4 passed through.
You could always use Windows as your host OS to maintain your ability to game and generally be productive as you currently use it, but then run VirtualBox for whatever other OS your heart desires.
You can run it headless and start on boot so you won’t even know it’s operating in the background unless you open the console.