DisplayPort NOT working with GPU passthrough in a macOS VM

the1010boy

New Member
Mar 8, 2023
12
2
3
I have a macOS VM running Sonoma 14.6.1 with GPU passthrough (Radeon VII) on proxmox 8.2.

However, for some unknown reason (hopefully known sooner than later), ONLY the HDMI output works on the Radeon VII GPU when passed through to the macOS VM.

I've tried...
  • HDMI only (no DisplayPort in use):
    • output to the connected monitor works as expected.
  • HDMI with DisplayPort (dual monitors):
    • ONLY HDMI shows any output. The monitor connected with DisplayPort does NOT display anything.
  • DisplayPort only (no HDMI):
    • ONLY the OpenCore boot picker screen is displayed. After that, when macOS is booting, I get the "bitten Apple" logo displayed for a few moments and then the screen goes blank. Once macOS is up and running I can ssh into it and even VNC into it. But nothing is displayed on the monitor when the DisplayPort is used on the GPU.
  • Each DisplayPort individually or all together (no HDMI):
    • No matter which DisplayPort on the GPU I cable up my monitor(s), I still get no output. Be it one monitor, two monitors, or three, if it's cabled up to one of DisplayPorts on the GPU it will not display any output.

NOTE: when this same Radeon VII GPU is passed through to a Windows 10 VM, all 4 video outputs work (1x HDMI, & 3x DisplayPort). I can use one or multiple monitors with or without HDMI port in use and all DisplayPorts on the GPU generate output to my monitors when it's a Windows 10 VM that's using the GPU as passthru.

I've even tried other GPUs and sadly this behavior repeats itself. For example, I swapped in an AMD Radeon RX590 (replacing the Radeon VII, just for troubleshooting purposes). And again, the same confusing and disappointing results occur, meaning, ONLY the HDMI output will display anything, but the 3 DisplayPorts won't display anything. (NOTE: again all 4 video outputs work with GPU passthrough for windows guest with this RX590, just like they did for the Radeon VII).

The only thing that is suspect to me at this point, is the fact that macOS' "system information > PCI" has the GPU listed as a generic video device instead of device specific information like I would expect...
  • Radeon VII
    Screenshot 2024-08-30 at 14.36.51.png
  • RX590
    Screenshot 2024-08-30 at 13.15.48.png

Yet "System Information > Graphics/Displays" lists specifics about the GPU (vendor make & model, etc)...
  • Radeon VII
    Screenshot 2024-08-30 at 14.36.34.png
  • RX590
    Screenshot 2024-08-30 at 13.15.03.png
...so, the system does recognize the specifics of the GPU at least at some level.

The following screenshot if from my Mac Pro 5,1 2012 (a physical macOS install, not a virtual machine) which shows the type of information I would expect to see in "System Information > PCI"...
Screen Shot 2024-08-30 at 1.17.26 PM.png

Maybe what's shown, or not shown, in the "System Information" app is unrelated and has nothing to do with why I can't use the DisplayPorts on my AMD GPUs when passed through to a macOS VM. But whatever the reason, I have no idea at this point.

If any of ya'll have had this, or a similar issue before, and found a solution, please share.

Or if anyone out there has any suggestions on what I should try next, I would appreciate it. THANKS!

A few details about my Hackintosh VM setup:

Proxmox version:
Code:
root@pve-cMP31-1010:~# uname -a
Linux pve-cMP31-1010 6.8.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-1 (2024-08-05T16:17Z) x86_64 GNU/Linux

macOS version: 14.6.1 (Sonoma)

VM qemu.conf
Code:
root@pve-cMP31-1010:~# cat /etc/pve/qemu-server/1010.conf
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device qemu-xhci -device usb-kbd -device usb-tablet -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
balloon: 0
bios: ovmf
boot: order=hostpci0
cores: 32
cpu: Haswell-noTSX
efidisk0: local-lvm:vm-1010-disk-1,efitype=4m,size=4M
hostpci0: 0000:01:00.0,pcie=1
hostpci1: 0000:06:00,pcie=1,x-vga=1
hostpci2: 0000:09:00.0,pcie=1
hostpci3: 0000:08:00.0,pcie=1
machine: q35
memory: 98304
meta: creation-qemu=9.0.2,ctime=1724257147
name: macOS-pvm-cMP31-1010
net0: vmxnet3=BC:24:11:47:96:E4,bridge=vmbr0,firewall=1
numa: 0
ostype: other
scsihw: virtio-scsi-pci
smbios1: uuid=6221be9e-cdf3-4a1f-bdbe-de95beb013a4
sockets: 2
usb0: host=05ac:0220,usb3=1
usb1: host=045e:00d1,usb3=1
usb2: host=05ac:8294,usb3=1
vga: none
vmgenid: 1fd7a385-d7f1-4d1c-a2e6-0534a3522d80

OpenCore config.plist file (I tried to past the entire contents of my config.plist but apparently it made the post longer than allowed. Can't find a way to link a file to include my config.plist)
 
Last edited:
UPDATE: I got my hands on an AMD Radeon RX 580 Sapphire Nitro+ which has a pair of HDMI output ports so I could check an assumption I have, which is that the issue I'm seeing is DisplayPort specific.

Sure enough, I get output from both HDMI ports simultaneously after macOS boots up.

...yet, the DisplayPort outputs on the RX 580 only show the Proxmox BIOS and the OpenCore boot picker, then revert to a blank/black screen after macOS boots. Which is the same behavior for DP outputs from the other AMD cards I've tried (Radeon VII, Radeon Pro WX 7100, RX 590, Radeon Pro WX 2100).

In another thread someone suggested that I update the OpenCore boot args for macOS to include agdpmod=pikera which I then tried, yet the issue was not resolved.

Additionally I tried the macOS boot arg of agdpmod=vit9696 (mentioned here) but that too did NOT resolve the issue.
 

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!