Not just two VMs — two *gaming* VMs! It was an adventure!
Something I’ve wanted to do for a while now was to leverage the current position of my server. At our new house, I made the decision to put my PC in the basement and run loooong cables up through the floor for my monitor and a USB hub. Now I have a completely silent desktop, and for the most part that worked really well. I was running a main Windows VM with passthrough of the USB controller and GPU (3070ti). GPU passthrough was slightly challenging, as my CPU (3900x) does not have an iGPU, but I learned how to bind the Unraid… kernel (?) to a dummy GPU, thereby freeing up the actual horsepower for VFIO.
Since acquiring a Steam Deck, I have been more and more impressed with the Linux gaming experience. I originally wanted to dock the Deck next to the TV as a place where my kids can come play games, but I learned I very much did NOT want to share my Deck. 🙂 I then spent some time running a “dual monitor” setup on a Manjaro VM, with one monitor upstairs and the other being the TV downstairs.
This worked for a while, and was a fun experiment. However, it was a major PITA to try to clone a 1440p monitor to a 4k display running at 1080p, so I knew I would eventually need a separate GPU. I had my heart set on an RDNA2 6600xt, but wanted them to go below $200 on the used market, a price I still haven’t seen. Meanwhile, I wasn’t even sure if I could run this setup, so it was a decent outlay for a big “maybe”. In the end, I found a used RX 580 8GB, and set to work running a trial with it.
Initial results were: success! I switched distros from Manjaro (which I was struggling with bluetooth passthrough) to Nobara, a Fedora-based gaming-focused OS from GloriousEggroll (Proton-GE maintainer). This also had me switching from KDE to GNOME, but that hasn’t been as hard as I imagined. I had been hoping for a SteamOS 3 wide release (instead of HoloISO or WinesapOS), but realized all I really wanted was the DeckUI in Big Picture mode. As it happens, Valve released DeckUI as a beta product for Steam Desktop. Huzzah!
Setting up the VMs was trivial, as it turns out. Each is now on a dedicated, passed-through drive, each has its own GPU, and each has 16GB of RAM and 4c/8t to work with. I had a harder time actually FITTING the GPUs in my case than I did setting up the actual VMs! Thankfully the GPUs I’m using aren’t excessively thick, since I also needed to squeeze in a PCIe SATA adapter. During all the pushing and shoving I accidentally dislodged a SATA cable to an array drive, but a days’ worth of data rebuild and we’re back in working order.
Along the way, I learned about Steam Family Sharing, which is perfect for my use case. I created a Steam account for my eldest, and granted them access to my library in its entirety. Naturally, not all my games are appropriate for under 10s, so I quickly learned about how to set up Family Access / Child accounts. Wonderfully, you can set a game-by-game whitelist, so I can pick which games show up. I can turn off any of the Social side of things, and overall it was a very smooth experience.
Anyways, I wanted to take the time to document the current setup. Having secured a kids’ gaming VM, I finally dusted off my VR kit and got that plugged back in to the Windows VM and even played a round of Pistol Whip, a first in more than a year. I’m looking forward to further optimize my setup and actually enjoy some games with the kids!