[SOLVED] Proxmox PCI-E Passthrough | Single GPU Config | HP640 - Xeon & Quadro

LocalUser

New Member
May 21, 2021
8
2
3
37
Hi,

I'm using an HP640 Workstation with,
CPU: Intel Xeon E5-2650 v4
RAM: 32GB
GPU: Quadro K2200

However, I can't seem to get the past "Code 43".

Do I need a GPU for the host? Is that where it falls apart for me...

Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Proxmox Virtual Environment"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt vfio_iommu_type1.allow_unsafe_interrupts=1 pcie_acs_override=downstream video=efifb:off,vesafb:off"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=true


Code:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Code:
blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist nvidiafb

Code:
blacklist nvidiafb

/etc/modprobe.d/vfio.conf
Code:
# options vfio-pci ids=10de:13ba,10de:0fbc disable_vga=1

Code:
args: -machine max-ram-below-4g=1G,kernel_irqchip=on -cpu host,kvm=off
balloon: 0
boot: order=ide0;ide2;net0
cores: 8
cpu: host,hv-vendor-id=HPZ640
hostpci0: 02:00,pcie=1,x-vga=1
ide0: VMs1:vm-100-disk-0,size=32G
ide2:
machine: pc-q35-5.2
memory: 16384
name: Win10
net0: e1000=96:8A:D1:D6:05:87,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=0af6bb74-4223-4e12-9672-3bae9cece8cb
sockets: 1
unused0: VMs1:vm-100-disk-1
vmgenid: 57f3f16f-5192-410a-a9e1-d74647adedf7

update-grub
update-initramfs -u
reboot



Adding "pc" to args: -machine as stated in the tutorial yields the following error.
kvm:/usr/share/qemu-server/pve-q35-4.0.cfg:1: Bus 'pcie.0' not found
TASK ERROR: start failed: QEMU exited with code 1

removing pc makes it bootable, with "Code 43".

Without commenting out vfio.conf the following error arises,
kvm: -device vfio-pci,host=0000:02:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,x-vga=on,multifunction=on: vfio 0000:02:00.0: failed getting region info for VGA region index 8: Invalid argument
device does not support requested feature x-vga


I might be missing something trivial, this is the first time I use Proxmox as well as try passing a GPU to a VM. Proxmox seems to be super-efficient though, so I'd appreciate the function of GPU passthrough.
 
Solved Code 43 by changing "video=efifb:eek:ff,vesafb:eek:ff" to "video=efifb:eek:ff video=vesafb:eek:ff" in /etc/default/grub

Solving Code 43 lead to another problem... The RDP graphics broke, however, it was still working on a local screen.

For RDP to work properly in Windows 10 Guest OS a change in Remote Desktop Services had to be done:
[Local Group Policy Editor->Local Computer Policy->Administrative Templates->Windows Components->Remote Desktop Services->Remote Desktop Session Host->Remote Session Enviroment], set the Policy [Use WDDM graphics display driver for Remote Desktop Connections] to Disabled.

Reference thread: Quadro GPU Passthrough to Windows shows code 43

Thanks to @avw for pointing me in the right direction.
 

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!