Here is my Tutorial for: It Works!
Proxmox GPU Passthrough with RX 7900 XTX and Asus WRX80 Motherboard
Proxmox VE 8.3.4
Asus Pro WS WRX80E-SAGE SE WIFI motherboard - Bios
Other settings which are all still set to their default:
Launch CSM -> Disabled
AMD fTPM -> Firmware TPM
CPU Config SVM Mode -> Enabled
PCI Above 4G Decoding -> Enabled
Hot Plug Support -> Enabled
1 - disable TPM
2 - disable the secure boot - removing all keys (yes, you need to delete all of them)
3- uefi enabled
4 - nvme formatted and initialized with gpt
---------------------------------------------------------------------------------------------------------------
Verify IOMMU is enabled
dmesg | grep -e DMAR -e IOMMU
There should be a line that looks like "DMAR: IOMMU enabled". If there is no output, something is wrong.
OPTIONAL: PVE GRUB Config
Works perfectly without it, but it may get you more performance or resolve some issues in some usecases:
1. In the PVE Shell type: nano /etc/default/grub
2. change the GRUB_CMDLINE_LINUX_DEFAULT="quiet" line to GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt"
3. Close with CTRL + X, and save with y
4. execute: update-grub
nano /etc/modules-load.d/modules.conf
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
Save and execute following command:
update-initramfs -u -k all
Download GPU ROM
zB. Navi31.rom = Bios from RX 7900 TXT (GPU-Z Works fine)
scp C:\Windows\Temp\Navi31.rom
root@172.14.3.58:/usr/share/kvm/
Then, we need to tell vfio which devices to virtualize (the GPU 1002:744c + Audio 1002:ab30)
echo "options vfio-pci ids=1002:744c,1002:ab30" >> /etc/modprobe.d/vfio.conf
VM Configuration (VM102)
nano /etc/pve/qemu-server/102.conf
agent: 1
balloon: 0
bios: ovmf
boot: order=scsi0;net0;ide2
cores: 8
cpu: host,hidden=1
efidisk0: local-zfs:vm-102-disk-0,efitype=4m,pre-enrolled-keys=1,size=1M
hostpci0: 0000:03:00.0,pcie=1,romfile=Navi31.rom
ide2: local:iso/virtio-win-0.1.266.iso,media=cdrom,size=707456K
machine: pc-q35-9.0
memory: 16000
meta: creation-qemu=9.0.2,ctime=1737980494
name: Win11VM-Klon
net0: virtio=BC:24:11:9F:76:BF,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: local-zfs:vm-102-disk-1,cache=writeback,discard=on,iothread=1,size=200G
scsihw: virtio-scsi-single
smbios1: uuid=277169be-7f88-4665-8307-4e565d85349c
sockets: 1
tpmstate0: local-zfs:vm-102-disk-2,size=4M,version=v2.0
usb0: host=6-4,usb3=1
usb1: host=3-5.1,usb3=1
usb2: host=3-5.1,usb3=1
usb4: host=5-6,usb3=1
vga: none
vmgenid: 123d8b5f-1c6a-470d-8806-f2872c6d9ff8