Return to Level1Techs.com

Couple of questions regarding PCI-E Passthrough windows VM gaming (VR, Audio DAC, Streaming)

Before anything this is my first time posting on the forum so please tell me if I did anything wrong.
It’s been a long time I wanted to make the switch to Linux after trying so many distros (mint,ubuntu,arch…) But after watching Linus video with level1tech his videos and someordinarygamer’s on PCI-E passthrough Vfio/iommu QEMU windows setups I think I’m ready to make the switch, however I feel like to be 100% sure I would need to get these questions answer and hopefully you could help me make my final decision.

The first question is could I even do it with my current rig? If not the rest still interests me as I’m planning on eventually buying a whole new setup so here’s my specs:

  • i7 4770K Haswell CPU
  • B85M Asrock motherboard
  • GTX 970
  • 16Gb RAM DDR3
  • 512Gb SSD and 1Tb SSHD
  • Wifi/Bluetooth PCi card

My second question might be a really stupid one:
Could I use my secondary monitor with my linux host while the VM is not running?
I plan on having the host run off the integrated HD4600 graphics and the windows machine on my GTX 970.

As I have two drives I wonder if I could dedicate my 1Tb hard drive only to the windows machine so I use the snappy SSD only for my host linux and I don’t want one taking space on the other OS, can it be done?

I know that 2 sets of mice and keyboards are necessary during the installation process but when that’s done could I be using a software solution like Synergy (it’s the only one that comes to mind rightnow) in order to navigate between host and VM with only using 1 mouse and 1 keyboard?
And if that works would there be additionnal input lags during a gaming session?

I also do audio-recording on windows and my only solution is using a DAC which alows me to plug in my guitar, my headphones and my mic and to same time which brings my to the question, is the audio of the VM passthrough to the Host? Because not being able to use my headset for both is kind of a deal-breaker for me. Luckily I use reaper which seems to also seems to work on Linux however it would be nice knowing if it’s possible to use my HD6XX on both the Host and VM simulteanously.

I hardly ever but sometimes I like to stream games on twitch would you say it’s possyible to use to host sstem like a capture card and record the entire VM through OBS, or would it be wiser to use OBS from within the VM itself rather?

And speaking of games do you think there is any reasons my Windows Mixte Reality headset wouldn’t work? I know it probably means that I should passthrough my Wifi/Bluetooth pci card for the controllers to work.

I think that’s all that’s keeping me from having made the switch already and I would be really grateful if some of those questions get answered and thank you for having read my post.
The Host linux distro I’m considering is Fedora but I’m open to other suggestions.
I’m really sorry for all the noob question this project is maybe too-much of a big deal than it should to me.
For any grammatical error and sentences that doesn’t make sense I appologize as I’m not a native speaker.

OK so a few points. First things off, make sure you even actually need a passthrough approach.

Between Linux Native games, Proton and Lutris, and by extension WINE, there are a lot of options to run games without even touching a VM.

That being said, if it turns out you do “need” a VM:

Don’t see much wrong with it. As long as Virtualisation is enabled there should be a way. Though I’m not too familiar with every piece of hardware.

Yes and no. If you are plugging it directly into the guest-GPU, then no because the Host will not see the card.
Technically there are ways to re-bind the GPU to the Host machine when the VM shuts down, but it depends on the card and doesn’t always work.

However you can also plug the monitor into the Host-GPU and use Looking Glass to display the VM’s rendered image on the Host machine.

Yes, it can and should be done.

You don’t need any special software for that, the VM supervisor has that built in (typically).

As for the rest of the questions I do not know.

Thank you so much for your answer it already clears up my mind a bit on doing this project.

So I did a little digging and it seems like all my questions can be answered with a yes:
thanks to a user on youtube called ufoludek Audio passthrough is possible via using a spice video server and disabling the video making it AC97 and installing the driver on the windows VM which are unsigned.

Synergy can be setup on both host and VM to allow only one set of mouse/keyboard.

And I should be able to use my secondary monitor just by plugging the additionnal output of my host gpu

Hey, Just wanted to add my 2cents based on my experience:

Synergy - I use one monitor for both host and guest. Synergy works perfectly for this setup. I am no competition gamer but I have used synergy to play through borderlands 2 on the guest without any lag issues. Just make sure to check the “relative mouse input” option.

HDD - Best results came from having each OS installed separately on their own HDD. Pass through the HDD that contains the native Windows installation to the VM. You just need to find a way to install virtIO drivers in the existing Windows installation. With this method you can always boot into your native physical Windows installation via your BIOS quick boot option if ever required.

Sound - You can pass through a separate sound card and use an audio mixer to have your devices connected to both machines at the same time. I do this for audio output but I don’t see why it would not work for input as well.

Bluetooth - Shouldn’t be an issue to pass this through. You can always buy a cheap USB Bluetooth for the guest if Bluetooth is required for both guest and host at the same time.

Based on your motherboard setup, if there is a separate USB controller for some of the USB ports you can pass the USB controller through to the guest and have your USB devices connected through these ports instead of having to pass each USB device through separately.

  1. Haswell is not competitive today to run VMs, the performance drop is too high and motherboards have weird implementations.
    I did run mine on Haswell and you can do it.

  2. Get an extra cable, that is the best solution. But yes, there are other options.

  3. Set of 2 input devices are not necessary ever, they are just preferable when gaming or other specific tasks.

  4. You can route audio or devices, in your case it might be beneficial to run the DAC in windows and route the linux audio to a mixer or to windows. It can be done in both ways.

  5. Streaming is now best done using GPU or a CPU, in your case you could use both. I would recommend GPU first. No need for capture card.

  6. I am running Oculus VR headset - it was a bitch to setup due to:

  • Headset uses HDMI, but it is not a monitor
  • 3x USB devices that are next to impossible to pass-through as USB.
    I resolved bought by few bucks worth of HW - USB card and extra cable to a monitor.

Overall - You might want to try running linux in Windows VM first and wait for an update. Your current specs are below comfortable. I am running Kaby Lake now and it is just fine.

love it thank you so much for your return

Yep I’m thinking about it as I just saw that my i7-4770k doesn’t support VT-d anyway