[SOLVED] MacOSX 10.13.6 + Nvidia GTX1080Ti (single GPU passthrough) on X99 chipset - SUCCESS

george

Member
Jan 11, 2021
15
3
8
After wasting weeks of my life trying everything (changed motherboards, GPUs, PCIe slots, Monitors, HDMI cables, grub commandlines, VM config arg/cpu/display/hostpci settings, vfio patched romfiles, scripts to manually unbind or bind the GPU or removing and rescaning PCI, checking iommu_groups and PCI bridges, fiddling with OpenCore settings, BIOS settings, etc), I found out today (I don't recall where originally but I now see this as a comment at https://www.nicksherlock.com/2021/10/installing-macos-12-monterey-on-proxmox-7/ as well) that the culprit was qemu being at the latest v6.1 version !

You can either (last option seems the easiest/safest and that's what I followed):
  • downgrade installed qemu with apt install pve-qemu-kvm=6.0.0-4
  • choose q35 6.0 as "Machine" in the VM's Hardware settings in Proxmox GUI (instead of "latest" or "6.1"), or equivalently use machine: pc-q35-6.0 in your /etc/pve/qemu-server/<VMID>.conf
  • add -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off to your "args:" arguments in your <VMID>.conf
o_O
 
Last edited:
Thank you for the post, I have installed macOS High Sierra but the GPU passthrough is not working...

I am using GTX 1650 SUPER, any ideas?
 
Have you followed the various tutorials on the Web? E.g. you can follow one of these, just make sure that, for High Sierra, you use SATA instead of virtio0 for main disk and e1000-82545em instead of vmxnet3 for network. In summary:
  • You need to change GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub, different CPUs or architectures might need different patches. Mine is bloated, so I will have to remove and try one by one. Currently it is:
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt intremap=no_x2apic_optout vfio_iommu_type1.allow_unsafe_interrupts=1 pcie_aspm=off pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off video=efifb:off textonly vga=off transparent_hugepage=always"
.
Do not forget update-grub afterwards.
  • Blacklist the following modules in /etc/modprobe.d/blacklist.conf
Code:
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist radeon
  • I have the following in /etc/modprobe.d/kvm.conf
Code:
options kvm ignore_msrs=1 report_ignored_msrs=0
  • I have inserted the PCI ids (GPU and HDMI audio controller) of my GTX1080Ti in /etc/modprobe.d/vfio.conf
Code:
options vfio-pci ids=10de:1b06,10de:10ef disable_vga=1 disable_idle_d3=1

Do not forget to update-initramfs -u afterwards.
  • My /etc/pve/qemu-server/103.conf includes the following entries (there are some more that the wizard will generate), edit accordingly:
Code:
agent: 1
args: -device isa-applesmc,osk="CHECK_WWW_TO_FIND" -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,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,hv_vendor_id=NV43FIX,kvm=on'
balloon: 0
bios: ovmf
boot: order=hostpci0
cores: 4
cpu: Penryn,hidden=1,flags=+pcid
efidisk0: local-lvm:vm-103-disk-1,efitype=4m,size=4M
hostpci0: 0000:02:00,pcie=1,x-vga=1
machine: q35
memory: 16384
name: mac1013
net0: e1000-82545em=XX:XX:XX:XX:XX:XX,bridge=vmbr0,firewall=1
numa: 1
ostype: other
sata0: local-lvm:vm-103-disk-0,cache=unsafe,size=128G,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
sockets: 1
vga: none


  • OpenCore might need some tweaking but I assume you can already boot in High Sierra. I am currently with an iMacPro1,1 smbios but I don't care so much about iMessage etc.
  • Just be sure to enable Nvidia Web drivers in OpenCore as well.


I have my GTX1080Ti connected via HDMI to a monitor and I have already setup Remote Desktop on the guest. Google, dmesg, dmesg | grep -E 'IOMMU|DMAR', dmesg | grep 'remapping', dmesg --level=err,warn, qm showcmd <VMID> --pretty, cat /proc/cmdline, lspci -nnk, find /sys/kernel/iommu_groups/ -type l, etc are your friends.
 
Last edited:
  • Like
Reactions: soufianesabiri
Have you followed the various tutorials on the Web? E.g. you can follow one of these, just make sure that, for High Sierra, you use SATA instead of virtio0 for main disk and e1000-82545em instead of vmxnet3 for network. In summary:

I have followed many tutorials and actually I posted my config here... Please take a look (I will try what you suggested right now and see if anything works, also tried Windows 11 and nothing works, so it's not related to macOS)
 
I would suggest either using the "ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off" argument or using "pc-q35-6.0" instead of q35 or downgrading qemu to 6.0, then trying with and without (patched) romfile.

Also, according to this there might be problems with the binding as you desperately start/try/shutdown VMs, so you could use (since your GPU is at 0000:01:00) between tests IF needed:

Code:
echo 1 > /sys/bus/pci/devices/0000\:00\:01.0/remove ; echo 1 > /sys/bus/pci/rescan;
 
Last edited:

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!