VFIO on a Tomahawk B450; waste of time?

This poor mobo just doesn’t seem to have enough PCIe lanes. With 2 x16 GPUs and 6 SATA drives (no m.2 tho), the fastest that the x16 slots seem to run at is x4, and 2 of the drives are not seen under Fedora 33 (though oddly Win10 sees them fine.) So it seems a waste of time to even try a GPU passthrough setup on this board.

Is there anything I can do with it, or is it a lost cause? Disappearing hard drives are not cool…

What do you mean by saying that :

Meaning nvidia-settings was reporting a link width of x4, i.e. four PCIe lanes out of the 16 a GPU is supposed to get. Twiddling some settings in the BIOS got me up to x8 on my primary GPU, but the secondary one is still x4.

Can you put an image on the PCIe lanes allocation option in the bios on here please, as it is weird that you cannot receive the full 16x on your primary GPU.

The secondary slot will always run at x4 because it’s routed through the chipset and it’s not connected to the CPU. To save money many B450 (if not all) have the primary PCIe slot not splittable between two slots.

To answer to your primary question: if you just need a GPU to run the host OS + accelerate video encoding/deconding it’s not a waste of time but if you’re looking for higher GPU performance in both the host and virtualized OS you need to upgrade to, at least, an X470 board.

Maybe it’s just the power saving feature of the motherboard that’s slowing down the link. This is my system for example:
gpu

Yes, MSI has the secondary slot running at Gen 2 x4 speeds. That would be terrible for Windows gaming. I was hoping I could perhaps assign the secondary slot to an older card and use that run Linux, and put a beefy GPU in the primary slot and reserve that for the Windows VM. But it does not seem possible to get the mobo to initialize the secondary slot/GPU at boot for Linux.

I suppose something like a 1050 Ti or GTX 670 would be sort of OK running on an Gen2 x4 link, but that’s not the sort of gaming experience I’m shooting for. And then there’s the question of why those two hard drives are not getting recognized.

Did you check the IOMMU groups? It might be that those drives are in the same group as the devices you’re trying to pass to W10. That’s the only thing I can think of with my limited knowledge on the argument.

I haven’t even tried setting up VFIO yet. I was trying to get a sense of what is possible with this motherboard before I dive in. It looks like there are so few PCIe lanes that it’s not really feasible to use this for a dual GPU solution. I would try to put a weak GPU in the secondary slot and use that for Linux, but it seems like I can’t get the OS to treat the secondary slot as the primary GPU (for console and X Windows.) If you or anyone else knows a way, please enlighten me…

This is totally feasible, I run a RX550 (PCIe3.0x16) in an PCIe4.0x4 slot, so it is connected via PCIe3.0x4. It is more than fast enough for desktop use and video hardware acceleration.

This is indeed the biggest problem. I resolved that by migrating to a Gigabyte X570 board where I can select the boot GPU. All other solutions that try to circumvent this problem in software seemed like to much effort and to much of a tinkering solution for me to not just spend the additional 100EUR on the more expensive motherboard.

In trying to determine whether or not this is worth the effort, I looked elsewhere for inspiration. Where else do GPUs suffer in bandwidth-constrained scenarios? External GPUs is where.

With that thought, I started looking at benchmarks on egpu.io, an eGPU enthusiasts’ site. Since PCIe Gen2 x4 hits 16Gbps, the closest parallel would be Thunderbolt 2 with 20Gbps bandwidth. Here is a sample benchmark on a Trashcan Mac Pro with Thunderbolt 2 running Windows 10 and connected to an external RX 580. This was the Fire Strike results recorded on that Mac Pro setup:

Note the graphics score of ~12000. In an PCIe 3.0 x16 slot my RX 580 scores a bit over 13000. So it does not appear that 15 - 20 Gbps of bandwidth seriously constrains the card.

So it seems that a mid-range card might work passably well in the crippled secondary slot. I’ll have to give it a try after I get back home.

1 Like

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