GPU Passthrough - AMD WRX80

vigorianer

New Member
Sep 16, 2024
27
1
3
Does anyone have experience with GPU passthrough on the Asus WRX80 board and an AMD 7900 XTX GPU?

I've worked through many tutorials, but I can't get the graphics card to pass through.

As soon as I add the PCI, the VM reboots or crashes.
I'd also like to add a Focusrite audio interface for audio recording via a USB-C connection.

What information would you need to help me?

CPU: AMD Ryzen Threadrippter Pro 3975W
Motherboard: Asus WRX80 SE. Firmware 1602
1. GPU: AMD Radeon 7900 XTX
1.GPU: AMD Radeon 6600 XT
Win11 Pro
Proxmox VE 8.3.3
 
Hi,

As soon as I add the PCI, the VM reboots or crashes.
just the VM or the whole host?

Please provide the (full) output of
Code:
pvesh get /nodes/localhost/hardware/pci --pci-class-blacklist ""
in code tags please.
That will list all PCIe devices with their IOMMU group.
 
At the beginning the whole host. After several repair attempts I have no more crashes, but the VM refuses to work with the passed through GPU. I always have to switch to standard display so that I can see anything.

sorry, I couldn't find the command for an output on tags. That's why I'm using a PDF.

thanks for the help
 

Attachments

Does anyone have instructions on how to create vbios? I'm not really getting anywhere.
How do I create a vbios.c file and then load it
 
VM 100 qmp command 'set_password' failed - Could not set password
TASK ERROR: Failed to run vncproxy.

Every VM don t start.

proxmox-ve: 8.3.0 (running kernel: 6.8.12-8-pve)
pve-manager: 8.3.3 (running version: 8.3.3/f157a38b211595d6)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.12-8
proxmox-kernel-6.8.12-8-pve-signed: 6.8.12-8
proxmox-kernel-6.8.12-7-pve-signed: 6.8.12-7
proxmox-kernel-6.8.12-4-pve-signed: 6.8.12-4
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2+deb12u1
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.5.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.2.0
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.1
libpve-storage-perl: 8.3.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.2-1
proxmox-backup-file-restore: 3.3.2-2
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.7
proxmox-widget-toolkit: 4.3.4
pve-cluster: 8.0.10
pve-container: 5.2.3
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-3
pve-ha-manager: 4.0.6
pve-i18n: 3.3.3
pve-qemu-kvm: 9.0.2-5
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.7
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.7-pve1
 
No VM starts

Error:

VM 100 qmp command 'set_password' failed - Could not set password
TASK ERROR: Failed to run vncproxy.




My VM

boot: order=virtio0;ide0;ide2;net0
cores: 4
cpu: host,hidden=1
hostpci0: 0000:03:00.0,romfile=Navi31.rom
ide0: local:iso/virtio-win-0.1.266.iso,media=cdrom,size=707456K
ide2: local:iso/Win10_22H2_German_x64.iso,media=cdrom,size=5992742K
machine: pc-q35-9.0
memory: 4096
meta: creation-qemu=9.0.2,ctime=1739815942
name: Win10VM
net0: virtio=BC:24:11:0D:7A:98,bridge=vmbr0,firewall=1,link_down=1
numa: 0
ostype: win10
scsihw: virtio-scsi-single
smbios1: uuid=27ce2477-bd72-4081-9823-65059c32c9ba
sockets: 1
spice_enhancements: foldersharing=1,videostreaming=all
vga: none
virtio0: local-zfs:vm-100-disk-0,iothread=1,size=50G
vmgenid: 5664d9bd-419e-4f32-81d9-0e3463562129
 
Do you have experience with GPU passthrough with other machines or is this your first time?

The order is wrong, with passthrough GPU as primary you don't have the virtual GPU needed for VNC.

You first install the VM with "default" GPU adapter, so you can use VNC! Don't touch passthrough yet! Then install virtio-software, let windows finish its updates.
Shutdown the VM, after that configure your passthrough (hostpci0: 0000:03:00.0,romfile=Navi31.rom looks good), fire up the VM. VGA output at the physical GPU should work now. If monitor goes on, but screen is black, be patient. Windows will boot blind and this can take 10-15 mins until it has configured the drivers. Then you get the output on the screen, but it takes time.
 
After 25 different tutorials and 6 weeks of tinkering, the GPU passthrough is finally running on my Asus Wrx80 board with RX7900 GK.Thank you for your support, I've learned a lot.
 
Nice!
Can you post your now working vm-config and if you changed something in BIOS? It sure would help others!