You are not logged in.
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
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
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
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
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...
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
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
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