Best ryzen third gen board for PCI passthrough


Recommended Posts

Hi,

 

I plan to buy a new PC. I want to set it up as follows

1) Ryzen 3900x

2) RTX 2080 super

3) AMD RX 570

4) AM4 Motherboard?

 

I want to setup unraid with 2 vms. One will be mac and rx 570 passed through it and the other would be windows with RTX 2080 super passthrough it.

What would be the best motherboard that would make this configuration least painful?

Link to comment

First and foremost, there is no guarantee with PCIe pass through so take ALL recommendations with a grain of salt.

 

I generally recommend Gigabyte motherboards to new Unraid users for one feature that is the ability to pick which PCIe x16 slot to boot with. It's called "Initial Display Output" in the BIOS.

  • That would simplify things when you need to dump vbios i.e. no need to physically swap GPU. Boot with slot 1 -> dump vbios for slot 2 -> reboot to BIOS to boot with slot 2 -> dump vbios for slot 1.
  • It also gives you flexibility of GPU placement e.g. if card too long, too wide, too big etc. The RX 570 is one of the known bad child of reset issue so the ability to NOT boot with it even if it's on the 1st PCIe slot is priceless.

 

On a side note, for Ryzen and 2x GPU, make sure you get a mobo with 3x PCIe x16 slots to give you some future flexibility too.

 

And for the 2080 Super, it has 4 devices (GPU + HDMI Audio + 2 USB devices) that have to be passed through together - other graphic cards usually only have 2 devices. This tends to catch new users off-guard.

You need to stub the USB devices for them to show up on the VM template (the easiest method is to install VFIO-PCI Config plugin and use it to select the devices and then build VFIO-PCI.CFG file then reboot).

 

Good luck.

  • Like 1
Link to comment

Thank you @testdasifor your valuable advice.

 

I have researched a little and I am thinking of gigabyte X570 aorus master or gigabyte X570 aorus pro wifi. Both have 3 pci express slots. 2 of them are directly from cpu which I will probably use for both of my graphics cards and reserve the third for future.

 

However aorus master will have 2 ethernet Realtek® 2.5GbE + Intel® Gigabit LAN but the aorus pro will only have one.

Will I need 2 ethernet or will I be able to use one ethernet that would have virtualized drivers on both machines?

 

After doing some research I also have seen people doing usb controllers passthrough.

Do I need to do usb controllers pass through for the two vms?

I think I will need to do it for windows since I am doing unity vr development on windows and xcode development on mac.

I primarily need my oculus rift s to be recognized correctly (which seems to be tough without usb controller passthrough) on windows and my iphone to be recognized correctly on mac.

 

In the post below @Skitals passed through 2 usb controllers to apparently the same windows vm. Would I be able to pass one of those two controllers to windows and the other to mac and should I even try to do that?

 

I am sorry for all the very beginner questions, but I need to gather a lot of information before I invest in the motherboard.

 

I don't care about integrated sound, if the HDMI sound works.

I also don't care about wifi that much, but if I can use it, it would be nice.

 

My ultimate goal is having something like this but with unraid as I will need the unraid for storage. Also I would install windows to work both as baremetal and on the virtual machine.

 

Thanks for advance.

Link to comment
5 hours ago, Abdo said:

 

In the post below @Skitals passed through 2 usb controllers to apparently the same windows vm. Would I be able to pass one of those two controllers to windows and the other to mac and should I even try to do that?

 

You won't be able to pass the 2 usb controllers to different vms since they are in the same iommu group. That is a great use for your extra pcie slot, a usb card. You can pass both internal usb controllers to windows and a pcie usb card to mac, for example.

 

And you don't need multiple nics for what you are describing. By default VMs use a virtual bridge to communicate directly with the physical Ethernet port. Unraid and all your VMs can use the same NIC.

  • Like 1
Link to comment
9 hours ago, Abdo said:

I have researched a little and I am thinking of gigabyte X570 aorus master or gigabyte X570 aorus pro wifi. Both have 3 pci express slots. 2 of them are directly from cpu which I will probably use for both of my graphics cards and reserve the third for future.

 

However aorus master will have 2 ethernet Realtek® 2.5GbE + Intel® Gigabit LAN but the aorus pro will only have one.

Will I need 2 ethernet or will I be able to use one ethernet that would have virtualized drivers on both machines?

 

After doing some research I also have seen people doing usb controllers passthrough.

Do I need to do usb controllers pass through for the two vms?

I think I will need to do it for windows since I am doing unity vr development on windows and xcode development on mac.

I primarily need my oculus rift s to be recognized correctly (which seems to be tough without usb controller passthrough) on windows and my iphone to be recognized correctly on mac.

I would lean towards the Aorus Master.

Unless you need Wifi for your baremetal, the Wifi adapter is useless with Unraid. I also have found the onboard Wifi unstable when passed through to the VM albeit on my X399 mobo and not X570.

In that case, you might as well have 2 wired LAN.

 

Your VM will connect through a bridge to the wired LAN. Each VM has its own virtual adapter (100Gb apparently!) connecting to the same bridge.

I also bridged both of my wired LAN adapters together so if there's problem with 1 port, I just unplug and replug to the other port.

 

With regards to USB controller, you definitely need to pass through a controller to your Windows VM if you need to use the Oculus Rift.

It would randomly disconnect if connected through libvirt usb.

 

 

  • Like 1
Link to comment

Thank you very much for your very valuable replies. I really appreciate them.

10 hours ago, Skitals said:

You won't be able to pass the 2 usb controllers to different vms since they are in the same iommu group. That is a great use for your extra pcie slot, a usb card. You can pass both internal usb controllers to windows and a pcie usb card to mac, for example

 

6 hours ago, testdasi said:

With regards to USB controller, you definitely need to pass through a controller to your Windows VM if you need to use the Oculus Rift.

It would randomly disconnect if connected through libvirt usb

So passing through usb controller to windows is a necessity in my use case, so I will pass the two usb controllers to windows since they share the same group. But would I be able to get away temporarily by using some sort of virtio usb driver for mac until I buy a USB pci express card?

Link to comment
9 minutes ago, Abdo said:

So passing through usb controller to windows is a necessity in my use case, so I will pass the two usb controllers to windows since they share the same group. But would I be able to get away temporarily by using some sort of virtio usb driver for mac until I buy a USB pci express card?

Yes you can. In fact, unless you have actual issue (e.g. Oculus Rift randomly disconnecting if connected through libvirt i.e. virtual usb) and/or require true hot-plug then you can just use the virtual USB device.

If you install the "libvirt usb hotplug" plugin, you can "warm plug" USB devices to the virtual USB of any VM after VM boot.

No need to reboot the VM so not cold plug but you still have to manually replug the device through the Unraid GUI so not true hot plug -> hence "warm plug".

  • Thanks 1
Link to comment
1 minute ago, testdasi said:

Yes you can. In fact, unless you have actual issue (e.g. Oculus Rift randomly disconnecting if connected through libvirt i.e. virtual usb) and/or require true hot-plug then you can just use the virtual USB device.

If you install the "libvirt usb hotplug" plugin, you can "warm plug" USB devices to the virtual USB of any VM after VM boot.

No need to reboot the VM so not cold plug but you still have to manually replug the device through the Unraid GUI so not true hot plug -> hence "warm plug".

Sounds great. Thank you very much.

I hope it works fine with Mac OS too.

 

For anyone doing search who might get to this post, I have found this useful post for when I buy the usb pci-e card, but i do not think I will be able to get it before the pandemic is over. It is not sold locally and international shipping and customs got crazy expensive and unreliable.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.