[vfio-users] IGD Passthrough - does not work with intel kabylake

Manuel Ullmann ullman.alias at posteo.de
Thu Feb 2 13:41:21 UTC 2017


Hi,

in theory kernel 4.4 does not support vfio-igd yet, but since it works
for Broadwell/Skylake, Ubuntu seems to have backported the patches.

There was a fix released for Kabylake, that will be introduced in kernel
v4.11. Interesting by the way, that it works to some extent. I’ve seen
that screen division by three also on a bare-metal Win10 machine, but I
don’t know, what hardware that had. Fixed it by rebooting into a Linux
Mint iso and subsequently rebooting back into Windows. So two questions:

1. Does the fix for Kabylake help, that will be
   introduced in kernel 4.11?
    https://lkml.org/lkml/2017/1/19/458 
2. Is this reproducible on a cold reboot?

You will most likely require the Kabylake fix, but I also would be
interested, whether some tries might have just messed up your GPU
resverved RAM introducing the screen division. I’d assume, that even
when the screen operates normally on cold reboot, the card usage
might be limited due to the missing patch.

Best regards,
Manuel
> Hello,
> We are using vfio igd passthrough :
> Win10 | Linux ubuntu : broadwell IGD / skylake IGD ( intel nuc
> plateforme )
> without problem, igd is working well .
>
> Now with the new intel nuc ( kabylake / nuc7i) ,
> Neither windows nor linux recognize intel graphic card.
> Under windows, drivers is on error, and screen is divide into 3
> screens ,
> as under Linux.
>
> On linux :
>
> neo at ubuntu:~$ lspci -nn
> 00:00.0 Host bridge [0600]: Intel Corporation 440FX - 82441FX PMC
> [Natoma] [8086:1237] (rev 02)
> 00:01.0 ISA bridge [0601]: Intel Corporation 82371SB PIIX3 ISA
> [Natoma/Triton II] [8086:7000]
> 00:01.1 IDE interface [0101]: Intel Corporation 82371SB PIIX3 IDE
> [Natoma/Triton II] [8086:7010]
> 00:01.2 USB controller [0c03]: Intel Corporation 82371SB PIIX3 USB
> [Natoma/Triton II] [8086:7020] (rev 01)
> 00:01.3 Bridge [0680]: Intel Corporation 82371AB/EB/MB PIIX4 ACPI
> [8086:7113] (rev 03)
> 00:02.0 VGA compatible controller [0300]: Intel Corporation Device
> [8086:5916] (rev 02)
> 00:03.0 Ethernet controller [0200]: Intel Corporation 82540EM Gigabit
> Ethernet Controller [8086:100e] (rev 03)
> 00:04.0 Communication controller [0780]: Red Hat, Inc Virtio console
> [1af4:1003]
> 00:05.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP USB
> 3.0 xHCI Controller [8086:9d2f] (rev 21)
> 00:06.0 Multimedia audio controller [0401]: Intel Corporation Device
> [8086:9d71] (rev 21)
> 00:07.0 Ethernet controller [0200]: Intel Corporation 82540EM Gigabit
> Ethernet Controller [8086:100e] (rev 03)
> 00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:9d4e] (rev
> 21)
> neo at ubuntu:~$ 
>
> neo at ubuntu:~$ uname -a
> Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC
> 2016 x86_64 x86_64 x86_64 GNU/Linux
>
> Vm is starting as :
> ( it is important to notice that we are exactly in same condition,
> except broadwell/skylake/kabylake )
>
> /usr/bin/qemu-system-x86_64.igd -name guest=ubuntu,debug-threads=on -S
> -object
> secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-2-ubuntu/master-key.aes
> -machine pc-i440fx-2.7,accel=kvm,usb=off -cpu
> Broadwell-noTSX,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -bios
> /usr/share/seabios/bios.bin -m 2721 -mem-prealloc -mem-path
> /dev/hugepages/libvirt/qemu -realtime mlock=off -smp
> 2,sockets=1,cores=2,threads=1 -uuid
> 2c5aec33-ae0c-3870-babf-d9e26b640248 -nographic -no-user-config -
> nodefaults -chardev
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-2-ubuntu/monitor.sock,server,nowait
> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -
> no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global
> PIIX4_PM.disable_s4=1 -boot strict=on -device
> piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device
> virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 -drive
> file=nbd:unix:/tmp/ubuntu.ctl,format=raw,if=none,id=drive-ide0-0-0 -
> device
> ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -
> drive file=nbd:unix:/tmp/swap.ctl,format=raw,if=none,id=drive-ide0-0-1
> -device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -
> netdev tap,fd=22,id=hostnet0 -device
> e1000,netdev=hostnet0,id=net0,mac=ac:de:50:68:49:75,bus=pci.0,addr=0x3
> -chardev
> socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-2-ubuntu/org.qemu.guest_agent.0,server,nowait
> -device
> virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
> -device vfio-pci,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2 -device
> vfio-pci,host=00:14.0,id=hostdev1,bus=pci.0,addr=0x5 -device
> vfio-pci,host=00:1f.3,id=hostdev2,bus=pci.0,addr=0x6 -netdev
> user,id=user.0,restrict=on,hostfwd=tcp:127.0.0.1:5901-:5900 -device
> e1000,netdev=user.0 -msg timestamp=on
>
> Any suggestions,
> Regards,
> Nicolas Prochazka
>
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users




More information about the vfio-users mailing list