Xen(Server) VGA passthrough issue

brumwald

Gawd
Joined
Aug 1, 2006
Messages
598
Having some troubles with (VGA) passthrough on the Intel NUC (haswell i5, D54250WYKH).

I know from several reports that performing VGA passthrough works on this NUC but I'm having some difficulties. I've had at least some success using the Xenserver Creedence beta 3, I'm able to hide the PCI devices from the dom0 and as soon as the xen kernel loads the monitor goes blank.


# lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
*00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
*00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-V (rev 04)
*00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)

I've marked the three I'm currently targeting with an asterix. I've appended the following to the xen kernel arguments:
xen-pciback.permissive xen-pciback.hide=(00:02.0)(00:03.0)(00:1b.0)

Now some people (though not that many...) seem to mess with a "pci=resource_alignment=..." parameter as well, though I can't figure out what to set that to or what it does.

Anyway, the devices becomes assignable:

# xl pci-assignable-list
0000:00:02.0
0000:00:03.0
0000:00:1b.0

I've installed windows 7 sp1 64 bit in a VM and install the xenserver tools (though no other windows updates). Then I pass the pci devices above to the VM with:

# xe vm-param-set other-config:pci=0/0000:00:02.0,0/0000:00:03.0,0/0000:00:1b.0 uuid=<VM-UUID>

The effect of this is that the VM becomes _much_ slower. This was the reason for installing windows 7 before passing the devices (I thought the installation had crashed when I tried it first (but it probably didn't)).

So after boot windows recognizes three devices related to audio and one VGA adapter. The audio devices are installed fine right out of box and I can listen to music through the 3.5mm jack - though there is a lot of sparkling noises. If I were to guess it has to do with the VM being so unbearably slow when the devices has been passed through.

Once I install the VGA drivers (from windows update) the VGA adapter is recognized as the correct graphic card (Intel graphics 5000) and prompts to reboot the VM, however during the next boot I get a blue screen with

igdkmd64.sys ( <-- intel graphics driver)
PAGE_FAULT_IN_NONPAGED_AREA

Now, if I were to desperately guess, I'd say that something is up with the RAM dedicated to the VM. Just because that could possibly explain the page-fault BSOD as well as the poor performance. But I really have no clue...

Not really sure what I'm looking for but found this:
# xl dmesg | grep DMIBAR
(XEN) [ 2.042967] Bogus DMIBAR 0xfed18001 on 0000:00:00.0
(XEN) [ 3.391244] Bogus DMIBAR 0xfed18001 on 0000:00:00.0

Don't know what that means but 0000:00:00.0 is the "Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)".


Just trying this forum out for any ideas or if I've missed something obvious? Or have any clues as to why I get such a performance drop once I pass the PCI devices through?
 
Back
Top