To summarize:
1. Trying to passthrough the GPU so that I can have a Linux host to manage the computer while the users only see Windows.
2. Hardware is the following:
3. Config file for the VM on ProxMox is the following:
4. The BIOS bin file is parsed correctly and UEFI capable. The rom parsing instructions comes from the ProxMox Wiki.
The Motherboard has the issue where it shadows the BIOS of the GPU in the first PCI-e slot. As far as I'm aware, providing a rom file is required in this situation for GPU passthrough.
5. I've followed the following guides trying a mix and match of settings:
https://forum.proxmox.com/threads/gpu-passthrough-tutorial-reference.34303/
https://forum.proxmox.com/threads/nvidia-gpu-passthrough-assistance.27237/
https://pve.proxmox.com/wiki/Pci_passthrough
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF
https://www.reddit.com/r/VFIO/comments/5sh41p/any_other_reasons_for_nvidia_driver_code_43/
I realize this isn't Fedora 26 or RyZen, but useful info regardless:
https://level1techs.com/article/ryzen-gpu-passthrough-setup-guide-fedora-26-windows-gaming-linux
I could've easily missed a step in one of them given all the information I'm trying to combine here.
6. I have the latest Nvidia Drivers installed (version 388).
7. IOMMU is working:
8. The vfio-pci driver is being used correctly:
Other relevant information:
But after all that, I still get Error Code 43. Note that the Microsoft Basic Display Adapter is not listed under Display Adapters.
Is it because I'm using VirtIO? All the guides seem to be using SCSI without VirtIO. I'd like as much performance as possible, but if it's just not happening with VirtIO, I can use SCSI.
I am getting this error when I run the VM:
I have disabled the Framebuffer in the kernel settings:
But I am still seeing BIOS messages, up to a point, on the display.
1. Trying to passthrough the GPU so that I can have a Linux host to manage the computer while the users only see Windows.
2. Hardware is the following:
- AMD Athlon X4 845 CPU
- ASRock FM2A88M PRO3+ Motherboard
- 8GB of DDR3 Kingston RAM
- 120GB SSD
- Nvidia GT 710 GPU
- ASRock FM2A88M PRO3+ Motherboard
- 8GB of DDR3 Kingston RAM
- 120GB SSD
- Nvidia GT 710 GPU
3. Config file for the VM on ProxMox is the following:
Code:
bios: ovmf
bootdisk: virtio0
cores: 4
cpu: host
efidisk0: local-lvm:vm-100-disk-2,size=128K
hostpci0: 02:00,pcie=1,x-vga=on,romfile=GK208_BIOS_FILE.bin
machine: q35
memory: 7168
name: Test-Windows
net0: virtio=96:24:CF:B4:AA:A2,bridge=vmbr0
numa: 0
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=f675c872-c390-4668-9c48-423f5b4ff239
sockets: 1
usb0: host=6-1.2 # Mouse & Keyboard
usb1: host=2-4 # Other
usb2: host=3-1.2.3.4 # Physical
usb3: host=1-1.2.3.4 # USB Ports
virtio0: local-lvm:vm-100-disk-1,cache=writeback,size=90G
4. The BIOS bin file is parsed correctly and UEFI capable. The rom parsing instructions comes from the ProxMox Wiki.
Code:
root@pve-001:~/rom-parser# ./rom-parser /usr/share/kvm/GK208_BIOS_FILE.bin
Valid ROM signature found @600h, PCIR offset 190h
PCIR: type 0 (x86 PC-AT), vendor: 10de, device: 128b, class: 030000
PCIR: revision 0, vendor revision: 1
Valid ROM signature found @fc00h, PCIR offset 1ch
PCIR: type 3 (EFI), vendor: 10de, device: 128b, class: 030000
PCIR: revision 3, vendor revision: 0
EFI: Signature Valid, Subsystem: Boot, Machine: X64
Last image
The Motherboard has the issue where it shadows the BIOS of the GPU in the first PCI-e slot. As far as I'm aware, providing a rom file is required in this situation for GPU passthrough.
5. I've followed the following guides trying a mix and match of settings:
https://forum.proxmox.com/threads/gpu-passthrough-tutorial-reference.34303/
https://forum.proxmox.com/threads/nvidia-gpu-passthrough-assistance.27237/
https://pve.proxmox.com/wiki/Pci_passthrough
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF
https://www.reddit.com/r/VFIO/comments/5sh41p/any_other_reasons_for_nvidia_driver_code_43/
I realize this isn't Fedora 26 or RyZen, but useful info regardless:
https://level1techs.com/article/ryzen-gpu-passthrough-setup-guide-fedora-26-windows-gaming-linux
I could've easily missed a step in one of them given all the information I'm trying to combine here.
6. I have the latest Nvidia Drivers installed (version 388).
7. IOMMU is working:
Code:
root@pve-001:~# dmesg | grep -e IOMMU
[ 0.615425] AMD-Vi: IOMMU performance counters supported
[ 0.617069] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 0.618547] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
root@pve-001:~# find /sys/kernel/iommu_groups/ -type l
/sys/kernel/iommu_groups/7/devices/0000:00:13.2
/sys/kernel/iommu_groups/7/devices/0000:00:13.0
/sys/kernel/iommu_groups/5/devices/0000:00:11.0
/sys/kernel/iommu_groups/3/devices/0000:00:09.0
/sys/kernel/iommu_groups/11/devices/0000:00:15.2
/sys/kernel/iommu_groups/11/devices/0000:00:15.0
/sys/kernel/iommu_groups/11/devices/0000:05:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:03.0
/sys/kernel/iommu_groups/1/devices/0000:02:00.1
/sys/kernel/iommu_groups/1/devices/0000:00:03.1
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/8/devices/0000:00:14.2
/sys/kernel/iommu_groups/8/devices/0000:00:14.0
/sys/kernel/iommu_groups/8/devices/0000:00:14.3
/sys/kernel/iommu_groups/6/devices/0000:00:12.2
/sys/kernel/iommu_groups/6/devices/0000:00:12.0
/sys/kernel/iommu_groups/4/devices/0000:00:10.0
/sys/kernel/iommu_groups/12/devices/0000:00:18.4
/sys/kernel/iommu_groups/12/devices/0000:00:18.2
/sys/kernel/iommu_groups/12/devices/0000:00:18.0
/sys/kernel/iommu_groups/12/devices/0000:00:18.5
/sys/kernel/iommu_groups/12/devices/0000:00:18.3
/sys/kernel/iommu_groups/12/devices/0000:00:18.1
/sys/kernel/iommu_groups/2/devices/0000:00:08.0
/sys/kernel/iommu_groups/10/devices/0000:00:14.5
/sys/kernel/iommu_groups/0/devices/0000:00:02.2
/sys/kernel/iommu_groups/0/devices/0000:00:02.0
/sys/kernel/iommu_groups/0/devices/0000:01:00.0
/sys/kernel/iommu_groups/9/devices/0000:00:14.4
8. The vfio-pci driver is being used correctly:
Code:
root@pve-001:~# lspci -k
02:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
Subsystem: eVga.com. Corp. GK208 [GeForce GT 710B]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
Other relevant information:
Code:
root@pve-001:~# pveversion -v
proxmox-ve: 5.1-25 (running kernel: 4.13.4-1-pve)
pve-manager: 5.1-35 (running version: 5.1-35/722cc488)
pve-kernel-4.13.4-1-pve: 4.13.4-25
libpve-http-server-perl: 2.0-6
lvm2: 2.02.168-pve6
corosync: 2.4.2-pve3
libqb0: 1.0.1-1
pve-cluster: 5.0-15
qemu-server: 5.0-17
pve-firmware: 2.0-3
libpve-common-perl: 5.0-20
libpve-guest-common-perl: 2.0-13
libpve-access-control: 5.0-7
libpve-storage-perl: 5.0-16
pve-libspice-server1: 0.12.8-3
vncterm: 1.5-2
pve-docs: 5.1-12
pve-qemu-kvm: 2.9.1-2
pve-container: 2.0-17
pve-firewall: 3.0-3
pve-ha-manager: 2.0-3
ksm-control-daemon: 1.2-2
glusterfs-client: 3.8.8-1
lxc-pve: 2.1.0-2
lxcfs: 2.0.7-pve4
criu: 2.11.1-1~bpo90
novnc-pve: 0.6-4
smartmontools: 6.5+svn4324-1
zfsutils-linux: 0.7.2-pve1~bpo90
But after all that, I still get Error Code 43. Note that the Microsoft Basic Display Adapter is not listed under Display Adapters.
Is it because I'm using VirtIO? All the guides seem to be using SCSI without VirtIO. I'd like as much performance as possible, but if it's just not happening with VirtIO, I can use SCSI.
I am getting this error when I run the VM:
Code:
kvm: -device vfio-pci,host=02:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0,romfile=/usr/share/kvm/GK208_BIOS_FILE.bin: Failed to mmap 0000:02:00.0 BAR 3. Performance may be slow
I have disabled the Framebuffer in the kernel settings:
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=vesafb:off,efifb:off"
But I am still seeing BIOS messages, up to a point, on the display.
Last edited: