Kernel panic VFS: Unable to mount root fs on unknown-block (0,0) sobald ein 7.x Kernel verwendet wird.

Raylane

New Member
May 30, 2026
15
0
1
Hallo,

ich habe Probleme das mit Kernel 7.x immer die Meldung "Kernel Panic! VFS: Unable to mount root fs on unknown-block (0,0)" erscheint.
Aktuell kann ich nur in den Kernel 6.17.13-13-pve booten. Durch das deinstallieren von Proxmox VE konnte ich verhinder das dieser immer
wieder ein Kernel 7.x versucht wird neu zu installieren.

Mein PC habe ich als Komplett durchgereichte VM (GPU, onboard GPU, USB Ports, SSD, etc.) erstellt. Diverse IOMMU Gruppen wurden dem Proxmox Host
entzogen und direkt an die VM's gereicht. Laut der make.log scheint das ganze irgendwie an der internen AMD Grafikkarte vom Prozessor zu liegen.

Vermutlich ist meine aktuelle Lösung nicht die Richtige bzw. nicht die schöne Variante. Da ich mein Wissen ehr als Linuxanfänger einstuffen würde.

Vielleicht kann ja ein erfahrener mir ein Tipp geben wie ich mein Proxmox wieder anständig mit aktuellem Kernel zum laufen bekomme.

Meine Hardware:
CPU: AMD Ryzen 9 7900X3D 12x 4.40GHz
Mainboard: ASRock X670E PG Lightning AMD X670E
GPU: MSI Geforce RTX 4070 VENTUS OC 12GB
RAM: 64GB Corsair Vengeance RGB DDR5-6000


Wenn ich Proxmox VE wieder installieren will:
Code:
root@Raylane:~# apt install proxmox-ve
Installing:                    
  proxmox-ve

Installing dependencies:
  proxmox-default-kernel  proxmox-kernel-7.0  proxmox-kernel-7.0.6-2-pve-signed

Summary:
  Upgrading: 0, Installing: 4, Removing: 0, Not Upgrading: 0
  Download size: 131 MB
  Space needed: 1,030 MB / 83.8 GB available

Continue? [Y/n] y
Get:1 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 proxmox-kernel-7.0.6-2-pve-signed amd64 7.0.6-2 [131 MB]
Get:2 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 proxmox-kernel-7.0 amd64 7.0.6-2 [12.9 kB]                                                                                                                                                                                                                                                      
Get:3 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 proxmox-default-kernel all 2.1.0 [2,316 B]                                                                                                                                                                                                                                                      
Get:4 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 proxmox-ve all 9.2.0 [5,156 B]                                                                                                                                                                                                                                                                  
Fetched 131 MB in 11s (11.5 MB/s)                                                                                                                                                                                                                                                                                                                                            
Selecting previously unselected package proxmox-kernel-7.0.6-2-pve-signed.
(Reading database ... 97451 files and directories currently installed.)
Preparing to unpack .../proxmox-kernel-7.0.6-2-pve-signed_7.0.6-2_amd64.deb ...
Unpacking proxmox-kernel-7.0.6-2-pve-signed (7.0.6-2) ...
Selecting previously unselected package proxmox-kernel-7.0.
Preparing to unpack .../proxmox-kernel-7.0_7.0.6-2_amd64.deb ...
Unpacking proxmox-kernel-7.0 (7.0.6-2) ...
Selecting previously unselected package proxmox-default-kernel.
Preparing to unpack .../proxmox-default-kernel_2.1.0_all.deb ...
Unpacking proxmox-default-kernel (2.1.0) ...
Selecting previously unselected package proxmox-ve.
Preparing to unpack .../proxmox-ve_9.2.0_all.deb ...
Unpacking proxmox-ve (9.2.0) ...
Setting up proxmox-kernel-7.0.6-2-pve-signed (7.0.6-2) ...
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 7.0.6-2-pve /boot/vmlinuz-7.0.6-2-pve
Sign command: /lib/modules/7.0.6-2-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Autoinstall of module vendor-reset/0.1.1 for kernel 7.0.6-2-pve (x86_64)
Building module(s)...(bad exit status: 2)
Failed command:
make -j24 KERNELRELEASE=7.0.6-2-pve KDIR=/lib/modules/7.0.6-2-pve/build

Error! Bad return status for module build on kernel: 7.0.6-2-pve (x86_64)
Consult /var/lib/dkms/vendor-reset/0.1.1/build/make.log for more information.

Autoinstall on 7.0.6-2-pve failed for module(s) vendor-reset(10).

Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
run-parts: /etc/kernel/postinst.d/dkms exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-7.0.6-2-pve-signed.postinst line 20.
dpkg: error processing package proxmox-kernel-7.0.6-2-pve-signed (--configure):
 installed proxmox-kernel-7.0.6-2-pve-signed package post-installation script subprocess returned error exit status 2
dpkg: dependency problems prevent configuration of proxmox-kernel-7.0:
 proxmox-kernel-7.0 depends on proxmox-kernel-7.0.6-2-pve-signed | proxmox-kernel-7.0.6-2-pve; however:
  Package proxmox-kernel-7.0.6-2-pve-signed is not configured yet.
  Package proxmox-kernel-7.0.6-2-pve is not installed.
  Package proxmox-kernel-7.0.6-2-pve-signed which provides proxmox-kernel-7.0.6-2-pve is not configured yet.

dpkg: error processing package proxmox-kernel-7.0 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proxmox-default-kernel:
 proxmox-default-kernel depends on proxmox-kernel-7.0; however:
  Package proxmox-kernel-7.0 is not configured yet.

dpkg: error processing package proxmox-default-kernel (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proxmox-ve:
 proxmox-ve depends on proxmox-default-kernel; however:
  Package proxmox-default-kernel is not configured yet.

dpkg: error processing package proxmox-ve (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 proxmox-kernel-7.0.6-2-pve-signed
 proxmox-kernel-7.0
 proxmox-default-kernel
 proxmox-ve
Error: Sub-process /usr/bin/dpkg returned an error code (1)


make.log
Code:
DKMS (dkms-3.2.2) make.log for vendor-reset/0.1.1 for kernel 7.0.6-2-pve (x86_64)
Sat May 30 12:22:51 PM CEST 2026

Building module(s)
# command: make -j24 KERNELRELEASE=7.0.6-2-pve KDIR=/lib/modules/7.0.6-2-pve/build
make -C /lib/modules/7.0.6-2-pve/build M=/var/lib/dkms/vendor-reset/0.1.1/build modules
make[1]: Entering directory '/usr/src/linux-headers-7.0.6-2-pve'
make[2]: Entering directory '/var/lib/dkms/vendor-reset/0.1.1/build'
warning: pahole version differs from the one used to build the kernel
  The kernel was built with: 130
  You are using:             0
  CC [M]  src/module.o
  CC [M]  src/vendor-reset-dev.o
  CC [M]  src/ioctl.o
  CC [M]  src/ftrace.o
  CC [M]  src/hook.o
  CC [M]  src/amd/common.o
  CC [M]  src/amd/compat.o
  CC [M]  src/amd/firmware.o
  CC [M]  src/amd/navi10.o
  CC [M]  src/amd/polaris10.o
  CC [M]  src/amd/vega10.o
  CC [M]  src/amd/vega20.o
  CC [M]  src/amd/amdgpu/amdgpu_device.o
  CC [M]  src/amd/amdgpu/amdgpu_discovery.o
  CC [M]  src/amd/amdgpu/amdgpu_bios.o
  CC [M]  src/amd/amdgpu/amdgpu_atomfirmware.o
  CC [M]  src/amd/amdgpu/atom.o
  CC [M]  src/amd/amdgpu/common_baco.o
  CC [M]  src/amd/amdgpu/navi10_reg_init.o
  CC [M]  src/amd/amdgpu/navi12_reg_init.o
  CC [M]  src/amd/amdgpu/navi14_reg_init.o
  CC [M]  src/amd/amdgpu/polaris_baco.o
  CC [M]  src/amd/amdgpu/smu7_baco.o
  CC [M]  src/amd/amdgpu/vega10_reg_init.o
  CC [M]  src/amd/amdgpu/vega20_reg_init.o
src/ftrace.c:66:5: warning: no previous prototype for ‘fh_install_hook’ [-Wmissing-prototypes]
   66 | int fh_install_hook(struct ftrace_hook *hook)
      |     ^~~~~~~~~~~~~~~
src/ftrace.c:96:6: warning: no previous prototype for ‘fh_remove_hook’ [-Wmissing-prototypes]
   96 | void fh_remove_hook(struct ftrace_hook *hook)
      |      ^~~~~~~~~~~~~~
src/ioctl.c:91:5: warning: no previous prototype for ‘vendor_reset_ioctl_init’ [-Wmissing-prototypes]
   91 | int vendor_reset_ioctl_init(void)
      |     ^~~~~~~~~~~~~~~~~~~~~~~
src/ioctl.c:96:6: warning: no previous prototype for ‘vendor_reset_ioctl_exit’ [-Wmissing-prototypes]
   96 | void vendor_reset_ioctl_exit(void)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
src/amd/firmware.c:40:5: warning: no previous prototype for ‘amdgpu_io_rreg’ [-Wmissing-prototypes]
   40 | u32 amdgpu_io_rreg(struct amd_fake_dev *adev, u32 reg)
      |     ^~~~~~~~~~~~~~
src/amd/amdgpu/amdgpu_device.c:47:6: warning: no previous prototype for ‘amdgpu_device_vram_access’ [-Wmissing-prototypes]
   47 | void amdgpu_device_vram_access(struct amd_fake_dev *adev, loff_t pos,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
src/amd/firmware.c:60:6: warning: no previous prototype for ‘amdgpu_io_wreg’ [-Wmissing-prototypes]
   60 | void amdgpu_io_wreg(struct amd_fake_dev *adev, u32 reg, u32 v)
      |      ^~~~~~~~~~~~~~
src/amd/amdgpu/atom.c:32:10: fatal error: asm/unaligned.h: No such file or directory
   32 | #include <asm/unaligned.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-7.0.6-2-pve/scripts/Makefile.build:289: src/amd/amdgpu/atom.o] Error 1
make[4]: *** Waiting for unfinished jobs....
src/amd/amdgpu/vega10_reg_init.c:29:5: warning: no previous prototype for ‘vega10_reg_base_init’ [-Wmissing-prototypes]
   29 | int vega10_reg_base_init(struct amd_fake_dev *adev)
      |     ^~~~~~~~~~~~~~~~~~~~
src/amd/amdgpu/amdgpu_bios.c:91:6: warning: no previous prototype for ‘amdgpu_read_bios’ [-Wmissing-prototypes]
   91 | bool amdgpu_read_bios(struct amd_fake_dev *adev)
      |      ^~~~~~~~~~~~~~~~
src/amd/amdgpu/amdgpu_bios.c:156:6: warning: no previous prototype for ‘amdgpu_get_bios’ [-Wmissing-prototypes]
  156 | bool amdgpu_get_bios(struct amd_fake_dev *adev)
      |      ^~~~~~~~~~~~~~~
src/amd/amdgpu/vega20_reg_init.c:29:5: warning: no previous prototype for ‘vega20_reg_base_init’ [-Wmissing-prototypes]
   29 | int vega20_reg_base_init(struct amd_fake_dev *adev)
      |     ^~~~~~~~~~~~~~~~~~~~
src/amd/vega10.c:96:5: warning: no previous prototype for ‘vega10_baco_set_state’ [-Wmissing-prototypes]
   96 | int vega10_baco_set_state(struct amd_fake_dev *adev, enum BACO_STATE state)
      |     ^~~~~~~~~~~~~~~~~~~~~
make[3]: *** [/usr/src/linux-headers-7.0.6-2-pve/Makefile:2111: .] Error 2
make[2]: *** [/usr/src/linux-headers-7.0.6-2-pve/Makefile:248: __sub-make] Error 2
make[2]: Leaving directory '/var/lib/dkms/vendor-reset/0.1.1/build'
make[1]: *** [Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-7.0.6-2-pve'
make: *** [Makefile:8: build] Error 2

# exit code: 2
# elapsed time: 00:00:03
----------------------------------------------------------------
 
Last edited:
Wenn du schon das externe (nicht Proxmox integrierte) "vendor-reset" Repo nutzen willst, dann würde ich auch dort nachfragen was los ist:
https://github.com/gnif/vendor-reset

Ansonsten wäre es hier wohl gut aufgehoben:
 
  • Like
Reactions: Johannes S
Das Problem mit dem 7 Kernel ist vermutlich auf eine Änderung der IOMMU Gruppe zurückzuführen. Nutzt du Resource Mappings?
 
Last edited:
Vielen Dank für die schnellen Antworten.
Wenn du schon das externe (nicht Proxmox integrierte) "vendor-reset" Repo nutzen willst, dann würde ich auch dort nachfragen was los ist:
https://github.com/gnif/vendor-reset

Ansonsten wäre es hier wohl gut aufgehoben:
Okay werde ich mir mal anschauen. Wie gesagt mein Wissen ist ehr das eines Anfängers. Ich hab damals einfach einen Guide bei Reddit ausprobiert. Gibt es einen Einfachen Befehl um Zwischen dem Proxmox integrierten Repo und dem externen wechseln kann?


Das Problem mit dem 7 Kernel ist vermutlich auf eine Änderung der IOMMU Gruppe zurückzuführen. Nutzt du Resource Mappings?
Mappings werden nicht genutzt ich füge die Hardware den VM's direkt zu (es läuft immer nur eine VM zur Zeit (Windows / PopOS oder Nobara) Da ich so verschiedene Betriebssysteme nutzen oder auch ausprobieren kann.
Hardware.jpg
 
Das ist gefährlich. 0000:15 kann mit dem neuen Kernel eventell etwas komplett anderes sein. Zb. dein Speicher Controller oder ähnliches.
 
Das ist gefährlich. 0000:15 kann mit dem neuen Kernel eventell etwas komplett anderes sein. Zb. dein Speicher Controller oder ähnliches.
Okay aber das sollte soweit ich das verstanden habe noch nicht mein Problem sein da ich die VM's händisch per Weboberfläche am Handy auswähle. Aber der Kernel Build schon vorab nicht funktioniert. Ich nutz auch nur diese Variante da das Resource Mapping nicht funktioniert hat (Vermutlich aufgrund von fehlendem Wissen).
 
Anhand deiner Fehlermeldung ist das Problem vermutlich (ich kann auch nur grob raten, anhand der gelieferten Details) folgendes:

Du hast ein System aufgesetzt, das bei Kernel-Update automatisch versucht das "vendor-reset" Kernel-Modul zu bauen und ins initramfs zu integrieren.
Dein System hat das Kernel Update an sich eingespielt, sodass die Kernel v7.0 "vmlinuz" Datei (also das reine Kernel-Image) vorhanden ist.
Anschließend probiert das System erfolglos das Treibermodul (vendor-reeset) zu bauen. Dabei wird höchstwahrscheinlich das vorhandene inintramfs verschoben/umbenannt oder gelöscht und ein neues kann, wegen dem dkms-fail, nicht erstellt werden.
In dem Moment, wo du im Bootloader den v7.0er Kernel auswählst, wird NUR der Kernel geladen, aber kein initramfs ==> keine Treibermodule für Dateisysteme und Storagecontroller ==> Fehlermeldung die du siehst.

Die Lernkurve ist bei Linux an sich schon nicht schlecht. Wer aber meint gleich bei einem Virtualisierungshost als "Lernplattform" einzusteigen, den trifft es eben noch härter. Dran bleiben, viel lernen und irgendwann hat man dann auch mal Spaß dran. :)

@Impact:
Das was du beschreibst kommt erst später. Dazu müsste es ja erstmal soweit kommen, um mit vfio-pci zu arbeiten.
 
So ich hab den vendor-reset entfernt und das compilieren des Kernels hat geklappt. Aber wie es aussieht funktioniert der integrierte Reset nicht und der ganze Knoten friert einfach ein. Laut Log passiert folgenden:

Wenn eine Linux Basierte VM gestartet wird(Nobara):
Code:
error writing '1' to '/sys/bus/pci/devices/0000:17:00.0/reset': Inappropriate ioctl for device
failed to reset PCI device '0000:17:00.0', but trying to continue as not all devices need a reset

Wenn eine Windows VM gestartet wird:
Code:
error writing '1' to '/sys/bus/pci/devices/0000:17:00.0/reset': Inappropriate ioctl for device
failed to reset PCI device '0000:17:00.0', but trying to continue as not all devices need a reset
swtpm_setup: Not overwriting existing state file.

Was mich wunder ist das hier eine Adresse angezeigt wird, da ich extra den Rat mit dem Resource Mapping befolgt habe.
Hardware mit Mapping.jpg
 
Exakt was zu erwarten war.
Nochmal für's Verständnis:
Deine GPU hat ein Problem damit, wenn sie mitten im Betrieb resettet werden soll.
Das ist für ein Consumer-Device auch nicht wirklich Teil des Use-Case.

Nun kann man dafür Workarounds anwenden (siehe "vendor-reset") und diese lassen sich auch in den Linux-Kernel einbauen.
Nun das große ABER:
Nur wenn sich jemand explizit darum kümmert, und das Mainline anfragt bzw. vorantreibt. Das ist Teil des Open-Source Gedanken.

Also, entweder weiter älteren Kernel nutzen, oder beim "vendor-reset" Projekt nach Unterstützung für Kernel v7.0 anfragen.
 
Last edited:
Mal ne Frage: wozu reichst du die AMD Raphael iGPU (0000:17:00.0) überhaupt an die VM durch? Die RTX 4070 ist doch schon dein primäres Display mit x-vga=1. Die Reset-Probleme kommen genau von der AMD iGPU, und vendor-reset war der Workaround dafür. Wenn du die drei Raphael-Devices (17:00.0, 17:00.1, 17:00.6) einfach weglässt, hast du das Reset-Problem nicht mehr und brauchst auch kein vendor-reset.

Falls du die iGPU brauchst für Looking Glass oder nen zweiten Monitor, sag Bescheid, dann schauen wir weiter. Aber wenn die RTX 4070 eh alles macht, würd ich die AMD iGPU einfach dem Host lassen oder per vfio-pci binden ohne sie einer VM zuzuweisen.

Btw, du hast da auch echt viel Hardware durchgereicht (01:00, 04:00, 13:00 bis 16:00 und die drei iGPU-Devices). Was ist auf den ganzen anderen Adressen drauf? Poste mal lspci -nn, damit man sieht was da alles in der VM landet.
 
  • Like
Reactions: Johannes S
Ich reiche die AMD GPU für mein Display in meinem Tower durch (Hab das Hyte Y70 Touch Gehäuse welches ein Display verbaut hat). An der RTX470 hängen schon 2 Monitore + Beamer und VR Headset. Daher benötige ich auch die iGPU.

Die anderen Sachen sind eigentlich nur USB Controller da ich über das Limit komme mit dem USB passthrough.
04:00 ist die 2. SSD die ich durchreiche und 14:00&16:00 sind noch SATA Controller für HDD.
Hier könnte ich vermutlich einen Entfernen da ich nur eine HDD angeschlossen habe.
Die sollen auch durchgeschliffen werden damit ich aus jedem OS Zugriff drauf habe.

Code:
root@Raylane:~# lspci -nn
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Root Complex [1022:14d8]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge IOMMU [1022:14d9]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Dummy Host Bridge [1022:14da]
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge GPP Bridge [1022:14db]
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Dummy Host Bridge [1022:14da]
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge GPP Bridge [1022:14db]
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Dummy Host Bridge [1022:14da]
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Dummy Host Bridge [1022:14da]
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Dummy Host Bridge [1022:14da]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Internal GPP Bridge to Bus [C:A] [1022:14dd]
00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Internal GPP Bridge to Bus [C:A] [1022:14dd]
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 0 [1022:14e0]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 1 [1022:14e1]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 2 [1022:14e2]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 3 [1022:14e3]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 4 [1022:14e4]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 5 [1022:14e5]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 6 [1022:14e6]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge Data Fabric; Function 7 [1022:14e7]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD104 [GeForce RTX 4070] [10de:2786] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation AD104 High Definition Audio Controller [10de:22bc] (rev a1)
02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Upstream Port [1022:43f4] (rev 01)
03:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
03:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
03:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
03:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
03:07.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
03:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
03:0c.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
03:0d.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal] [144d:a80c]
09:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Upstream Port [1022:43f4] (rev 01)
0a:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:01.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:02.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:03.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:0a.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:0b.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:0c.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0a:0d.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port [1022:43f5] (rev 01)
0e:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
10:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal] [144d:a80c]
13:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset USB 3.2 Controller [1022:43f7] (rev 01)
14:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset SATA Controller [1022:43f6] (rev 01)
15:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset USB 3.2 Controller [1022:43f7] (rev 01)
16:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset SATA Controller [1022:43f6] (rev 01)
17:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev ca)
17:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
17:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649]
17:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b6]
17:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b7]
17:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3]
18:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8]
root@Raylane:~#
 
Last edited:
OK, Hyte Y70 Touch mit eingebautem Display, das macht Sinn. Dann brauchst du die iGPU.

Erstmal: auf dem 6.x Kernel bleiben ist völlig OK, da ist nix verkehrt dran. Kannst den in GRUB als Default pinnen und gut is. Ein Kernelwechsel bringt dir bei dem Setup eh keinen Vorteil.

Für Kernel 7.x müsste jemand vendor-reset anpassen. Schau mal bei github.com/gnif/vendor-reset/issues ob da schon was zu Kernel 7.x steht, sonst mach ein Issue auf. Die Community dort ist recht aktiv.

Aber noch ne Sache: du reichst 17:00.0, .1 und .6 durch, aber 17:00.2 (PSP/CCP), 17:00.3 und 17:00.4 (beides USB Controller) sitzen auf dem gleichen Device. Sind die an vfio-pci gebunden? Poste mal lspci -nnks 17:00, dann sieht man welcher Treiber auf welcher Function sitzt. Wenn da noch Host-Treiber drauf sind während du die anderen Functions an die VM gibst, kann das auch Probleme machen.

Als Alternative zu vendor-reset kannst du auch mal testen ob ein remove/rescan-Workaround bei der Raphael iGPU funktioniert. Dafür vor dem VM-Start ein Hook-Script das echo 1 > /sys/bus/pci/devices/0000:17:00.0/remove und dann echo 1 > /sys/bus/pci/rescan macht. vendor-reset ist sauberer, aber bei manchen AMD GPUs reicht das auch.
 
Also wenn ich lspci -nnks 17:00 kommt folgender output:
Code:
root@Raylane:~# lspci -nnks 17:00
17:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev ca)
        Subsystem: ASRock Incorporation Device [1849:364e]
        Kernel driver in use: vfio-pci
        Kernel modules: amdgpu
17:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
17:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649]
        Subsystem: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649]
        Kernel driver in use: ccp
        Kernel modules: ccp
17:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b6]
        Subsystem: ASRock Incorporation Device [1849:15b6]
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
17:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b7]
        Subsystem: ASRock Incorporation Device [1849:15b6]
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
17:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3]
        Subsystem: ASRock Incorporation Device [1849:1897]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
root@Raylane:~#
Da in den Guides die Ich gelesen hatte das man immer GPU + Angehängtes Audio Gerät durchschleifen soll habe ich dieses hier auch gemacht.


Da ich bisher keine Ahnung von Hookscripts habe habe ich es wie hier erstellt: Forum Post und diesem Forum Post.

Code:
#! /bin/bash

VM_ID=$1;
EXECUTION_PHASE=$2;
LOGGING=/var/log/pciereset.log;

/usr/bin/date >> $LOGGING;

if [[ "$EXECUTION_PHASE" == "pre-start" ]]; then
        /usr/bin/echo "Phase is $EXECUTION_PHASE , Resetting PCIe device 17" >> $LOGGING;
        /usr/bin/echo "1" > /sys/bus/pci/devices/0000\:17\:00.0/remove;
        /usr/bin/sleep 1;
        /usr/bin/echo "1" > /sys/bus/pci/rescan;
        /usr/bin/echo "PCIe device 17 has been reset" >> $LOGGING;
else
        /usr/bin/echo "Phase is $EXECUTION_PHASE , skipping reset of PCIe device 17..." >> $LOGGING;
fi

/usr/bin/echo "##################" >> $LOGGING;

Die VM fährt aber unter Kernel 7.x nicht hoch und der ganze node friert ein. Im log ist nach einem Neustart folgende Fehlermeldung zu finden:
Code:
swtpm_setup: Not overwriting existing state file.
was schon mal bedeutet das ein Teil des Alten Fehlercodes weg ist.



unter Kernel 6.17.13-13-pve startet die VM weiterhin wie gewohnt.
 
Post #13 from Raylane has the lspci -nnks 17:00 output I was looking for. As suspected, 17:00.2 (PSP/CCP), 17:00.3 and 17:00.4 (USB) are still on host drivers while .0, .1, .6 are on vfio-pci. He tried the remove/rescan hookscript too but the node still freezes on kernel 7.x. That's enough to give him a fix.

Genau das was ich vermutet hab. 17:00.2 (PSP/CCP) hängt noch am ccp-Treiber und .3/.4 an xhci_hcd, während .0, .1, .6 auf vfio-pci laufen. Das ist ziemlich sicher der Grund warum der Node einfriert, besonders der PSP (Platform Security Processor) auf .2 ist da kritisch. Wenn du per remove/rescan die GPU-Function rausreißt aber der PSP noch aktiv am Host hängt, kann das den ganzen Bus in einen ungültigen Zustand bringen.

Pack mal alle Functions auf vfio-pci. In /etc/modprobe.d/vfio.conf die IDs ergänzen:
Code:
options vfio-pci ids=1002:164e,1002:1640,1022:15e3,1022:1649,1022:15b6,1022:15b7
Dann update-initramfs -u -k all und reboot. Danach nochmal lspci -nnks 17:00 posten, da sollte dann überall vfio-pci stehen.

Die USB-Controller .3 und .4 kannst du dann bei Bedarf auch gleich an die VM durchreichen, das sind ja die onboard-USB-Ports vom Prozessor. Wenn du die nicht in der VM brauchst, lass sie trotzdem auf vfio-pci, Hauptsache nicht gemischt.

Danach nochmal testen ob der Node mit Kernel 7.x und dem Hookscript stabil bleibt. Die swtpm_setup-Meldung ist übrigens harmlos, das ist nur der TPM-Emulator der sagt "State ist schon da", kein echter Fehler.
 
Da bei mir
Code:
options vfio-pci ids=1002:164e,1002:1640,10de:2786,10de:22bc disable_vga=1
drin stand hab ich jetzt mal so angepasst:
Code:
options vfio-pci ids=1002:164e,1002:1640,1022:15e3,1022:1649,1022:15b6,1022:15b7,10de:2786,10de:22bc disable_vga=1

Aber auch nach update-initramfs sieht es immer noch so aus.... nur 17:02 ist von ccp auf vfio-pci gewechselt. Die anderen sind aber auch xhci_hcd geblieben.
Code:
root@Raylane:~# lspci -nnks 17:00
17:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev ca)
        Subsystem: ASRock Incorporation Device [1849:364e]
        Kernel driver in use: vfio-pci
        Kernel modules: amdgpu
17:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
17:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649]
        Subsystem: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649]
        Kernel driver in use: vfio-pci
        Kernel modules: ccp
17:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b6]
        Subsystem: ASRock Incorporation Device [1849:15b6]
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
17:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b7]
        Subsystem: ASRock Incorporation Device [1849:15b6]
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
17:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3]
        Subsystem: ASRock Incorporation Device [1849:1897]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
root@Raylane:~#
 
Das Problem ist die Ladereihenfolge: xhci_pci wird im initramfs vor vfio-pci geladen und schnappt sich die Devices zuerst, obwohl die IDs in der vfio.conf stimmen.

Füg in /etc/modprobe.d/vfio.conf noch diese Zeile dazu:
Code:
softdep xhci_pci pre: vfio-pci
So wird vfio-pci vor xhci_pci geladen, der ID-Match greift und vfio-pci bekommt .3 und .4 zuerst. Dann update-initramfs -u -k all und reboot. Bei lspci -nnks 17:00 sollte dann überall vfio-pci stehen.

Wenn das sitzt, boot mal in den 7.x Kernel und guck, ob die VM startet ohne Freeze.
 
Die ladereihenfolge schein ich behoben bekommen zu haben:
/etc/modprobe.d/vfio.conf
Code:
options vfio-pci ids=1002:164e,1002:1640,1022:15e3,1022:1649,1022:15b6,1022:15b7,10de:2786,10de:22bc disable_vga=1
softdep xhci_pci pre: vfio-pci

Code:
root@Raylane:~# lspci -nnks 17:00
17:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev ca)
        Subsystem: ASRock Incorporation Device [1849:364e]
        Kernel driver in use: vfio-pci
        Kernel modules: amdgpu
17:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
17:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649]
        Subsystem: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649]
        Kernel driver in use: vfio-pci
        Kernel modules: ccp
17:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b6]
        Subsystem: ASRock Incorporation Device [1849:15b6]
        Kernel driver in use: vfio-pci
        Kernel modules: xhci_pci
17:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Raphael/Granite Ridge USB 3.1 xHCI [1022:15b7]
        Subsystem: ASRock Incorporation Device [1849:15b6]
        Kernel driver in use: vfio-pci
        Kernel modules: xhci_pci
17:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3]
        Subsystem: ASRock Incorporation Device [1849:1897]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
root@Raylane:~#

Doch die VM friert immer noch ein laut Dashboard weiterhin Error unexpected status und der inhalt ist weiterhin nur
Code:
swtpm_setup: Not overwriting existing state file.
Es wird kein weiterer Fehler angezeigt.


Da mir das ganze komisch vorgekommen ist hab ich meine Pop!OS VM genommen und alle Passthrough Sachen entfernt und getestet womit diese mit Kernel 7.x hochfährt und der Node nicht einfriert. Das ergebnis ist leider ernüchternd.... sobald ich ein PCI Passthrough hinzufüge (egal ob RAW oder Gemapped) friert der Node ein.

Daraufhin hab ich jetzt die Systemlogs für einmal von Reboot zu Reboot rausgesucht.

Proxmox Startup:

Pastes.io (da Forumeintrag sonst zu lang)


VM Startup:
Code:
Jun 12 14:06:51 Raylane pvedaemon[1423]: <root@pam> successful auth for user 'root@pam'
Jun 12 14:06:59 Raylane pvedaemon[1933]: start VM 101: UPID:Raylane:0000078D:00004A69:6A2BF663:qmstart:101:root@pam:
Jun 12 14:06:59 Raylane pvedaemon[1424]: <root@pam> starting task UPID:Raylane:0000078D:00004A69:6A2BF663:qmstart:101:root@pam:
Jun 12 14:06:59 Raylane kernel: vfio-pci 0000:01:00.0: resetting
Jun 12 14:06:59 Raylane kernel: vfio-pci 0000:01:00.0: reset done
Jun 12 14:06:59 Raylane systemd[1]: Created slice qemu.slice - Slice /qemu.
Jun 12 14:06:59 Raylane systemd[1]: Started 101.scope.
Jun 12 14:07:00 Raylane kernel: tap101i0: entered promiscuous mode
Jun 12 14:07:00 Raylane kernel: vmbr0: port 2(fwpr101p0) entered blocking state
Jun 12 14:07:00 Raylane kernel: vmbr0: port 2(fwpr101p0) entered disabled state
Jun 12 14:07:00 Raylane kernel: fwpr101p0: entered allmulticast mode
Jun 12 14:07:00 Raylane kernel: fwpr101p0: entered promiscuous mode
Jun 12 14:07:00 Raylane kernel: vmbr0: port 2(fwpr101p0) entered blocking state
Jun 12 14:07:00 Raylane kernel: vmbr0: port 2(fwpr101p0) entered forwarding state
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 1(fwln101i0) entered blocking state
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 1(fwln101i0) entered disabled state
Jun 12 14:07:00 Raylane kernel: fwln101i0: entered allmulticast mode
Jun 12 14:07:00 Raylane kernel: fwln101i0: entered promiscuous mode
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 1(fwln101i0) entered blocking state
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 1(fwln101i0) entered forwarding state
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 2(tap101i0) entered blocking state
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 2(tap101i0) entered disabled state
Jun 12 14:07:00 Raylane kernel: tap101i0: entered allmulticast mode
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 2(tap101i0) entered blocking state
Jun 12 14:07:00 Raylane kernel: fwbr101i0: port 2(tap101i0) entered forwarding state
-- Reboot --
Jun 12 14:10:37 Raylane kernel: Linux version 7.0.6-2-pve (build@proxmox) (gcc (Debian 14.2.0.......

Werde hierraus leider auch nicht wirklich schlauer. Wie man noch sieht scheint das System knapp 3 Minuten nix gemacht zu haben bevor ich den Node via Powerknopf neugestartet habe.
 
Last edited:
OK, die vfio-pci Bindung ist jetzt sauber, das war's also nicht. Wenn JEDES PCI-Passthrough den Node unter 7.x einfriert, liegt das Problem tiefer, vermutlich IOMMU/VFIO-seitig im neuen Kernel.

Poste mal zwei Sachen zum Vergleichen:

Unter dem 6.x Kernel (wo alles läuft):
Code:
cat /proc/cmdline
und
Code:
dmesg | grep -i iommu

Dann einmal in den 7.x Kernel booten (ohne VM zu starten!) und das gleiche nochmal:
Code:
cat /proc/cmdline
Code:
dmesg | grep -i vfio

Kernel 7.x hat bei AMD teils die IOMMU-Defaults geändert. Gut möglich dass da iommu=pt oder amd_iommu=on nicht mehr implizit gesetzt wird wie vorher. Der Vergleich zeigt das.

Und den Pastebin-Link mit den Startup-Logs hab ich gesehen, kannst du den nochmal direkt hier reinkopieren? Pastebin-Links gehen gern mal kaputt.
 
pastebin durch pastes.io link ersetzt.
https://pastes.io/IwVK877B

Unter Kernel 6.x:
Code:
root@Raylane:~# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.17.13-13-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off

Code:
root@Raylane:~# dmesg | grep -i iommu
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.17.13-13-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off
[    0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[    0.045372] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.17.13-13-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off
[    0.477085] iommu: Default domain type: Passthrough (set via kernel command line)
[    0.546533] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[    0.546584] pci 0000:00:01.0: Adding to iommu group 0
[    0.546601] pci 0000:00:01.1: Adding to iommu group 1
[    0.546625] pci 0000:00:02.0: Adding to iommu group 2
[    0.546641] pci 0000:00:02.1: Adding to iommu group 3
[    0.546663] pci 0000:00:03.0: Adding to iommu group 4
[    0.546685] pci 0000:00:04.0: Adding to iommu group 5
[    0.546710] pci 0000:00:08.0: Adding to iommu group 6
[    0.546726] pci 0000:00:08.1: Adding to iommu group 7
[    0.546741] pci 0000:00:08.3: Adding to iommu group 8
[    0.546772] pci 0000:00:14.0: Adding to iommu group 9
[    0.546785] pci 0000:00:14.3: Adding to iommu group 9
[    0.546863] pci 0000:00:18.0: Adding to iommu group 10
[    0.546877] pci 0000:00:18.1: Adding to iommu group 10
[    0.546891] pci 0000:00:18.2: Adding to iommu group 10
[    0.546905] pci 0000:00:18.3: Adding to iommu group 10
[    0.546919] pci 0000:00:18.4: Adding to iommu group 10
[    0.546933] pci 0000:00:18.5: Adding to iommu group 10
[    0.546947] pci 0000:00:18.6: Adding to iommu group 10
[    0.546961] pci 0000:00:18.7: Adding to iommu group 10
[    0.546981] pci 0000:01:00.0: Adding to iommu group 11
[    0.546997] pci 0000:01:00.1: Adding to iommu group 12
[    0.547014] pci 0000:02:00.0: Adding to iommu group 13
[    0.547038] pci 0000:03:00.0: Adding to iommu group 14
[    0.547058] pci 0000:03:04.0: Adding to iommu group 15
[    0.547077] pci 0000:03:05.0: Adding to iommu group 16
[    0.547098] pci 0000:03:06.0: Adding to iommu group 17
[    0.547118] pci 0000:03:07.0: Adding to iommu group 18
[    0.547138] pci 0000:03:08.0: Adding to iommu group 19
[    0.547159] pci 0000:03:0c.0: Adding to iommu group 20
[    0.547178] pci 0000:03:0d.0: Adding to iommu group 21
[    0.547201] pci 0000:04:00.0: Adding to iommu group 22
[    0.547225] pci 0000:09:00.0: Adding to iommu group 23
[    0.547255] pci 0000:0a:00.0: Adding to iommu group 24
[    0.547286] pci 0000:0a:01.0: Adding to iommu group 25
[    0.547316] pci 0000:0a:02.0: Adding to iommu group 26
[    0.547346] pci 0000:0a:03.0: Adding to iommu group 27
[    0.547375] pci 0000:0a:04.0: Adding to iommu group 28
[    0.547405] pci 0000:0a:08.0: Adding to iommu group 29
[    0.547435] pci 0000:0a:0a.0: Adding to iommu group 30
[    0.547465] pci 0000:0a:0b.0: Adding to iommu group 31
[    0.547494] pci 0000:0a:0c.0: Adding to iommu group 32
[    0.547526] pci 0000:0a:0d.0: Adding to iommu group 33
[    0.547561] pci 0000:0e:00.0: Adding to iommu group 34
[    0.547597] pci 0000:10:00.0: Adding to iommu group 35
[    0.547628] pci 0000:13:00.0: Adding to iommu group 36
[    0.547658] pci 0000:14:00.0: Adding to iommu group 37
[    0.547679] pci 0000:15:00.0: Adding to iommu group 38
[    0.547700] pci 0000:16:00.0: Adding to iommu group 39
[    0.547727] pci 0000:17:00.0: Adding to iommu group 40
[    0.547744] pci 0000:17:00.1: Adding to iommu group 41
[    0.547760] pci 0000:17:00.2: Adding to iommu group 42
[    0.547777] pci 0000:17:00.3: Adding to iommu group 43
[    0.547794] pci 0000:17:00.4: Adding to iommu group 44
[    0.547812] pci 0000:17:00.6: Adding to iommu group 45
[    0.547827] pci 0000:18:00.0: Adding to iommu group 46
[    0.643096] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[   54.225568] pci 0000:17:00.0: Adding to iommu group 40

Code:
root@Raylane:~# dmesg | grep -i vfio
[    3.561838] VFIO - User Level meta-driver version: 0.3
[    3.566031] vfio-pci 0000:17:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[    3.566195] vfio_pci: add [1002:164e[ffffffff:ffffffff]] class 0x000000/00000000
[    3.589530] vfio_pci: add [1002:1640[ffffffff:ffffffff]] class 0x000000/00000000
[    3.589695] vfio_pci: add [1022:15e3[ffffffff:ffffffff]] class 0x000000/00000000
[    3.589788] vfio_pci: add [1022:1649[ffffffff:ffffffff]] class 0x000000/00000000
[    3.590098] vfio_pci: add [1022:15b6[ffffffff:ffffffff]] class 0x000000/00000000
[    3.590209] vfio_pci: add [1022:15b7[ffffffff:ffffffff]] class 0x000000/00000000
[    3.627975] vfio-pci 0000:01:00.0: vgaarb: deactivate vga console
[    3.627983] vfio-pci 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[    3.628095] vfio_pci: add [10de:2786[ffffffff:ffffffff]] class 0x000000/00000000
[    3.675860] vfio_pci: add [10de:22bc[ffffffff:ffffffff]] class 0x000000/00000000
[   53.071498] vfio-pci 0000:17:00.0: vgaarb: VGA decodes changed: olddecodes=none,decodes=io+mem:owns=none
[   54.238159] vfio-pci 0000:17:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[   54.641552] vfio-pci 0000:01:00.0: resetting
[   54.747132] vfio-pci 0000:01:00.0: reset done
[   55.016396] vfio-pci 0000:04:00.0: resetting
[   55.016615] vfio-pci 0000:04:00.0: reset done
[   55.623945] vfio-pci 0000:13:00.0: resetting
[   55.731094] vfio-pci 0000:13:00.0: reset done
[   56.023898] vfio-pci 0000:14:00.0: resetting
[   56.130890] vfio-pci 0000:14:00.0: reset done
[   56.575841] vfio-pci 0000:15:00.0: resetting
[   56.683149] vfio-pci 0000:15:00.0: reset done
[   58.039578] vfio-pci 0000:16:00.0: resetting
[   58.147698] vfio-pci 0000:16:00.0: reset done
[   58.172210] vfio-pci 0000:17:00.1: resetting
[   58.196777] vfio-pci 0000:17:00.1: reset done
[   61.350612] vfio-pci 0000:01:00.0: resetting
[   61.458751] vfio-pci 0000:01:00.0: reset done
[   61.495263] vfio-pci 0000:01:00.1: enabling device (0000 -> 0002)
[   61.647812] vfio-pci 0000:04:00.0: resetting
[   61.648609] vfio-pci 0000:04:00.0: reset done
[   61.783782] vfio-pci 0000:13:00.0: resetting
[   61.890730] vfio-pci 0000:13:00.0: reset done
[   62.023415] vfio-pci 0000:14:00.0: resetting
[   62.130685] vfio-pci 0000:14:00.0: reset done
[   62.262655] vfio-pci 0000:15:00.0: resetting
[   62.370687] vfio-pci 0000:15:00.0: reset done
[   62.503654] vfio-pci 0000:16:00.0: resetting
[   62.610628] vfio-pci 0000:16:00.0: reset done
[   62.636980] vfio-pci 0000:17:00.0: enabling device (0002 -> 0003)
[   62.654431] vfio-pci 0000:17:00.1: enabling device (0000 -> 0002)
[   62.654520] vfio-pci 0000:17:00.1: resetting
[   62.678654] vfio-pci 0000:17:00.1: reset done
[   62.693027] vfio-pci 0000:17:00.6: enabling device (0000 -> 0002)
[   62.722805] vfio-pci 0000:01:00.0: resetting
[   62.722836] vfio-pci 0000:01:00.1: resetting
[   62.954645] vfio-pci 0000:01:00.0: reset done
[   62.954674] vfio-pci 0000:01:00.1: reset done
[   62.955349] vfio-pci 0000:17:00.1: resetting
[   62.979866] vfio-pci 0000:17:00.1: reset done
[   62.980341] vfio-pci 0000:16:00.0: resetting
[   63.090626] vfio-pci 0000:16:00.0: reset done
[   63.090914] vfio-pci 0000:15:00.0: resetting
[   63.194606] vfio-pci 0000:15:00.0: reset done
[   63.195326] vfio-pci 0000:14:00.0: resetting
[   63.306418] vfio-pci 0000:14:00.0: reset done
[   63.306688] vfio-pci 0000:13:00.0: resetting
[   63.410614] vfio-pci 0000:13:00.0: reset done
[   63.410904] vfio-pci 0000:04:00.0: resetting
[   63.411286] vfio-pci 0000:04:00.0: reset done
[   63.411565] vfio-pci 0000:01:00.0: resetting
[   63.514618] vfio-pci 0000:01:00.0: reset done
[   64.439622] vfio-pci 0000:16:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[   64.833879] vfio-pci 0000:14:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
root@Raylane:~#

Unter Kernel 7.x:
Code:
root@Raylane:~# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-7.0.6-2-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off

Code:
root@Raylane:~# dmesg | grep -i iommu
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-7.0.6-2-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off
[    0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[    0.045395] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-7.0.6-2-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off
[    0.486225] iommu: Default domain type: Passthrough (set via kernel command line)
[    0.560721] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[    0.560784] pci 0000:00:01.0: Adding to iommu group 0
[    0.560806] pci 0000:00:01.1: Adding to iommu group 1
[    0.560839] pci 0000:00:02.0: Adding to iommu group 2
[    0.560858] pci 0000:00:02.1: Adding to iommu group 3
[    0.560882] pci 0000:00:03.0: Adding to iommu group 4
[    0.560905] pci 0000:00:04.0: Adding to iommu group 5
[    0.560951] pci 0000:00:08.0: Adding to iommu group 6
[    0.560967] pci 0000:00:08.1: Adding to iommu group 7
[    0.560984] pci 0000:00:08.3: Adding to iommu group 8
[    0.561016] pci 0000:00:14.0: Adding to iommu group 9
[    0.561030] pci 0000:00:14.3: Adding to iommu group 9
[    0.561114] pci 0000:00:18.0: Adding to iommu group 10
[    0.561130] pci 0000:00:18.1: Adding to iommu group 10
[    0.561145] pci 0000:00:18.2: Adding to iommu group 10
[    0.561160] pci 0000:00:18.3: Adding to iommu group 10
[    0.561176] pci 0000:00:18.4: Adding to iommu group 10
[    0.561191] pci 0000:00:18.5: Adding to iommu group 10
[    0.561208] pci 0000:00:18.6: Adding to iommu group 10
[    0.561224] pci 0000:00:18.7: Adding to iommu group 10
[    0.561247] pci 0000:01:00.0: Adding to iommu group 11
[    0.561266] pci 0000:01:00.1: Adding to iommu group 12
[    0.561284] pci 0000:02:00.0: Adding to iommu group 13
[    0.561316] pci 0000:03:00.0: Adding to iommu group 14
[    0.561340] pci 0000:03:04.0: Adding to iommu group 15
[    0.561368] pci 0000:03:05.0: Adding to iommu group 16
[    0.561399] pci 0000:03:06.0: Adding to iommu group 17
[    0.561419] pci 0000:03:07.0: Adding to iommu group 18
[    0.561440] pci 0000:03:08.0: Adding to iommu group 19
[    0.561461] pci 0000:03:0c.0: Adding to iommu group 20
[    0.561482] pci 0000:03:0d.0: Adding to iommu group 21
[    0.561505] pci 0000:04:00.0: Adding to iommu group 22
[    0.561529] pci 0000:09:00.0: Adding to iommu group 23
[    0.561559] pci 0000:0a:00.0: Adding to iommu group 24
[    0.561590] pci 0000:0a:01.0: Adding to iommu group 25
[    0.561621] pci 0000:0a:02.0: Adding to iommu group 26
[    0.561652] pci 0000:0a:03.0: Adding to iommu group 27
[    0.561683] pci 0000:0a:04.0: Adding to iommu group 28
[    0.561714] pci 0000:0a:08.0: Adding to iommu group 29
[    0.561744] pci 0000:0a:0a.0: Adding to iommu group 30
[    0.561775] pci 0000:0a:0b.0: Adding to iommu group 31
[    0.561809] pci 0000:0a:0c.0: Adding to iommu group 32
[    0.561839] pci 0000:0a:0d.0: Adding to iommu group 33
[    0.561874] pci 0000:0e:00.0: Adding to iommu group 34
[    0.561910] pci 0000:10:00.0: Adding to iommu group 35
[    0.561942] pci 0000:13:00.0: Adding to iommu group 36
[    0.561975] pci 0000:14:00.0: Adding to iommu group 37
[    0.562000] pci 0000:15:00.0: Adding to iommu group 38
[    0.562022] pci 0000:16:00.0: Adding to iommu group 39
[    0.562052] pci 0000:17:00.0: Adding to iommu group 40
[    0.562069] pci 0000:17:00.1: Adding to iommu group 41
[    0.562087] pci 0000:17:00.2: Adding to iommu group 42
[    0.562107] pci 0000:17:00.3: Adding to iommu group 43
[    0.562125] pci 0000:17:00.4: Adding to iommu group 44
[    0.562143] pci 0000:17:00.6: Adding to iommu group 45
[    0.562160] pci 0000:18:00.0: Adding to iommu group 46
[    0.630878] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
root@Raylane:~#

Code:
root@Raylane:~# dmesg | grep -i vfio
[   12.150259] VFIO - User Level meta-driver version: 0.3
[   12.155339] vfio-pci 0000:17:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[   12.155417] vfio_pci: add [1002:164e[ffffffff:ffffffff]] class 0x000000/00000000
[   12.179538] vfio_pci: add [1002:1640[ffffffff:ffffffff]] class 0x000000/00000000
[   12.179612] vfio_pci: add [1022:15e3[ffffffff:ffffffff]] class 0x000000/00000000
[   12.179676] vfio_pci: add [1022:1649[ffffffff:ffffffff]] class 0x000000/00000000
[   12.179748] vfio_pci: add [1022:15b6[ffffffff:ffffffff]] class 0x000000/00000000
[   12.179816] vfio_pci: add [1022:15b7[ffffffff:ffffffff]] class 0x000000/00000000
[   12.216257] vfio-pci 0000:01:00.0: vgaarb: deactivate vga console
[   12.216264] vfio-pci 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[   12.216861] vfio_pci: add [10de:2786[ffffffff:ffffffff]] class 0x000000/00000000
[   12.263564] vfio_pci: add [10de:22bc[ffffffff:ffffffff]] class 0x000000/00000000
root@Raylane:~#
 
Du hast nur die 6.x Ausgaben gepostet, nicht vom 7.x Kernel. Der Vergleich ist wichtig. Boot mal in den 7.x Kernel (ohne VM starten!) und poste cat /proc/cmdline und dmesg | grep -i iommu.

Mir fällt nämlich was auf: du hast pcie_acs_override=downstream,multifunction in der Cmdline. Das ist ein PVE-spezifischer Kernel-Patch, der deine IOMMU-Gruppen aufsplittet. Deswegen hat jede Function von 17:00.x eine eigene Gruppe (40-45). Wenn der Patch im 7.x Kernel geändert oder entfernt wurde, landen plötzlich mehrere Devices in einer Gruppe. Passthrough von einzelnen Functions aus so einer Gruppe friert den Host ein. Das erklärt, warum jedes Passthrough unter 7.x knallt, nicht nur die iGPU.

Der dmesg | grep -i iommu vom 7.x Kernel zeigt, ob die ACS-Override-Warnung noch kommt und ob die Gruppen gleich sind wie auf 6.x.