Пробую пробросить видеокарту в гостевую ОС в такой вот аппаратной конфигурации:
1. Motherboard (есть в списке VT-d): Intel DZ77BH-55K, работает в режиме UEFI с прошивкой версии BHZ7710H.86A.0057.2012.0208.1904
2. Процессор (есть в списке VT-d): Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
3. Видеокарта (есть в списке VT-d): NVIDIA Corporation GF100GL [Quadro 4000] [10de:06dd] (rev a3)
В качестве основной используется интегрированное в процессор видеоядро. ОС — gentoo с ядром 3.18.11 и конфигом от дебиана с небольшими изменениями (модули для поддержки AHCI собраны статически).
Системы виртуализации. Пробовал разное
1. Qemu (kvm) с режимом pci-assign.
qemu-system-x86_64 \
-boot c \
-M q35 \
-m 2048 \
-smp 4 \
-usbdevice tablet \
-enable-kvm \
-usb \
-device usb-ehci,id=ehci \
-drive file=./debian.img,id=mydisk \
-device virtio-net-pci,netdev=mynet0 -netdev user,id=mynet0 \
-bios /usr/share/seabios/bios.bin \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
-device pci-assign,host=01:00.0 \
-device pci-assign,host=01:00.1 \
-vga none \
-curses
Итог — зависание при старте. Если отключить устройство 01:00.0 (это видеокарта) — то стартует нормально.
2. То же самое, но с vfio-pci. Конфиг аналогичный, строка для видеокарты (и ее звуковухи)
-device vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=0000:01:00.1,bus=root.1,addr=00.1 \
Результат — висим на старте без каких бы то ни было сообщений.
3. Xen 4.5 с тулстеком xl.
name = "debian-domU"
builder = "hvm"
memory = 1024
vcpus = 2
disk = [ "tap:qcow2:/mnt/Storage/vm/debian/debian.img,xvda,w" ]
vif = [ 'mac=00:16:3e:ff:ab:cd,bridge=br0' ]
vnc = 1
vnclisten = '127.0.0.1'
vncdisplay = 10
boot = "cd"
#gfx_passthru=1
pci = [ "0000:01:00.0" "0000:01:00.1"]
с gfx_passthru=0 стартует нормально, с 1 — сыпет ошибки
libxl: error: libxl_dm.c:1499:device_model_spawn_outcome: domain 4 device model: spawn failed (rc=-3)
libxl: error: libxl_create.c:1322:domcreate_devmodel_started: device model did not start: -3
libxl: error: libxl_dm.c:1603:kill_device_model: Device Model already exited
вывод dmesg, связанный с IOMMU
[ 0.000000] Intel-IOMMU: enabled
[ 0.028942] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020e60262 ecap f0101a
[ 0.028949] dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap c9008020660262 ecap f0105a
[ 0.029032] IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.973877] IOMMU 0 0xfed90000: using Queued invalidation
[ 0.973878] IOMMU 1 0xfed91000: using Queued invalidation
[ 0.973880] IOMMU: Setting RMRR:
[ 0.973890] IOMMU: Setting identity map for device 0000:00:02.0 [0xbb800000 - 0xbf9fffff]
[ 0.974193] IOMMU: Setting identity map for device 0000:00:14.0 [0xba22e000 - 0xba249fff]
[ 0.974212] IOMMU: Setting identity map for device 0000:00:1a.0 [0xba22e000 - 0xba249fff]
[ 0.974228] IOMMU: Setting identity map for device 0000:00:1d.0 [0xba22e000 - 0xba249fff]
[ 0.974237] IOMMU: Prepare 0-16MiB unity mapping for LPC
[ 0.974245] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[ 1.034974] AMD IOMMUv2 driver by Joerg Roedel <joerg.roedel@amd.com>
[ 1.035504] AMD IOMMUv2 functionality not available on this system
В общем, какой-то no luck. Собственно, прошу помощи.