I’m looking at purchasing an X570 motherboard for VFIO setup.
I have got the CPU (AMD Ryzen 3700x) and GPUs (Nvidia GTX680 and AMD 5700xt). I’m trying to pick the motherboard.
Gigabyte X570 Aorus Master
- Good IOMMU group support reported by forum members especially by @wendell.
- Can select the boot GPU in the BIOS. So I can arrange the GPUs in my preferred orders. For example, host GPU in the last PCIe slot and the passthrough GPU in the first slot for best performance.
- Known problems with audio out support in Linux (probably due to the ESS SABRE 9118 DAC). See https:// forum.level1techs .com/t/x570-aorus-master-audio-issue-with-linux/148784
- The IO controller chip (SuperIO) ITE IT8688E has no driver support in Linux, so no temperature and fans speed readings. See https://www.reddit.com/r/Amd/comments/cy34hc/x570_linux_users/
MSI MEG X570 Unify
- The IO controller is NUVOTON NCT6797, which is reportedly supported by Linux
- The audio chip is the “vanilla” Realtek ALC1220, so should have no problems.
- No boot GPU options in BIOS
- NIC is the Realtek 2.5G only. Not sure whether it’s well supported by Linux.
Regarding the boot GPU options
I read that there are ways to tweak the CSM setting in BIOS to enable the GPU in the chipset PCIe slot (i.e. the 3rd slot) as boot up device. And also the boot up screen will show on all GPUs/displays. I’m not sure whether this is sufficient to achieve booting into the host OS desktop using the stock mainline kernel without any patches/tweaks.
Maybe I can make a compromise and use the first/second PCIe slots (i.e. both connected directly to the CPU) for host and VM GPUs. So the PCIe split will be x8 and x8, which shouldn’t have too much impact on the performance. But again I’m not sure whether the two GPUs will be in the same IOMMU group and causing further passthrough problems. I prefer not to use the ACS kernel patch.
See Gigabyte motherboard manual: https://download.gigabyte.com/FileList/Manual/mb_manual_x570-aorus-master_1002_190708_e.pdf
Initial Display Output
Specifies the first initiation of the monitor display from the the installed PCI Express graphics card.
PCIe 1 Slot Sets the graphics card on the PCIEX16 slot as the first display. (Default)
PCIe 2 Slot Sets the graphics card on the PCIEX8 slot as the first display.
PCIe 3 Slot (Note) Sets the graphics card on the PCIEX4 slot as the first display.
Regarding the “ACS Enable” BIOS option
I read somewhere that If ACS is enabled in the BIOS (note not the kernel patch), the two GPUs on CPU PCIe lanes (i.e. the first/second PCIe slots), will be in separate IOMMU groups, which should avoid the need of the ACS override kernel patch. Is this correct?
Post reported positive result: https://forum.level1techs.com/t/gigabyte-x570-aorus-elite-iommu-groups/144937/39
Post reported problems: https://forum.level1techs.com/t/x570-taichi-iommu-groups/145762/6
Thanks! Looking forward to your insight and/or suggestions of other motherboard models.
(sorry for the broken urls)
*Edited with proper URLs