All new AMD Passthrough

neatrasm

New Member
Jan 10, 2026
2
0
1
Hello,

ALL NEW AMD Passthrough
I’m new to Proxmox, used Linux for 5 years and Windows for 20.

--------------------------------------------------
AsRock X870 Steel Legend Wifi
AMD Ryzen 9 9900X (192 GB DDR5)
GIGABYTE Radeon RX 7800 XT
Wifi module replaced with Gigabit RJ45.
Proxmox 9.1.4
Windows 11 25H2 (virtio-win-0.1.285.iso)


---------------------------------------------------------------------------------------------------
Q1: Are these passthrough configurations performed in the correct sequence?
---0 Windows 11 VM created.
---1 /etc/modules
---2 /etc/modprobe.d/vfio.conf
---3 /etc/modprobe.d/blacklist.conf ---update-initramfs, reboot.
---4 /etc/default/grub ---update-grub, reboot.


--------------------------------------------------
Q2: Why is my Host CLI still routed to the display after configuring for passthrough?

Hardware>Display>Default>> Start VM
VM111 qmp command 'set_password' failed - Could not set password
>>Ryzen 9 requires hard reset. Target Monitor goes to sleep.



Hardware>Display>VirtIO-GPU>> Start VM
VM Starts without errors and Console has a Black Screen.
>>Ryzen 9 requires hard reset. Target Monitor goes to sleep.


Removing the PCI Device 03:00.0 allows the VM to start and stop normally.



--------------------------------------------------
Windows 11 25H2 VM
agent: 1
balloon: 0
bios: ovmf
boot: order=virtio0;ide2;ide0;net0
cores: 22
cpu: host
efidisk0: PNY5001:111/vm-111-disk-0.qcow2,efitype=4m,ms-cert=2023,pre-enrolled-keys=1,size=528K
hostpci0: 0000:03:00,pcie=1,x-vga=1
ide0: PNY5002:iso/virtio-win-0.1.285.iso,media=cdrom,size=771138K
ide2: PNY5002:iso/Win11_25H2_English_x64.iso,media=cdrom,size=7554810K
machine: pc-q35-10.1
memory: 16384
meta: creation-qemu=10.1.2,ctime=1767721661
name: Win11
net0: virtio=xxxxxxxxxxx,bridge=vmbr0
numa: 0
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=xxxxxxxxxxxxxxxxxxxxxxxxx
sockets: 1
tpmstate0: PNY5001:111/vm-111-disk-1.qcow2,size=4M,version=v2.0
usb0: host=xxxxxx
virtio0: PNY5001:111/vm-111-disk-2.qcow2,discard=on,iothread=1,size=64G
vmgenid: xxxxxxxxxxxxxxxxxxxxxx





---------------------------------------------------------------------------------------------------

1. Configured vfio. Note: I understand that vfio_pci contains other vfio flags mentioned, excluding the requirement for the other flags when using AMD.

Nano /etc/modules
vfio
vfio_iommu_type1
vfio_pci


lsmod | grep vfio
vfio_pci 20480 0
vfio_pci_core 86016 1 vfio_pci
irqbypass 16384 2 vfio_pci_core,kvm
vfio_iommu_type1 49152 0
vfio 65536 3 vfio_pci_core,vfio_iommu_type1,vfio_pci
iommufd 126976 1 vfio





---------------------------------------------------------------------------------------------------

2. GPU Binding to VFIO is not required for AMD GPUs? Did this anyway.
Note: Should this contain: disable_vga=1, how is this not required? This is very confusing.

nano /etc/modprobe.d/vfio.conf
options vfio-pci disable_vga=1

dmesg | grep -i vfio
[ 4.495657] VFIO - User Level meta-driver version: 0.3





---------------------------------------------------------------------------------------------------

3. GPU Blacklisting (...is not required for AMD GPUs?)
I didn’t understand Google Gemini’s method for confirming that PCIe blacklisting is functioning.

nano /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist radeon
blacklist amdgpu


lspci -nnk
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] [VGA:VGA] (rev c8)
Subsystem: Gigabyte Technology Co., Ltd Device [VGA_OTHER:VGA_OTHER]
Kernel modules: amdgpu

03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio [AUDIO:AUDIO]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio [AUDIO:AUDIO]
Kernel modules: snd_hda_intel

1002:747e VGA
1458:2413 VGA_OTHER
1002:ab30 AUDIO





---------------------------------------------------------------------------------------------------

4. Configured GRUB (video= method), update-grub, reboot, Host CLI still visible.

nano /etc/default/grub
..._DEFAULT = "quiet iommu=pt vfio-pci.ids=VGA:VGA,AUDIO:AUDIO modprobe.blacklist=radeon video=vesafb:off video=efifb:off”

Should the entry have three ID pairs?
vfio-pci.ids=VGA:VGA,VGA_OTHER:VGA_OTHER,AUDIO:AUDIO
This was attempted but it had no affect. The host machine still crashes to hard reset.

Why should modprobe.blacklist not include snd_hda_intel?
----->> initcall_blacklist=sysfb_init CRASHED GRUB.
From what I’ve read the vendor-reset flag is not needed for the 7800 XT model.
Google Gemini has stated this is my issue and I need to include the vendor-reset flag.



cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.17.4-2-pve root=/dev/mapper/pve-root ro quiet iommu=pt pci.ids=VGA:VGA,AUDIO:AUDIO modprobe.blacklist=radeon video=vesafb:off video=efifb:off


dmesg | grep -e DMAR -e IOMMU
[ 0.683593] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 0.941278] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).


dmesg | grep -i iommu
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.17.4-2-pve root=/dev/mapper/pve-root ro quiet iommu=pt pci.ids=[B]VGA:VGA,AUDIO:AUDIO[/B] modprobe.blacklist=radeon video=vesafb:off video=efifb:off
[ 0.151414] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.17.4-2-pve root=/dev/mapper/pve-root ro quiet iommu=pt pci.ids=[B]VGA:VGA,AUDIO:AUDIO[/B] modprobe.blacklist=radeon video=vesafb:off video=efifb:off
[ 0.651512] iommu: Default domain type: Passthrough (set via kernel command line)
[ 0.683593] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 0.683628] pci 0000:00:01.0: Adding to iommu group 0
…….
[ 0.683863] pci 0000:03:00.0: Adding to iommu group 15 ----(VGA)
[ 0.683882] pci 0000:03:00.1: Adding to iommu group 16 ----(AUDIO)
…….
[ 0.684212] pci 0000:74:00.0: Adding to iommu group 38
[ 0.941278] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).







------------------------------------------------------------------------------------------------------


Thanks for any help.
 
Last edited:
Gemini is mixing old and new passthrough data, and it will never work following any AI's advice.

I have passed through the AMD 780m GPU to Windows 11 and it requires a meticulous process to function correctly.
Passthrough requires the correct GPU rom file dump, (possibly for the audio device too) and requires the reset bug to be resolved on the host and within the Win VM separately.

Wipe all you have done, start afresh and use this as your guide (you might need to search for GPU specific info): https://github.com/isc30/ryzen-gpu-passthrough-proxmox?tab=readme-ov-file
 
The Ryzen 9 9900X does not have an internal GPU.

The Radeon RX 7xxx is mentioned in the Proxmox PCIe Passthrough Guide as known working.

https://pve.proxmox.com/wiki/PCI_Passthrough#GPU_passthrough
  • AMD RADEON 5xxx, 6xxx, 7xxx, NVIDIA GeForce 7, 8, GTX 4xx, 5xx, 6xx, 7xx, 9xx, 10xx, 15xx, 16xx, and RTX 20xx have been reported working. Anything newer should work as well.

Your guide states that it does not cover my hardware. Thank you for trying to help.
 
Last edited: