I've run into the same problem recently, but on a completely different setup:
- AMD Ryzen 7 2700X on a X470 chipset
- Host: Kubuntu 19.04 w/ Radeon HD 7770
- Guest: Windows 10 w/ GeForce GTX 970
The VM starts up and the fans on GTX 970 start spinning, however there's no video output and Windows doesn't detect GTX 970.
Most of the googling leads to various Reddit threads that suggest that when GPU is installed in the primary PCI-E slot, even though VFIO initializes the card before video drivers do, linux kernel somehow taints its BIOS and the hypervisor won't be able to boot it up later.
Solutions I've found:
- Temporarily installing the guest GPU into the 2nd PCI-E slot, dumping a clean version of vBIOS, then passing it to libvirt as described here
- Alternatively, for Nvidia GTX 10-series cards, somebody came up with a script that takes a full ROM (that you can download on TechPowerUp or dump using nvflash on Windows) and converts it to a vBIOS that can be passed to libvirt. It's described here. This won't work for you because you have a radeon GPU, but since this question pops up while googling the problem, somebody else might find it useful.
- In my case, I've just swapped the two cards around. Now my primary PCI-E slot is occupied with the less powerful Radeon HD 7770, whereas GTX 970 resides in the 2nd slot. According to my motherboard manual, if both slots are used, my primary PCI-E slot switches from x16 to x8 anyways, so there's no real benefit for me to keep the passed-through card in it. The problem was solved and GTX 970 is working correctly now.
Note: I've previously used these same host and guest systems on a B350 motherboard with a Ryzen 3 2200G. That CPU has its own integrated graphics that I used for host. Even though GTX 970 was installed in the primary slot there, the problem didn't occur.
Since your CPU also has built-in graphics, you can try to enable iGPU, set it as primary in UEFI, then connect a monitor to motherboard itself. This might cause your iGPU to take the bullet instead of the guest GPU.
Keep in mind, in all those Reddit threads the guest GPU is from Nvidia. This is also the case with my setup. Your problem might have competely different roots.