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.
qm stop >> qm start have errors
I tried the following steps:
add or remove Passthrough class parameters.
grub
vifo
use scripts
It looks like
It is worth noting that
dmesg in file
What else can I try? Thank you all for your hard work.
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
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"
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.