You are not logged in.

#1 2022-05-11 23:41:53

3m3rald
Member
Registered: 2022-05-10
Posts: 5

Intel IOMMU will not work despite my system meeting all requirements.

This is my first topic i am creating on the Arch Forums so please do tell me when i make mistakes.

I want to use virt-manager to pass my GTX 1650 Super graphics card into a Windows 10 VM. Following many guides and similar topics on these forums, it seems i have gotten everything configured, but it seems that IOMMU will not work therefore virt-manager refuses to start with my GPU passed into the VM. Despite many troubleshooting guides and forum instructions, none have worked so far. I am 100% sure that its enabled in BIOS, and that my CPU (Core I3-10100) supports it. I have set the kernel parameters so that `intel_iommu=on` is in the line that sets kernel parameters.

Despite this, virt-manager still returns the `host doesn't support passthrough of host PCI devices` error.

If this helps, running `sudo dmesg | grep -e DMAR -e IOMMU` returns the output:
[    0.009529] ACPI: DMAR 0x00000000BAD16000 000070 (v01 INTEL  EDK2     00000002      01000013)
[    0.009558] ACPI: Reserving DMAR table memory at [mem 0xbad16000-0xbad1606f]
[    0.075289] DMAR: Host address width 39
[    0.075290] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.075294] DMAR: dmar0: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.075296] DMAR: RMRR base: 0x000000bc5bf000 end: 0x000000bc808fff
[    0.075298] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 0
[    0.075299] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[    0.075300] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.078303] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.297274] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.

I am especially confused by how it looks like it is looking for the AMD version instead of the Intel version of IOMMU.

Offline

#2 2022-05-12 00:22:55

vorvac
Member
Registered: 2021-05-14
Posts: 44

Re: Intel IOMMU will not work despite my system meeting all requirements.

3m3rald wrote:

I am 100% sure that its enabled in BIOS, and that my CPU (Core I3-10100) supports it. I have set the kernel parameters so that `intel_iommu=on` is in the line that sets kernel parameters.

Can you confirm this?

$ cat /proc/cmdline

Last edited by vorvac (2022-05-12 00:36:39)

Offline

#3 2022-05-12 02:23:59

3m3rald
Member
Registered: 2022-05-10
Posts: 5

Re: Intel IOMMU will not work despite my system meeting all requirements.

vorvac wrote:

Can you confirm this?

This is odd, that command returns this:

 intel_pstate=passive BOOT_IMAGE=/boot/vmlinuz-linux-tkg-pds root=UUID=7acc5c72-c2c0-446d-97c4-ab7c868be61d rw quiet loglevel=3 nowatchdog nvme_load=YES nvidia-drm.modeset=1 

Sure enough, 'intel_iommu=on' is not present there. Is there a step to modifying the parameters that I could be missing?

Offline

#4 2022-05-12 02:40:48

3m3rald
Member
Registered: 2022-05-10
Posts: 5

Re: Intel IOMMU will not work despite my system meeting all requirements.

Also, I have already run

 # grub-mkconfig -o /boot/grub/grub.cfg 

as per the instructions in the wiki page regarding Kernel Parameters

Last edited by 3m3rald (2022-05-12 02:43:35)

Offline

#5 2022-05-12 03:09:54

vorvac
Member
Registered: 2021-05-14
Posts: 44

Re: Intel IOMMU will not work despite my system meeting all requirements.

Personally, I use systemd-boot as my boot loader, and I've got a few entries:

  • arch.conf

  • arch-passthrough.conf

My arch-passthrough.conf is as follows:

title Arch Linux - RTX3080 Passthrough
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux-passthrough.img
options root=/dev/nvme0n1p2 rw intel_iommu=on iommu=pt vfio-pci.ids=10de:2206,10de:1aef

I'm not too familiar with grub, but I'm guessing you will want to choose whether or not to passthrough the gpu on each boot?

I've only messed with kernel parameters once with grub trying to troubleshoot ipv6 traffic on a cloud server.

# cat /boot/grub/grub.cfg 
#
# DO NOT EDIT THIS FILE
#
...

Even though the very first lines in here tell you not to mess with this file...

https://wiki.archlinux.org/title/Kernel_parameters#GRUB wrote:

To make the change persistent after reboot, you could manually edit /boot/grub/grub.cfg with the exact line from above

You could go in here, copy/paste menuentry 'Arch Linux' {} and make the new one 'Arch Linux - GTX1650 Passthrough' and add the iommu parameters at the end of the "linux" line.

Slightly hacky solution, but it could work.

Offline

#6 2022-05-12 03:14:34

3m3rald
Member
Registered: 2022-05-10
Posts: 5

Re: Intel IOMMU will not work despite my system meeting all requirements.

You could go in here, copy/paste menuentry 'Arch Linux' {} and make the new one 'Arch Linux - GTX1650 Passthrough' and add the iommu parameters at the end of the "linux" line.

Slightly hacky solution, but it could work.

Thanks for the suggestion, I am getting off my PC for tonight and will be sure to update tomorrow when i attempt this.

Offline

#7 2022-05-12 06:12:13

seth
Member
Registered: 2012-09-03
Posts: 62,901

Re: Intel IOMMU will not work despite my system meeting all requirements.

3m3rald wrote:

Also, I have already run

 # grub-mkconfig -o /boot/grub/grub.cfg 

as per the instructions in the wiki page regarding Kernel Parameters

If you rebooted afterwards but your changes are not reflected in the proc/cmdline:

BOOT_IMAGE=/boot/vmlinuz-linux-tkg-pds

suggests that you're booting from the root partition, do you mount anything at /boot ?

lsblk -f; mount; cat /etc/fstab

Offline

Board footer

Powered by FluxBB