Q270 GTX1050 | GT640 PCI Passthrough stuck

wji9na

New Member
May 2, 2018
4
0
1
34
Hi, everyone. I'm new to proxmox, and I'm trying to passthrough different video adapters to guest W10. So I have a proxmox 5 installation on gygabyte motherboard with support vt-d and core i5 6600T supported it too. PVE installed on ZFS raid 1 fully EFI and everything works fine for me except passthrough video adapter to guest W10. I've read some proxmox wiki like https://pve.proxmox.com/wiki/Pci_passthrough and tried some guides from this forum like https://forum.proxmox.com/threads/gpu-passthrough-tutorial-reference.34303/ , and everything I did is 43 error status of any PCI video adapter. here is my config and some report.

this is vm config file
Code:
balloon: 0
bios: ovmf
bootdisk: virtio0
cores: 4
cpu: host,hidden=1
hostpci0: 01:00,x-vga=on,pcie=1,romfile=gt640.rom
ide2: none,media=cdrom
machine: q35
memory: 4097
name: Windows10Gaming
net0: virtio=FA:51:7D:57:E8:F0,bridge=vmbr0
numa: 0
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=b7fc4a7f-39fe-4bf6-afb6-b7e7d521894c
sockets: 1
virtio0: /dev/disk/by-id/nvme-INTEL_SSDPEKKW256G8_BTHH807007ZE256B,size=250059096K

this is grub
Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Proxmox Virtual Environment"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off pcie_acs_override=downstream"
GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve-1 boot=zfs"
GRUB_DISABLE_OS_PROBER=true
GRUB_DISABLE_RECOVERY="true"

this is lspci output (only nvidia devices)
Code:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GT 640 OEM] [10de:0fc0] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: PC Partner Limited / Sapphire Technology GK107 [GeForce GT 640 OEM] [174b:0640]
    Flags: fast devsel, IRQ 16
    Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
    Memory at e0000000 (64-bit, prefetchable) [size=256M]
    Memory at f0000000 (64-bit, prefetchable) [size=32M]
    I/O ports at e000 [size=128]
    Expansion ROM at 000c0000 [disabled] [size=128K]
    Capabilities: [60] Power Management version 3
    Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [78] Express Endpoint, MSI 00
    Capabilities: [b4] Vendor Specific Information: Len=14 <?>
    Capabilities: [100] Virtual Channel
    Capabilities: [128] Power Budgeting <?>
    Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
    Capabilities: [900] #19
    Kernel driver in use: vfio-pci
    Kernel modules: nvidiafb, nouveau

01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
    Subsystem: PC Partner Limited / Sapphire Technology GK107 HDMI Audio Controller [174b:0640]
    Flags: fast devsel, IRQ 17
    Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [60] Power Management version 3
    Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [78] Express Endpoint, MSI 00
    Kernel driver in use: vfio-pci
    Kernel modules: snd_hda_intel

this is modules
Code:
coretemp
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

kvm.conf
Code:
options kvm ignore_msrs=1

vfio.conf
Code:
options vfio-pci ids=10de:1c81,10de:0db9,10de:0fc0,10de:0e1b disable_vga=1

dmesg | grep -e DMAR -e IOMMU
Code:
[    0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[    0.000000] ACPI: DMAR 0x00000000CE9EAEB8 000070 (v01 INTEL  SKL      00000001 INTL 00000001)
[    0.000000] DMAR: IOMMU enabled
[    0.031917] DMAR: Host address width 39
[    0.031918] DMAR: DRHD base: 0x000000fed90000 flags: 0x1
[    0.031923] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.031923] DMAR: RMRR base: 0x000000ce7f9000 end: 0x000000ce818fff
[    0.031925] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed90000 IOMMU 0
[    0.031926] DMAR-IR: HPET id 0 under DRHD base 0xfed90000
[    0.031926] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.033230] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.551904] DMAR: No ATSR found
[    0.552163] DMAR: dmar0: Using Queued invalidation
[    0.552170] DMAR: Setting RMRR:
[    0.552187] DMAR: Setting identity map for device 0000:00:14.0 [0xce7f9000 - 0xce818fff]
[    0.552193] DMAR: Prepare 0-16MiB unity mapping for LPC
[    0.552206] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[    0.552210] DMAR: Intel(R) Virtualization Technology for Directed I/O

VM starts ok, but if I plug a HDMI display it has no signal, and if I connect to remote desktop then gt640 has status error 43.
Could anyone help me and tell, what am I doing wrong?
 
I've tried my hd5770 to passthrough, and after auto installing drivers vm stuck and not sturting at all.

I've got this error in PVE
Code:
Virtual Environment 5.1-43

Поиск
Узел 'alaska'


Просмотр по серверам
Logs
()
no efidisk configured! Using temporary efivars disk.
TASK ERROR: start failed: command '/usr/bin/kvm -id 200 -chardev 'socket,id=qmp,path=/var/run/qemu-server/200.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -pidfile /var/run/qemu-server/200.pid -daemonize -smbios 'type=1,uuid=b7fc4a7f-39fe-4bf6-afb6-b7e7d521894c' -drive 'if=pflash,unit=0,format=raw,readonly,file=/usr/share/kvm/OVMF_CODE-pure-efi.fd' -drive 'if=pflash,unit=1,format=raw,id=drive-efidisk0,file=/tmp/200-ovmf.fd' -name Windows10Gaming -smp '4,sockets=1,cores=4,maxcpus=4' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vga none -nographic -no-hpet -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=proxmox,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,kvm=off' -m 4097 -k en-us -readconfig /usr/share/qemu-server/pve-q35.cfg -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' -device 'vfio-pci,host=01:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on,romfile=/usr/share/kvm/gt640.rom' -device 'vfio-pci,host=01:00.1,id=hostpci0.1,bus=ich9-pcie-port-1,addr=0x0.1' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:da9ab23d437' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/dev/disk/by-id/nvme-INTEL_SSDPEKKW256G8_BTHH807007ZE256B,if=none,id=drive-virtio0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap200i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=FA:51:7D:57:E8:F0,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -rtc 'driftfix=slew,base=localtime' -machine 'type=q35' -global 'kvm-pit.lost_tick_policy=discard'' failed: got timeout

its not runnig even if i disable pci passthrough
 
Last edited:
If anyone intersted I did passthrough my gtx1050 to Win10 guest, cause I found in only one guide step that tells to patch video option rom getted by GPUz. Now with option romfile it works, but now I am trying to install drivers, and it seems it has to be patched too. I am in progress. I'll note the result here later.