iGPU passthrough VM

crazywolf13

New Member
Oct 15, 2023
29
3
3
Hi

I just set up a MacOS VM according to this two guides:
https://klabsdev.com/definitive-guide-to-running-macos-in-proxmox/
https://3os.org/infrastructure/prox...irtual-machine-igpu-passthrough-configuration

Sadly the part with the iGPU passthrough is not working, if I don't enable that, the MacOS fully boots, but it is so extremely slow and laggy, it's unsable.

My Hardware: intel i7-6700 with UHD Graphics 530, running without any attachted monitor, is that a problem?
Also have a jellyfin LXC with working igpu passthrough and that didn't require a monitor and the proxmox cli is still displayed if I plug in a monitor there.


Output of: /etc/pve/qemu-server/115.conf
YAML:
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu host,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
bios: ovmf
boot: order=ide2;ide0;net0;ide1
cores: 4
cpu: x86-64-v2-AES
efidisk0: local-lvm:vm-115-disk-0,efitype=4m,size=4M
hostpci0: 0000:00:02.0,pcie=1
ide0: local-lvm:vm-115-disk-1,cache=unsafe,size=64G
ide1: local:iso/macOS-Sonoma-14.1.1.iso,size=16000M,cache=unsafe
ide2: local:iso/OpenCore-v21.iso,size=150M,cache=unsafe
machine: q35
memory: 4096
meta: creation-qemu=8.1.5,ctime=1716217436
name: macos
net0: vmxnet3=BC:24:11:D6:4F:55,bridge=vmbr0,firewall=1,tag=20
numa: 0
ostype: other
scsihw: virtio-scsi-pci
smbios1: uuid=81b90a00-701a-4181-8826-a939e479aa72
sockets: 1
tags: vm
vga: vmware
vmgenid: 1a1e1d4d-8e8b-4081-9a82-dd8a6dec1caf

Output of: /etc/modprobe.d/kvm.conf
Code:
options kvm ignore_msrs=Y

Output of: /etc/default/grub
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init video=simplefb:off video=vesafb:off video=efifb:off video=vesa:off disable_vga=1 kvm.ignore_msrs=1 modprobe.blacklist=radeon,nouveau,nvidia,nvidiafb,nvidia-gpu,snd_hda_intel,snd_hda_codec_hdmi,i915"

Output of: /etc/modules
Code:
 vfio
 vfio_iommu_type1
 vfio_pci

Output of the command, on the host: lspci -nnv | grep VGA
Code:
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06) (prog-if 00 [VGA controller])

Output of the command, on the host: pvesh get /nodes/lenovo3/hardware/pci --pci-class-blacklist ""
1716318666085.png

Output of the command, on the host: dmesg | grep -e DMAR -e IOMMU
Code:
[    0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[    0.008411] ACPI: DMAR 0x00000000BC468750 0000A8 (v01 LENOVO TC-FW    00001B10 INTL 00000001)
[    0.008438] ACPI: Reserving DMAR table memory at [mem 0xbc468750-0xbc4687f7]
[    0.051646] DMAR: IOMMU enabled
[    0.146734] DMAR: Host address width 39
[    0.146735] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.146745] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 7e3ff0505e
[    0.146748] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.146751] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.146752] DMAR: RMRR base: 0x000000bc184000 end: 0x000000bc1a3fff
[    0.146754] DMAR: RMRR base: 0x000000bd800000 end: 0x000000bfffffff
[    0.146756] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.146757] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[    0.146758] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.148370] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.397165] DMAR: No ATSR found
[    0.397166] DMAR: No SATC found
[    0.397167] DMAR: IOMMU feature fl1gp_support inconsistent
[    0.397168] DMAR: IOMMU feature pgsel_inv inconsistent
[    0.397169] DMAR: IOMMU feature nwfs inconsistent
[    0.397170] DMAR: IOMMU feature eafs inconsistent
[    0.397171] DMAR: IOMMU feature prs inconsistent
[    0.397171] DMAR: IOMMU feature nest inconsistent
[    0.397172] DMAR: IOMMU feature mts inconsistent
[    0.397173] DMAR: IOMMU feature sc_support inconsistent
[    0.397174] DMAR: IOMMU feature dev_iotlb_support inconsistent
[    0.397175] DMAR: dmar0: Using Queued invalidation
[    0.397178] DMAR: dmar1: Using Queued invalidation
[    0.397535] DMAR: Intel(R) Virtualization Technology for Directed I/O
[   40.883767] DMAR: DRHD: handling fault status reg 2
[   40.883772] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x0 [fault reason 0x02] Present bit in context entry is clear
[  119.642965] DMAR: DRHD: handling fault status reg 2
[  119.642970] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x0 [fault reason 0x02] Present bit in context entry is clear
[  394.387258] DMAR: DRHD: handling fault status reg 2
[  394.387262] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x0 [fault reason 0x02] Present bit in context entry is clear
[  501.541161] DMAR: DRHD: handling fault status reg 2
[  501.541165] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x0 [fault reason 0x02] Present bit in context entry is clear

Modules seem to be loaded correctly:
Output of the command, on the host: lsmod | grep vfio
Code:
vfio_pci               16384  0
vfio_pci_core          86016  1 vfio_pci
irqbypass              12288  2 vfio_pci_core,kvm
vfio_iommu_type1       49152  0
vfio                   69632  3 vfio_pci_core,vfio_iommu_type1,vfio_pci
iommufd                98304  1 vfio

Output of the command, on the host: dmesg
Code:
[  395.621011] vfio-pci 0000:00:02.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[  501.298284] tap115i0: left allmulticast mode
[  501.298302] fwbr115i0: port 2(tap115i0) entered disabled state
[  501.309433] fwbr115i0: port 1(fwln115i0) entered disabled state
[  501.309484] vmbr0: port 2(fwpr115p0) entered disabled state
[  501.310105] fwln115i0 (unregistering): left allmulticast mode
[  501.310108] fwln115i0 (unregistering): left promiscuous mode
[  501.310111] fwbr115i0: port 1(fwln115i0) entered disabled state
[  501.318693] fwpr115p0 (unregistering): left allmulticast mode
[  501.318696] fwpr115p0 (unregistering): left promiscuous mode
[  501.318698] vmbr0: port 2(fwpr115p0) entered disabled state
[  501.340871] e1000e 0000:00:1f.6 eno1: left promiscuous mode
[  501.541161] DMAR: DRHD: handling fault status reg 2
[  501.541165] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x0 [fault reason 0x02] Present bit in context entry is clear

Error on the VNC connection:
After a while, after the default macos loading screen this appears:
1716319119281.png

Huuuge Thanks for any help!
 

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!