r/VFIO • u/psychophysicist • 11h ago
SR-IOV on Iris Xe integrated graphics is surprisingly good
The machine: Dell Inspiron 16 7620 2-in-1, with 64GB DDR4. a 12th gen Alder Lake CPU + Iris Xe iGPU and a potato of a dGPU (2GB MX550). It has a "muxless" setup where the dGPU has no physical outputs, so Looking-Glass is the only way to go.
I mostly use a Windows VM for Fusion360, which requires "some" GPU but isn't particularly demanding. I have been running Virtual Display Driver on the MX550 + Looking Glass and this has been generally usable at 1080p but gets laggy and unstable if I go beyond that.
Recently I tried setting up the SR-IOV branch of the i960 kernel driver. It installed straightforwardly according to the instructions. The trickiest part for Windows setup was using a script to extract a firmware image from Dell's BIOS updater. Another thing to watch out for is blocking certain Linux apps (like Blender) from trying to enumerate and use all the virtualized iGPUs at once.
The surprising part is, the hands-on-the-keyboard feeling is that Windows seems to be way more responsive with the virtual display running on the iGPU. I can comfortably run Fusion at 1440p, whereas when running VDD on the MX550 it got pretty laggy and crashy above 1080p.
On the other hand, every in-VM benchmark I can run says the MX550 beats the virtualized iGPU. All I can figure is these benchmarks aren't capturing what's going on with Looking-Glass -- I certainly see frame drops that aren't being registered by the in-VM benchmarks. I suppose that when the virtual framebuffer lives in system memory, Looking-Glass is doing memory-to-memory copies and this works faster than going over the PCI bus. Handing both a virtualized iGPU and the MX550 over to the the VM does seem to be the most performant option.