Ryzen 3rd Gen + B450 PCIe Passthrough

Hello folks! I’m looking to get a new Ryzen 3rd Gen build with a B450 motherboard. (R5 3600). I want to passthrough the GPU to a VM (to a Windows VM). Thinking of using Proxmox to do it. I need help with a motherboard that has a proper IOMMU group separation. These are the options available for me (both budget and after sales service constraints):

  • Gigabyte B450M DS3H

  • Gigabyte B450 M GAMING

  • Gigabyte B450 AORUS M

  • Gigabyte B450 AORUS ELITE

  • ASUS PRIME B450M-K

  • ASUS PRIME B450M-A

  • ASUS TUF B450-PLUS GAMING

  • ASUS ROG STRIX B450-F

If you have experience with any of these boards, please do let me know. Thanks in advance!

So for anyone looking at this post search for IOMMU groups for B450 chipset, Gigabyte B450M DS3H will NOT work. I tried PCI-E passthrough on this board and the IOMMU groups for the PCI-E slots include onboard ports that cause the VM to crash (since you have to pass the entire IOMMU group). Stay away from B450M DS3H.

I have a B450-F. Works well enough, all of the 1x PCIe slots appear to be in group 18 along with the onboard SATA and two of the three USB 3.0 controllers. One of the USB controllers, however, is in its own group. Its the USB C port, and the USB port above it. I was able to pass that power through to a VM successfully. The third PCIe Slot is also in group 18. The PCIe 16x 1 and 2 are in their own groups though. Frustrating thing though, is that the primary GPU MUST be in the 1st PCIe 16x slot.

Edit: I was able to get the ACS Override patch working, and the IOMMU groups are much much better. Each of the Chipset PCIe 1x slots has its own group now. I am still not able to set the primary GPU to a GPU outside of the first PCIe 16x slot though