PVE9 + AMD 9070xt now work

9qwrog1y

New Member
Sep 5, 2025
6
0
1
hi
My issue is that I used an AMD graphics card passthrough for a Windows virtual machine, and I encountered an error when I restarted it again.
Code:
root@pve:~# uname -a
Linux pve 6.14.11-4-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.11-4 (2025-10-10T08:04Z) x86_64 GNU/Linux

da:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 48 [Radeon RX 9070/9070 XT/9070 GRE] (rev c0)
        Subsystem: Sapphire Technology Limited Navi 48 XTX [Sapphire Pulse Radeon RX 9070 XT]
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu
da:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 48 HDMI/DP Audio Controller
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 48 HDMI/DP Audio Controller
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
qm stop >> qm start have errors
Code:
error writing '1' to '/sys/bus/pci/devices/0000:da:00.0/reset': Inappropriate ioctl for device
failed to reset PCI device '0000:da:00.0', but trying to continue as not all devices need a reset
swtpm_setup: Not overwriting existing state file.
kvm: ../hw/pci/pci.c:1803: pci_irq_handler: Assertion `0 <= irq_num && irq_num < PCI_NUM_PINS' failed.
stopping swtpm instance (pid 4801) due to QEMU startup error
TASK ERROR: start failed: QEMU exited with code 1

I tried the following steps:

add or remove Passthrough class parameters.

grub
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_port_pm=off disable_idle_d3=1 pcie_acs_override=downstream,multifunction pcie_aspm=off  initcall_blacklist=sysfb_init video=vesa:off video=vesafb:off video=efifb:off video=simplefb:off"
vifo
Code:
root@pve:~# cat /etc/modprobe.d/vfio.conf
#options vfio-pci ids=1002:7550,1002:ab40 disable_idle_d3=1 disable_vga=1
root@pve:~# cat /etc/modprobe.d/vfio-noreset.conf
#softdep vfio-pci pre: vfio-pci-noreset
root@pve:~# cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE

# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
#blacklist nvidiafb
#blacklist radeon
#blacklist amdgpu
#blacklist snd_hda_intel
root@pve:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
#vendor-reset
#vfio
#vfio_iommu_type1
#vfio_pci
#vfio-pci-noreset
#vfio_virqfd

use scripts
It looks like
Code:
#!/bin/bash

phase="$2"
echo "Phase is $phase"
if [ "$phase" == "pre-start" ]; then
echo "0000:da:00.0" > /sys/bus/pci/drivers/amdgpu/unbind 2>/dev/null
sleep 2
echo 8 > /sys/bus/pci/devices/0000:da:00.0/resource2_resize
sleep 2
elif [ "$phase" == "post-stop" ]; then
sleep 5
echo "0000:da:00.0" > /sys/bus/pci/drivers/vfio-pci/unbind 2>/dev/null
sleep 2
echo "0000:da:00.0" > /sys/bus/pci/drivers/amdgpu/bind 2>/dev/null
sleep 2
fi

It is worth noting that
Code:
#echo "0000:da:00.0" > /sys/bus/pci/drivers/amdgpu/bind 2>/dev/null   >>>> hang ,no error

dmesg in file

What else can I try? Thank you all for your hard work.
 

Attachments

Code:
#vfio
#vfio_iommu_type1
#vfio_pci

Why is this commented out?

Code:
pcie_port_pm=off disable_idle_d3=1 pcie_acs_override=downstream,multifunction pcie_aspm=off  initcall_blacklist=sysfb_init video=vesa:off video=vesafb:off video=efifb:off video=simplefb:off

I don't think this setting is necessary, so please remove it.
 
Last edited:
Code:
#vfio
#vfio_iommu_type1
#vfio_pci

Why is this commented out?

Code:
pcie_port_pm=off disable_idle_d3=1 pcie_acs_override=downstream,multifunction pcie_aspm=off  initcall_blacklist=sysfb_init video=vesa:off video=vesafb:off video=efifb:off video=simplefb:off

I don't think this setting is necessary, so please remove it.

Yes, whether adding or removing these parameters has no effect. They have now been removed, and I don't know how to proceed with the fix.
 
Do not attempt to determine whether these settings are necessary.

The settings you configured are no longer valid or should not have been configured in the first place.

After removing Proxmox and performing a fresh installation, please apply the following settings.