Return to Level1Techs.com

My First VFIO Build [Guidance]

Hey all,

I’ve been pulled into the VFIO scene and am intrigued of the idea.

Right now my only concern is to not waste money due to mistakes of hardware, I’ve researched as much as I can and most of the sources are outdated such as IOMMU group issues and such.

So I’m coming out here to you vets to see if I’m in the right direction, the hardware I’m going to purchase is:

  • AMD Ryzen 7 3700X
  • ASUS ROG Strix X570-F
  • G.Skill Trident Z Neo 32GB (2x16GB) 3200MHz CL16 DDR4
  • XFX Radeon RX 5700XT THICC III Ultra 8GB
  • ADATA XPG SX8200 Pro M.2 NVMe SSD 1TB
  • Corsair HX100 Platinum 1000W PSU

I’m salvaging parts from my current setup which are:

  • XFX Radeon RX Vega 56 8GB
  • ADATA XPG SX8200 Pro M.2 NVMe SSD 1TB
  • Western Digital WD Black 1TB WD1003FZEX
  • Fractal Design Define R6

The idea is to put Pop_OS! on the new M.2 drive, then put windows VM on the older one, the HDD is on the fence for the moment, I want to run the 5700XT on host for Freesync 2 (if your curious on what monitor it’s this one: https://www.gigabyte.com/au/Monitor/AORUS-CV27Q) and the Vega 56 on the windows guest.

I’ve constantly read and looked into this thread: VFIO in 2019 -- Pop!_OS How-To (General Guide though) [DRAFT]

And the looking glass software page for setup, I’ll be using Synergy for simplicity between the host and the guest, and an audio setup from here: https://passthroughpo.st/audio-hardware-guide-for-vfio-setups/ since I use both a mic and a headset constantly and is needed in windows.

I’ve heard issues with freesync on linux but I recall that there’s a hacky way of “fixing” it. Not too sure.

Is this an ideal build? Am I in the right direction?

The newer Linux Kernels may include the Navi Reset fix for VFIO. Manjaro may be worth considering for a newer Kernel.

@Shukaze I have a suggestion, Have you consider switching to an Intel build instead of using AMD? All the research I have done setting up what you want is easier on an Intel platform. I am not saying it isn’t possible with an AND platform, setting up a system like you want isn’t as simple as a lot of people make it out to be. I am not trying to discourage you, but trying to save you a lot of headaches. What you may want to do instead is set up a dual boot system. A dual boot system is where you have a choice between two operating systems. Or maybe just have two different builds one using Linux as its operating system the other uses Windows.

The option I am using currently is I have Windows 10 on my Laptop, and I have Linux Mint on my desktop. Also If I need to run Windows 10 on my desktop I have an external USB 3.0 hard drive (with an exact copy of my laptop’s main drive)to boot into Windows 10 on my desktop.
I tried dual booting for a while, it worked ok, but I found I spent more time with Windows 10 than Linux, so when I built my new desktop I decided to only have Linux Mint as a permanent operating software. I plan to force myself to learn all about Linux and end my dependence on Windows.

I don’t know how much better the Ryzen 3000 series is on IOMMU groups but the biggest issue was USB separation. My friend had to get a different USB card so can have two VMs with their own USB devices.

@FurryJackman Yeah, I’ve seen that in 5.5 I think. I’ll still use the patch though just in case since it doesn’t touch the quirks.c

@Shadowbane I’ve come from a IT background so messing with things I shouldn’t be is not a problem. I’ve had windows on my desktop for as long as I can remember and linux on my laptops, I’ve tried dual booting in the past and it was just tedious, I just need a solution that is just a few clicks away from launching windows applications that may not work in lutris/wine.

In regards to AMD and Intel, it’s all about pricing and technologies, I’ve permanently switched to AMD for the first time since the 2000 series Ryzens and was amazed of what I got (Ryzen 2600). I used to have a Intel 3570 before than and it really didn’t sit well with me.

It would be a looooooooooooooooong time before I go back to Intel, lol. Anyway, it’s not about how hard this is, it’s about asking the question “Is it doable with what I’ve got?”

Thanks for the replies, wasn’t sure if anyone was interested.