[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] VGA passthru of HD4400 graphics on intel nuc kit is not working


  • To: <xen-users@xxxxxxxxxxxxx>
  • From: "Alexander Pohl" <a.h.pohl@xxxxxxxxx>
  • Date: Fri, 12 Sep 2014 19:22:58 +0200
  • Delivery-date: Fri, 12 Sep 2014 17:24:15 +0000
  • List-id: Xen user discussion <xen-users.lists.xen.org>
  • Thread-index: Ac/Orirl+I5HCenfQG2MaKYcbdvApA==

Hi,

I am trying to setup VGA passthrough of Intel HD Graphics 4400 on an Intel
nuc kit with a core I3-4010U processor. The Intel website clearly states
that this mainboard supports VT-x and VT-d and the bios has options for both
[1,2]. However, all I get are blue screens and resource not available errors
in the windows device manager.

[1] http://ark.intel.com/products/76978/Intel-NUC-Kit-D34010WYK
[2]
http://ark.intel.com/products/75107/Intel-Core-i3-4010U-Processor-3M-Cache-1
_70-GHz

I use up to date Arch Linux (Linux intel-nuc 3.16.2-1-custom #1 SMP PREEMPT
Wed Sep 10 10:18:12 CEST 2014 x86_64 GNU/Linux) as dom0 with Xen 4.4.1 and
the xl toolstack. I want to virtualise Windows 7 Professional N edition with
emulated standard VGA as primary adapter and HD4400 chipset graphics as
secondary graphics passed through to domU. I am using the new xen-qemu
device model as this is much faster on my box than xen-qemu-traditional. But
I tried both and both don't work correctly.

lspci output:
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)

The VT-d relevant xen kernel output:
(XEN) Intel VT-d iommu 0 supported page sizes: 4kB.
(XEN) Intel VT-d iommu 1 supported page sizes: 4kB.
(XEN) Intel VT-d Snoop Control not enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Shared EPT tables not enabled.
(XEN) I/O virtualisation enabled

It looks like VT-d has been automatically enabled, although I am worried
that Dom0 DMA Passthrough shows as not being enabled.

Here is my domU config file:
builder = "hvm"
name = "windows"
uuid = "9b43be1d-3cef-4431-9e3d-f5f3c9c4bd79"
viridian = 1
memory = 4096
maxmem = 4096
vcpus = 2
vif = [ 'mac=00:16:3e:68:e1:10,bridge=xenbr0,model=e1000' ]
disk = [ 'file:/mnt/data/xen/domU.img,hda,w',
'file:/mnt/data/install/dreamspark/win7/en_windows_7_professional_n_with_sp1
_x64_dvd_u_677207.iso,hdb:cdrom,r' ]
sdl = 0
vnc = 1
vnclisten = '0.0.0.0'
vncpasswd = 'xen'
#device_model_version='qemu-xen-traditional'
#boot='dc'
acpi=1
apic=1
hap=1
pae=1
usb=1
localtime=1
usbdevice='tablet'
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'
xen_platform_pci=1
pci_power_mgmt=1
pci_msitranslate=1
#gfx_passthru=1
pci = ['00:02.0','00:03.0','00:1b.0']

pci-back is compiled into a custom Arch linux kernel and pci resources to be
hidden are specified with grub on kernel command line during boot. The pci
addresses are visible with xl pci-assignable-list after booting. Here is the
relevant grub2 config:
XEN_HYPERVISOR_CMDLINE="dom0_mem=512M,max:512M dom0_max_vcpus=1
dom0_vcpus_pin xsave=1"
XEN_LINUX_CMDLINE="console=tty0
xen-pciback.hide=(00:02.0)(00:03.0)(00:1b.0)"

I installed windows 7 into a 100 GB sparse file located on a NAS and mounted
through NFS using the config file shown above. After first boot of DomU I
downloaded and installed the HD graphics drivers from the Intel website [3].

[3]
https://downloadcenter.intel.com/SearchResult.aspx?lang=&ProductID=3742&Prod
Id=3742

The windows device manager installs the following graphics devices:

1) Intel HD Graphics Familiy
PCI Slot 5 (PCI bus 0, device 5, function 0)
This device cannot find enough free resources that it can use. (Code 12)
If you want to use this device, you will need to disable one of the other
devices on this system.

2) Standard VGA Graphics Adapter
PCI Slot 3 (PCI bus 0, device 3, function 0)
This device works properly.

3) Other devices: PCI Device
PCI Slot 2 (PCI bus 0, device 2, function 0)
The drivers for this device are not installed. (Code 28)
To find a driver for this device, click Update Driver.

My question is, why is the HD adapter at 00:05.0? Should it not be at
00:02.0 where the other pci device is found? Searching for drivers for the
device at 00:02.0 does not find any. The Windows device manager also
installs HD audio device drivers, but audio playback is distorted.

I need help how to get this setup working and how to create debug output of
the Xen hypervisor, Dom0 and DomU in order to give more details. I
understand that the Intel nuc kits are quite new hardware. Maybe it isn't
possible yet?

Many thanks.
Alexander



_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.