Nvidia PCI Passthrought don't work (Code 43)

lifespirit

Active Member
Jan 29, 2016
9
2
43
33
Moscow
Hello.
I passthrought Nvidia GTX 1070 to KVM virtual machine (OVMF). I can see image on monitor, but when 1 install nvidia driver i see "This driver don't compatible with Windows version". I have no idea wht I can do. Help me please.
Code:
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=1 amd_iommu=on video=efifb:off"

/etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1

/etc/modprobe.d/vfio.conf
options vfio-pci ids=1002:6779,1002:aa98,1002:4383,10de:1b81,10de:10f0 disable_vga=1

/etc/modprobe.d/blacklist.conf
blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist snd_hda_intel

Code:
02:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: Gigabyte Technology Co., Ltd Device 3753
   Flags: fast devsel, IRQ 50
   Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
   Memory at a0000000 (64-bit, prefetchable) [size=256M]
   Memory at b0000000 (64-bit, prefetchable) [size=32M]
   I/O ports at d000 [size=128]
   Expansion ROM at fe000000 [disabled] [size=512K]
   Capabilities: [60] Power Management version 3
   Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
   Capabilities: [78] Express Legacy Endpoint, MSI 00
   Capabilities: [100] Virtual Channel
   Capabilities: [250] Latency Tolerance Reporting
   Capabilities: [128] Power Budgeting <?>
   Capabilities: [420] Advanced Error Reporting
   Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
   Capabilities: [900] #19
   Kernel driver in use: vfio-pci

02:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
   Subsystem: Gigabyte Technology Co., Ltd Device 3753
   Flags: fast devsel, IRQ 51
   Memory at fe080000 (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
   Capabilities: [100] Advanced Error Reporting
   Kernel driver in use: vfio-pci

Code:
bios: ovmf
boot: dcn
bootdisk: sata0
cores: 4
cpu: host
efidisk0: local-lvm:vm-106-disk-2,size=128K
hostpci0: 02:00,x-vga=on,pcie=1
hostpci1: 00:14.2
hotplug: 0
ide2: local:iso/Win_Pro_10_64BIT_Russian_25757.ISO,media=cdrom,size=3873538K
machine: q35
memory: 12288
name: PC-01
net0: e1000=FA:20:06:2B:D5:9E,bridge=vmbr0
numa: 1
ostype: win10
sata0: local-lvm:vm-106-disk-1,size=100G
scsihw: virtio-scsi-pci
smbios1: uuid=9a37daab-f38a-4e04-864b-12ff7b5526cb
sockets: 1
usb0: host=046d:c223
usb1: host=046d:c226
usb2: host=046d:c227
usb3: host=1532:001f

Code:
/usr/bin/kvm -id 106 -chardev 'socket,id=qmp,path=/var/run/qemu-server/106.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -pidfile /var/run/qemu-server/106.pid -daemonize -smbios 'type=1,uuid=9a37daab-f38a-4e04-864b-12ff7b5526cb' -drive 'if=pflash,unit=0,format=raw,readonly,file=/usr/share/kvm/OVMF_CODE-pure-efi.fd' -drive 'if=pflash,unit=1,id=drive-efidisk0,format=raw,file=/dev/pve/vm-106-disk-2' -name PC-01 -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=LSDsoft,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,kvm=off' -m 12288 -object 'memory-backend-ram,id=ram-node0,size=12288M' -numa 'node,nodeid=0,cpus=0-3,memdev=ram-node0' -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=02:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on' -device 'vfio-pci,host=02:00.1,id=hostpci0.1,bus=ich9-pcie-port-1,addr=0x0.1' -device 'vfio-pci,host=00:14.2,id=hostpci1,bus=pci.0,addr=0x11' -device 'usb-host,vendorid=0x046d,productid=0xc223,id=usb0' -device 'usb-host,vendorid=0x046d,productid=0xc226,id=usb1' -device 'usb-host,vendorid=0x046d,productid=0xc227,id=usb2' -device 'usb-host,vendorid=0x1532,productid=0x001f,id=usb3' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:8ab19587dcb8' -drive 'file=/var/lib/vz/template/iso/Win_Pro_10_64BIT_Russian_25757.ISO,if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=100' -device 'ahci,id=ahci0,multifunction=on,bus=pci.0,addr=0x7' -drive 'file=/dev/pve/vm-106-disk-1,if=none,id=drive-sata0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-drive,bus=ahci0.0,drive=drive-sata0,id=sata0,bootindex=200' -netdev 'type=tap,id=net0,ifname=tap106i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' -device 'e1000,mac=FA:20:06:2B:D5:9E,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'

Any ideas?
 
It don't work.
Can you see dxdiag in vm with nvidia passthrought? Who is PC vendor there? QEMU? proxmox?
Can you tell version of nvidia driver you use?
You use x-vga=on,pcie=1 or x-vga=on only? If you can show full working config please.
 
OS would see a gpu passthrough as a REAL video card...
Also check this : my ROG-MAXIMUS-IX-HERO board passthrough would only success when using CSM:AUTO , efi only would result in console graphic

here is my iommu group layout and vm config file, I'm also passing through a usb3 card, for a game ssd and ethernet card, the virtual network card keep choking where system load is high.... My other passthrough machine is OSX, using 1050 ti and onboard usb3.1 device .
IOMMU group 8
[RESET] 00:1b.4 PCI bridge [0604]: Intel Corporation Device [8086:a2eb] (rev f0)
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1)
04:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fb9] (rev a1)
IOMMU group 10
[RESET] 00:1c.2 PCI bridge [0604]: Intel Corporation Device [8086:a292] (rev f0)
[RESET] 00:1c.4 PCI bridge [0604]: Intel Corporation Device [8086:a294] (rev f0)
[RESET] 06:00.0 Network controller [0280]: Broadcom Limited BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01)
[RESET] 07:00.0 USB controller [0c03]: ASMedia Technology Inc. Device [1b21:2142]

IOMMU group 13
[RESET] 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8]
IOMMU group 14
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1080] [10de:1b80] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
IOMMU group 15
[RESET] 02:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller [1912:0014] (rev 03)


bios: ovmf
bootdisk: virtio0
cores: 4
cpu: host
efidisk0: nvme:vm-107-disk-2,size=128K
hostpci0: 01:00,pcie=1,x-vga=on
hostpci1: 02:00,pcie=1
ide0: none,media=cdrom
machine: pc-q35-2.4
memory: 16384
name: WindowsGamer
net0: virtio=92:EF:07:77:F2:2A,bridge=vmbr0
numa: 1
ostype: win10
parent: a1
scsihw: virtio-scsi-pci
smbios1: uuid=a62324e5-b204-443d-afd8-65ba74afaf99
sockets: 1
usb0: host=046d:c52b
usb1: host=1d50:6028
usb2: host=045e:02e6
virtio0: nvme:vm-107-disk-1,cache=writeback,iothread=1,size=250G
 

Attachments

  • Capture.PNG
    Capture.PNG
    22.9 KB · Views: 20
Last edited:
...wait a minute ...
"This driver don't compatible with Windows version" ...?
Sorry I didn't notice that because Code43 usually means hardware reporting error, in your case it's more likely a software one ...
Maybe you should consider changing win10 version to a vanilla one ? You can add LANG_RUS later...

How about one from MSDN

ed2k://|file|en_windows_10_multiple_editions_version_1703_updated_march_2017_x64_dvd_10189288.iso|4334315520|2F851DF742749C9AE7325C373A3C499A|/
SHA1 CE8005A659E8DF7FE9B080352CB1C313C3E9ADCE

ed2k://|file|en_windows_10_enterprise_version_1703_updated_march_2017_x64_dvd_10189290.iso|4247986176|714DF42A6E4AC160C4B9077F859DCB3F|/
SHA1 77D5E7C91B5DBBEE410FB6C57CB944238BF7176A
 
  • Like
Reactions: lifespirit
So...
0. Disable ballooning. (may be can enable but i don't want try XD )
1. Change network adapter from E1000 to VirtIO
2. Change HDD drive from sata0 to virtio0
3. Connect monitor to card
4. Install latest windows MSDN iso (en) (q35 enabled, card don't passthrought)
5. Activate RDP
6. Passthrought card
7. Install latest card drivers and Geforce Game Exp.
All work. Thanks very much. 1 week hard work and all fine as result. =)
 

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!