GPU Passthrough & Streaming

As the title says, I want to be able to do GPU Passthrough. Host would have a vega 64, guest would have a 5700xt.

I want a Linux host (distro doesn’t matter much) and Windows VM for all of my gaming. I also want to stream my gameplay to twitch from the host os using a capture card from my guest gpu. The games I would be playing are Destiny 2, Apex Legends, and WoW Classic.

My question is on the CPU side. Would a 3900x be adequate for this? I’m assuming 6cpus to each? Or maybe 4 for host 8 for guest. Or should I wait for the 3950x or new threadripper assuming it will come out this year.

Any advice is welcome!

P.S. I can’t believe the 3900x is sold out everywhere!

More than adequate.

A dedicated gaming VM would only need about 2 cores or 4 threads for decent performance, though one extra core perhaps wouldn’t hurt there.

So, the 3600 should be good enough if you are looking for bang for the buck, 3700X is adequate, and the 3900X is probably overkill for your use case.

Yeh, I don’t know about the 2 or 3 core for the guest thing. In the past I’ve run 2 cores to a gaming vm and it definitely was not adequate. With bf1 for instance 3 cores were necessary to even make it playable. (Then I only had 1 cpu left for the host.)

I want this system to be good for 4 years to come and from benchmarks it seems that even the 9th gen i7 is 100% maxed on certain games and it has 8 core with no hyperthreading. Games should take advantage of more cores even more heavily in years to come and I don’t want to need to upgrade in a couple of years.

Unfortunately there is a reset bug with both these cards. Someone here is working on a kernel patch to fix it but I think it’s still a wip. There’s no problem using the Vega on the host. However, the 5700 will have issues when restarting the VM.

Here’s the details -

Also, if you’re using a distro on kernel 5.2 it’s best to upgrade to 5.25 or greater as there were some virtualization regressions that got patched. There were also some problems with systemd and Ryzen 3000 processors but I believe those have been patched as well.

Last but not least, if you’re going for an X570 motherboard I’d suggest going for one that has a bios update w/AMD Agesa v1.0.0.3abb or later if you can as you may run into problems with IOMMU otherwise. At least I did on my X570 board with 1003a.

TL:DR get the latest patches yo. :stuck_out_tongue:

A 3900x should be adequate. 4c/8t for the guest, and the rest for the host to capture and encode should be sufficient.

As @Novastark pointed out AMD cards have the reset bug so no restarting the guest without rebooting the host, which is annoying. And pre 1.0.0.3 AGESA on Ryzen 3000 series is pain for more than 1 PCIe device.

Excellent to know. I guess I should go w/ a 2070 super or 2080 and deal with error 43 then! I did know about the virtualization bug, so I was planning on using Arch for a later kernel. Ty for the Agesa stuff, I’ll make sure about that.

also, @2bitmarksman, ty. I’ll stick with a 3900x I think. As soon as they come back in stock anyway.

Yeah, in the near term that’s probably best if you want to avoid the hassle.

I can tell you already MSI is dragging their feet about the Agesa update. So far they’ve only applied it to their most expensive X570 board as a beta bios. I dunno if they think there’s some problem with it but the other manufacturer’s seem to be applying it, so go figure.

The best performance you can get is currently the Blackmagic Decklink Quad HDMI card. All 4 inputs are capable of up to 4K 60p.

4K or 1440p from Looking Glass currently isn’t as high performing as using a capture card on the same machine.

I’m assuming you’re doing x264 OBS on the host.

Yeh…maybe the reset bug and agesa will be fixed by the time I order. I can’t find a 3900x here in Australia at the moment. You can’t find them anywhere. (I think that is an issue worldwide though, not just here.)

Yes, I want to use a capture card @FurryJackman. I will definitely look into that particular one now that you have mentioned it. I assume I’ll have to use x264 on OBS as host since I am not using an nvidia gpu on the host. Have you done some similar things? How many cores did you dedicate to the host to make it smooth 1080p 60fps stream?

Not using X264, but I have used NVENC on a 6 core with 6 threads to the VM and 6 threads to the host with reasonable success. You may have to use external audio interfaces for audio capture because Pulseaudio doesn’t like Realtek sound cards.

1 Like

Hmm. Maybe I’ll go fully back to team green then. I do like using open source drivers in Linux but nvenc is pretty nice. I haven’t been able to get davinci resolve to work since I switched from NVIDIA to AMD. And the gpu is the only thing that has changed in my rig, so I know it is an AMD thing.

NVENC encoding on Nvidia cards is nice. You’d be able to use a 3700x for streaming or give the guest VM more cores/threads if you’re encoding your stream using it. Not sure on how well it does on Linux however (only speaking from ffmpeg testing)

Equally as good from my experience. And it might improve further with the RTX NVENC encoder.

Well, not using the cpu might be great because it means I can pass more cpu cores to the guest. That was a great suggestion @2bitmarksman. And thank you for your first hand experience and comment @FurryJackman! I’ll pick up a 1660 as I think that is the cheapest card you can use the new nvenc encoder with.

If you’re doing 1440p or 4K, a 1660 Ti is better suited for that, because remember that OBS has to render a canvas for the capture card’s capture + overlays you might need for your stream.

Everything I do will 1080p because I live in Australia and our internet throughput is terrible. :confused: so I’ll play in 1440 but stream in 1080. I might start shooting 4k video though. Will the 1660 render well or should I step up to a beefier card?

1660 Ti is needed for that.

Is there much benefit from going to a 2060 or 2070 as far as rendering is concerned?

CUDA + Color Correction resources should be good on a 1660 Ti. 2070 isn’t a massive leap for 4K 30fps.

@Uziah PCCG seem to have it in stock now. Also, I am running 1050ti with esxi. Planning to either get 5700xt or 2060 super. Currently trying to confirm if 5700xt would work but knowing there is still reset bug as I don’t want to deal with error 43 even though I am not getting it now with 1050 if Nvidia is actively trying to discourage their card getting used in vm it might come back with future updates.