IOMMU not present anymore

Thatoo

Active Member
Jun 11, 2021
62
1
28
39
Hello,

I used to have a graphical card working on passthrough a VM windows.
Unfortunatly, after some updates of proxmox (kernel...), I get now the following error when trying to start the VM : TASK ERROR: cannot prepare PCI pass-through, IOMMU not present

I tried to follow again this page, https://esfr.atossa.fr:8006/pve-docs/chapter-qm.html#qm_pci_passthrough_vm_config, but when after reboot, I reach to this command line, I don't get the expecting answer...
root@esfr:~# dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
[ 0.015985] ACPI: DMAR 0x0000000044CA4000 000088 (v02 INTEL EDK2 00000002 01000013)
[ 0.016042] ACPI: Reserving DMAR table memory at [mem 0x44ca4000-0x44ca4087]
[ 0.120815] DMAR: Host address width 39
[ 0.120816] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.120821] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a08f0505e
[ 0.120824] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.120826] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
[ 0.120831] DMAR: RMRR base: 0x0000004c000000 end: 0x000000503fffff
[ 0.120833] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.120835] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.120837] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.122372] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.391191] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics

Is it possible that the option in the BIOS/UEFI could have been disable because of proxmox updates?
 
in /etc/kernel/cmdline, there is

root=ZFS=rpool/ROOT/pve-1 boot=zfs
intel_iommu=on

and in /etc/default/grub, there is

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pci=noaer"

and I did
update-grub
proxmox-boot-tool refresh

in /etc/modules, there is

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

and I did
update-initramfs -u -k all
reboot

nothing changed...
 
Thank you for your explanation. You were right, the problem was that everything needed to be written on one single line.
I misunderstood the sentence "needs to be placed as one line in /etc/kernel/cmdline".
Everything is working back as expected.

I just wonder why it has stopped... Is it possible that after the update it has changed from Grub to Systemd-boot?
 
I just wonder why it has stopped... Is it possible that after the update it has changed from Grub to Systemd-boot?
not really - unless you switched your system to legacy-boot (but then it would not have worked without manual intervention)

depending on which kernel you were running before - there were a few versions in the 5.15 series where intel_iommu was enabled by default
 
  • Like
Reactions: Thatoo