On my Ubuntu 20 as host (also tested on 18, same problem) and with Windows 10 as guest, I can only pass the GTX 1660 PCI device. The other 3 devices that it has (audio, USB controller and another thing), must be left out. If I pass GTX 1660 PCI device + any of the 3, 2 of the 3 or 3 of th 3, the VM takes a really long time to boot, and when it boots, I have no GPU is the displays.
I can only use the GPU alone without audio, then it works. These are the PCI devices:
07:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116 [GeForce GTX 1660] [10de:2184] (rev a1) (prog-if 00 [VGA controller])
07:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:1aeb] (rev a1)
07:00.2 USB controller [0c03]: NVIDIA Corporation Device [10de:1aec] (rev a1) (prog-if 30 [XHCI])
07:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device [10de:1aed] (rev a1)
All of them are used by vfio-pci at boot, and boot is on the other GPU, not this, so it’s untouched by linux.
I’m also using this quirk:
<features>
<acpi/>
<apic/>
<hyperv>
<relaxed state='on'/>
<vapic state='on'/>
<spinlocks state='on' retries='8191'/>
<vendor_id state='on' value='1234567890ab'/>
</hyperv>
<kvm>
<hidden state='on'/>
</kvm>
<vmport state='off'/>
<ioapic driver='kvm'/>
</features>
Anyone knows how to be able to insert the audio device too?