Hi Everyone,
I new on this forum so I would like to welcome everyone.
I’ve posted this on Manjaro forum but I didn’t get any answer. I hope I get some here it here.
I’m trying passthrough Intel GPU to QEMU/KVM with OVMF but seem to I’m getting nowhere with accessing the iGPU on VM.
My CPU i5-4690K seem supports VT-d, not sure if Mainboard ASUS H97M-Plus does.
Basically iGPU passthrough would be fine for me as I’m playing mostly on Steam on linux.
dmesg | grep -e DMAR -e IOMMU output:
[ 0.050589] ACPI: DMAR 0x00000000C8B3BEB0 0000B8 (v01 INTEL BDW 00000001 INTL 00000001)
[ 0.196062] DMAR: IOMMU enabled
[ 0.255864] DMAR: Host address width 39
[ 0.255865] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.255868] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
[ 0.255869] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.255871] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c20660462 ecap f010da
[ 0.255871] DMAR: RMRR base: 0x000000c8ad7000 end: 0x000000c8ad7fff
[ 0.255872] DMAR: RMRR base: 0x000000cb000000 end: 0x000000cf1fffff
[ 0.255873] DMAR-IR: IOAPIC id 8 under DRHD base 0xfed91000 IOMMU 1
[ 0.255874] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.255874] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.256258] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.632445] DMAR: No ATSR found
[ 0.632469] DMAR: dmar0: Using Queued invalidation
[ 0.632474] DMAR: dmar1: Using Queued invalidation
[ 0.632520] DMAR: Setting RMRR:
[ 0.632574] DMAR: Setting identity map for device 0000:00:02.0 [0xcb000000 - 0xcf1fffff]
[ 0.632903] DMAR: Setting identity map for device 0000:00:14.0 [0xc8ad7000 - 0xc8ad7fff]
[ 0.632936] DMAR: Setting identity map for device 0000:00:1a.0 [0xc8ad7000 - 0xc8ad7fff]
[ 0.632970] DMAR: Setting identity map for device 0000:00:1d.0 [0xc8ad7000 - 0xc8ad7fff]
[ 0.632982] DMAR: Prepare 0-16MiB unity mapping for LPC
[ 0.633002] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[ 0.633119] DMAR: Intel® Virtualization Technology for Directed I/O
I followed Arch wiki and other sources to setup this but can’t get iGPU working or either don’t know if this is possible.
Only I was able to do was display Ubuntu boot logo and after that was green lines horizontal garbage.
Windows 7 installs iGPU driver no error, and Windows 10 installs but it displays code 43 error but only I get is second screen to light up, but nothing on it.
Even tried rom-parser but it didn’t work displaying
sudo echo 1 > /sys/bus/pci/devices/0000:00:02.0/rom
bash: /sys/bus/pci/devices/0000:00:02.0/rom: Permission denied
cat /sys/bus/pci/devices/0000:00:02.0/rom > /tmp/image.rom
cat: ‘/sys/bus/pci/devices/0000:00:02.0/rom’: No such file or directory
So there is what I done so far:
GRUB cmd line: libata.noacpi=1 intel_iommu=on vfio-pci.ids=8086:0412,8086:0c0c modprobe.blacklist=i915 intremap=no_x2apic_optout
I was adding every of above one by one, no difference. I’ve tried also iommu=pt, pci-stub instead vfio-pci
/etc/modprobe.d/vfio.conf contains options vfio-pci ids=8086:0412,8086:0c0c
/etc/mkinitcpio.conf contains MODULES=”vfio_pci vfio vfio_iommu_type1 vfio_virqfd”
and HOOKS=(… modconf …)
/etc/modprobe.d/mhwd-gpu.conf added blacklist i915
IO Groups for iGPU look fine:
….
IOMMU Group 2 00:02.0 Display controller [0380]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
IOMMU Group 3 00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
….
but with Nvidia I don’t have so much luck:
….
IOMMU Group 1 00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
IOMMU Group 1 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1)
IOMMU Group 1 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
….
I’ve tried ACS override patch by installing linux-vfio & linux-vfio-lts but LightDM failed to load.
I’m not sure but I think I don’t need ACS override patch for iGPU anyway.
Despite all that I having big problem booting from UEFI. Basically GRUB doesn’t show up at boot.
To get it back I need to boot from boot menu but this it do not appear every time, however I don’t see any difference between Legacy Boot and EFI, in both scenarios VM behave the same.
OVMF seem to work under legacy installing system – I got test Windows 10 installed on GUID partition.
Any ideas what I can try?