VFIO build advice

Current Build:

  • CPU: Ryzen 5600X
  • GPU: Nvidia 3080
  • Motherboard: MSI Tomahawk X570s
  • RAM: DDR4 32GB 3600MHz
  • PSU: Corsair RM750x

Goal:

  • Run Linux as the host and a Windows VM for gaming with near-bare-metal performance.
  • Host should handle video playback in 1440p/4k while the VM runs games at 1440/4k.

Issue:

  • Unable to fit a second GPU without choking the 3080.

Plan:

  • Considering upgrading to a Ryzen 9 9950X3D (for it’s onboard graphics and passing the dGPU to the VM and using LookingGlass to use the VM), but unsure if it’s overkill.

Questions:

  1. Is a 9950X3D a good choice for my use case? Is it overkill? (running host GUI on CPU is probably not ideal so I thought getting something more powerful would help so more of it can be dedicated to the VM)
  2. How should I split CPU resources between the host and VM for optimal performance? Would I be able to pass the 3d cache to the VM?
  3. Is an X870 motherboard overkill for my needs? I have 4 storage drives and want the headroom for potential future upgrades, including a second GPU or a 50 series card. These boards seem to be one of the few that have enough lanes to do onboard graphics for 2 monitors at 1440/4k

Any advice/thoughts is greatly appreciated :slight_smile:

It’s an excellent CPU. Should be a good pick, but I’d argue there’s a fair bit of overkill there. I think you’ll do just fine with a 9700x3d. With this setup, you should be able to pass through 8 cores and leave 4 for host activities.

I’d give 8 cores (pinned) to the VM, along with 32GB of ram (you’ll probably want to go 48GB or 64GB if you’re upgrading to AM5)

Since you’ve mentioned Looking Glass, you’ll also want to make sure you have fast memory. Looking Glass is very memory intensive and the more you can give it, the better you’ll do. I’ve had a good experience running 3840x1600@75 on my 5700g while playing AAA titles with Looking Glass, on a 6900xt, but I did run into some stuttering occasionally. But it’s been a couple years since I’ve used a windows VM like this; I’ve switched to 100% Linux these days :smiley:

3d cache is a CPU level thing. The operating system doesn’t really worry about it. It just allows for more memory to be stored on CPU, to prevent the need for the CPU to wait for the system memory to respond with the information it needs to perform the next operation.

I’m not the best person to ask this question of, since I’m not terribly up-to-speed on the AM5 motherboards, and they seem to be a bit of a mess right now.

Are your storage drives all NVMe?

Upgrading your existing GPU will be fine regardless of what board you choose, but adding a second one adds considerations. Be aware that some motherboards will disable certain PCIe slots while specific NVMe slots are occupied. It’s also worth mentioning that no matter if it’s PCIe gen 4 or gen 5, you’re usually just fine running at 8 lanes, so that’s something to consider. The only instance when it could impact performance is if you’re doing extremely bandwidth intensive activities, like LLM work with multiple GPUs.

I’m not sure what you mean by “enough lanes to do onboard graphics for 2 monitors” Are you talking about motherboard display out? If so, that requirement might force you to pick a specific board, but if it’s about onboard GPU performance, the Ryzen 9000 series is pretty solid, and while you’re not going to be playing AAA titles directly on that GPU, it should do fine with 2x4k display out, even at higher refresh rates like 144hz.


Hope that helps! Hopefully someone with more experience with the X870 boards can chime in and give you a better answer about the motherboard question.

2 Likes

Well, kinda… The OS needs to be aware of the dual CCD nature of the CPU for scheduling (since latency across CCDs is higher, threads of the same application should ideally stay on one CCD). And the OS should ideally know which threads benefit from the 3D cache for scheduling.

That said, for a gaming VM I’d just pass the 8 cores with 3D cache to the VM and all that is taken care of. You basically have a 9800X3D VM at that point.

You could look at X670E as well. Those actually have more available lanes since USB4 is optional and if present uses chipset lanes; X870 uses CPU lanes there. There’s not too many boards with 2 x8 slots so that already limits your choices quite a bit. The gigabyte B850 AI top may be a good option as well. The asus proart B650 is good for VFIO but it only has pcie 4.0 (perhaps limiting for RTX 5000 cards…). Proart x670e is good too, also look at the Asrock taichi offerings.

Boards with 4 M.2 slots and 2 x8 slots are usually pretty expensive (proart x670e etc.) so it might be more cost effective to get a bigger drive and a cheaper board? Also watch out for bandwidth sharing between M.2 and PCI slots; most x870e boards only give 4 lanes in the second GPU slot when all M.2 slots are in use…

2 Likes

Thanks so much for the replies and input. Good to know my train of thinking isn’t too impractical!

I’ll wait for the 9950x3d’s to come back in stock and look around for a good X670E or X870 with decent IOMMU separation and pull the trigger. Thanks for the tip about LG and memory, I’ll look into that a bit more.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.