Unable to get GVT work with KVMGT

Tobias Junghans totimaju at gmail.com
Sun Dec 31 15:12:58 UTC 2017


Hi,

I'm trying to get KVMGT working with QEMU using a mainline kernel
4.14.x (+skl_dmc_ver1_26.bin) and QEMU 2.10 on an Intel i5-6440HQ
(Thinkpad T460p). I successfully managed to create a virtual GPU via

$ echo 6761dcc1-4bc1-444c-bc1e-58f0d0d89e3a >
/sys/bus/pci/devices/0000\:00\:02.0/mdev_supported_types/i915-GVTg_V5_8/
create

and the directory
/sys/bus/mdev/devices/6761dcc1-4bc1-444c-bc1e-58f0d0d89e3a/ contains
all files as expected (driver, intel_vgpu, iommu_group, mdev_type,
...) and /dev/vfio/11 appears.

However whenever I try to launch QEMU even with minimal parameters I
get the following error:

$ qemu-system-x86_64 -bios /usr/share/seabios/bios.bin -m 2048 -device
vfio-pci,sysfsdev=/sys/bus/mdev/devices/6761dcc1-4bc1-444c-bc1e-58f0d0d89e3a/

qemu-system-x86_64: -device
vfio-pci,sysfsdev=/sys/bus/mdev/devices/6761dcc1-4bc1-444c-bc1e-58f0d0d89e3a/:
vfio error: : failed to setup container for group 11: failed to set
iommu for container: Input/output error

Did anybody encounter the same problem or can tell me what's wrong
here? Is it a problem that I only have the integrated i915 graphics
which is also used for the primary display (Xorg/KMS)? Here's my
kernel config:

$ grep VFIO /boot/config-4.14.9+
CONFIG_VFIO_IOMMU_TYPE1=y
CONFIG_VFIO_VIRQFD=y
CONFIG_VFIO=y
# CONFIG_VFIO_NOIOMMU is not set
CONFIG_VFIO_PCI=y
# CONFIG_VFIO_PCI_VGA is not set
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI_IGD=y
CONFIG_VFIO_MDEV=y
CONFIG_VFIO_MDEV_DEVICE=y
CONFIG_KVM_VFIO=y

$ grep KVM /boot/config-4.14.9+
CONFIG_DRM_I915_GVT_KVMGT=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_KVM=y
CONFIG_KVM_INTEL=y
# CONFIG_KVM_AMD is not set

$ grep I915 /boot/config-4.14.9+
CONFIG_DRM_I915=y
# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
# CONFIG_DRM_I915_CAPTURE_ERROR is not set
CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_I915_GVT=y
CONFIG_DRM_I915_GVT_KVMGT=y
CONFIG_SND_HDA_I915=y

Thank you and best regards

Tobias


More information about the intel-gvt-dev mailing list