Return to

RX480 Gives Code 43 after passed through to Windows VM

I currently have a headless server running Proxmox 6.1-5 with a Ryzen 7 2700X and I am trying to pass through a RX 480 to a KVM virtual machine. Motherboard: ASUS Prime x470 PRO (latest UEFI). My qm configuration file is here:

agent: 1
bios: ovmf
boot: cdn
bootdisk: scsi0
cores: 4
efidisk0: local-lvm:vm-102-disk-1,size=4M
machine: q35
memory: 8192
name: win10-gpu
net0: virtio=C2:10:DC:39:E3:CA,bridge=vmbr0,firewall=1,tag=50
numa: 0
ostype: win10
scsi0: local-lvm:vm-102-disk-0,size=200G
scsihw: virtio-scsi-pci
smbios1: uuid=1e178e39-dd5c-4feb-bbdf-7a285536125d
sockets: 1
vmgenid: b98a2b51-3df7-4e17-b409-15bb4f0920b8
hostpci0: 09:00.0,x-vga=1,pcie=1
hostpci1: 09:00.1,pcie=1

I have tried to combine the hostpci entries to just

hostpci0: 09:00,x-vga=1,pcie=1

but it makes no difference. lspci reports both the VGA and the audio device using the kernel driver vfio-pci. Windows just reports that it stopped the device with code 43 because it reported problems.

I have a display connected to the gpu and it does not show any picture at all since the vm is started. Installing the AMD driver for the RX 480 made no difference. All virtio windows drivers are installed.

I am at a loss - any ideas?

Upon further investigation - the display connected shows the flashing underscore once the vm is started, but there is no signal after about 1 second.

your VM’s display settings are misconfigured.
remove all displays from the VM’s config and use virt-manager to add the GPU (and its attached sound card) with no additional display configuration.