I get that there probably isn’t BIOS support for it in the AMD cards, but I’ve been trying to dig up information about SR-IOV on AMD hardware.
Does any of their consumer cards have the physical capability (even if the BIOS might not support it)?
If not, then does any of the prosumer cards do so?
Has any of you tried to test if the cards have this capability?
Part of why I’m asking is that one of the Linux drivers for AMD added SR-IOV support just before christmass.
And if I could somehow make that work on one of their GPUs that would make my dream setup so much easier to achieve.
Ps. Thanks in advance for any information any of you are capable or willing to share. =)
so am I? Maybe I’m one step ahead of you with my explanation unless I misunderstood what exactly you were asking.
The system UEFI will initialize the rom on the card (which can be legacy BIOS or UEFI tho typically UEFI on almost all cards of the last 2 years or so), including asking the card if it can handle video for the system. These SR-IOV capable cards do have a video capability, but they report to the system UEFI that no monitor is attached and that the system UEFI should defer init of them, and instead initialize any other graphics card in the system. Is that not what you meant when you asked:
Short of needing to respond to the system at boot up, cards do not even need a bios (at all) because the bios doesn’t contain any real proprietary init routines or really anything complicated.
A fun experiment you can do is to setup a system with an RX Vega and 9 or 10 series (UEFI ROM by default) nvidia graphics card and rather than the system UEFI initalize the graphics cards in pcie-slot order, it will initalize the card to which a physical monitor is attached. This is why iommu passthrough, even with the built-in 1024x768, can sometimes be tricky because the system will want to init the wrong card . And then you have to manually specify what card in system UEFI, if the system UEFI supports it.
The fact that secondary cards don’t need a bios is also demonstrated by things like recovering a card from a bad rom flash by booting it as a secondary card then flashing the bios.
With technologies like qemu, you can both rewrite the PCIe vendor and device ID as well as specify an external rom file to init at boot time of a qemu uefi virtual machine, rather than the on-card uefi interface. Specifying a quadro rom downloaded from the internet along with the matching pcie vendor/device ID is precisely how to “emulate” a quadro using the equivalent geforce part, which does work.
Similarly, an attempt was made to do the same thing inside a virtual machine using Vega FE and substituting it for an instinct card, but it did not work because the hardware appears to be different.
Do Vegas uarch support SR IOV? Yes Can it be enabled on consumer cards? It really looks like no because the hardware is different somehow. Would Vega support a “consumer” level 1 or 2 Virtual instances on SR IOV vs the 8 or 16 or whatever of instinct? No, the hardware would have to be built with that feature in mind and with SR IOV it is either on or off. Might it be possible to make a FE behave like an instinct via some type of flashing? Maybe, but the easy option of a qemu-based override is confirmed not to work.
So incredibly unfortunate. SP-IOV combined with looking glass is just such an exciting concept for the m-itx form factor. Not to mention saving money on a second video card. If Vega is truly incapable hopefully future iterations will take this concept into consideration.