Q270 GTX1050 | GT640 PCI Passthrough stuck

wji9na

New Member
May 2, 2018
4
0
1
33
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.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!