IOMMU not present anymore

Thatoo

Member
Jun 11, 2021
32
0
11
37
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

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!