Gaming in a VM on linux

So I did a thing! I started upgrading hardware with the express purpose of running windows in a VM, for gaming on, a long time ago. Buuuut, never had the time or the lus for the monumental effort, in trying this out.

So, about a day and a half later, I have Windows 10 running in a VM, passing through a 1080Ti graphics card to it, along with a keyboard, mouse and a usb headset for audio. Gave it half the CPU cores (8), with 16Gb memory to play with. Oh, and passed through an NVME drive, that I was using in any case, for the native install of Windows 10. It has a 1080p @120Hz screen attached. All in all, seems to be working :scream:

3DMark original gave me 4400. Then optimisations pushed that up to 7800. Native performance sits at around 9100. That’s a 15% deficit. All in all, not bad. Since the VM only gets half the CPU resources (well kind of). As well as the C-drive running off of an encrypted linux drive

On to actual gaming. CODMW seems to run like shit. Let me rephrase that. CODMW runs normal. 115fps :joy:
Borderlands 2 runs like a champ. I capped it at 120fps.
Grim Dawn seemed fine too.
Far Cry 6 runs at 70-ish fps with a mixture of medium/low settings.

Telegram compression, butchered my photos :upside_down_face:




There are some things I still want to work out:

  • cleaner switching between audio, because I don’t always want to use headphones.
  • find some sort of drawer desk furniture to “stack” 2 keyboards on top of each other.
  • buy another monitor mount, so that i can move the main 34" screen out of the way, and bring the 24" in, front and centre, when gaming
  • fix the only REAL issue i have at the moment. snapshotting isn’t working with the windows vm, though it works for other vm’s.
4 Likes

What are you using for your main OS’ display output? Last I looked into this stuff I would have needed two dedicated cards.

Bought an nvidia 1030, using that in the first pcie slot. Ti in second pcie slot.

I know the intel cpus with onboard graphics work. It would be interesting to test amd cpu like 5600g.

1 Like

I might just try this over the festive season… I’ve got Win10 and Garuda Linux on dual boot right now, and literally the only reason I can’t ditch Win10 is BF2042, SolidWorks, and PC game pass.

What VM software did you use?
IIRC if you pass your gfx through, there only a black display in your host OS, is this still the case?

QEMU with KVM, Libvirt and virt-manager. It sounds like you might have passed the GPU that your host was using, through to your guest vm. But I can’t be sure. I never experienced this black screen.

Since you’re on an Arch-based linux, you could try pavol elsig’s scripts:

Ultimately though, he’s just packaging the arch wiki into scripts
https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF

2 Likes

Where is the “woosh-over-my-head” emoji?

1 Like

Update: figured out how to snapshot windows. You can’t do it with “pflash” ie. uefi . You need to change it to “rom”, then snapshot. Obviously change it back, before you attempt to boot.

Also, I’m going to reinstall it, because I need to use the virtio windows storage driver by red hat. That should eliminate the c-drive bottleneck at the moment, and hopefully bring the performance difference down from 15%, closer to 5%, if not lower.

3 Likes

The last thing that was holding me back, was Oculus Quest 2 Airlink couldn’t see the Gaming VM, because it wasn’t on the same subnet. But I realise I can solve that easily, with a laptop ethernet dongle, and simply connect it when I need it, which isn’t much. :crazy_face:

So… I’ve decided to go all in on this idea. The workstation computer has worked so damn well, that I’m converting the simrig computer into the same thing, albeit somewhat beefier. 5900X, RX6600 for host, 32Gb RAM, the existing RTX 3080. I wanted an AMD GPU for the host OS, because nvidia’s @#$% drivers are the weakest link for linux support. Honestly, would’ve liked something older too, not the RX6600, since I wouldn’t be gaming on the host. But hey, whatever.

I will most likely keep the original NVME that has Windows installed on it, somewhere in a box. But I don’t expect to use it much, if ever.

Things to still sort out:

  • Might need another screen and/or a USB KVM Switcher
  • Need to figure out how I’m going to record OBS. There are many options, I just need to choose, and do it
  • Automated snapshots of Windows, ideally, before updates would be great. I guess that would be every monday? :man_shrugging:

The future is looking much much rosier for me. This is about as dream a computer as I’ve ever aimed for. And it’s actually within reach :star_struck:

1 Like