Confusing issue with GPU passthrough

lukewp

New Member
May 4, 2020
5
0
1
36
I'm moving a few physical machines to virtual using Proxmox 6.1. Clean install of PM using the installer, not installed on top of an existing Linux installation.

First test went fine, passing a Radeon HD6850 to a Windows 10 install I migrated from physical by passing it the raw drives. I took that card out and put my GTX1050 in, no problems and runs perfectly.

I'm trying to do a clean install of MacOS Catalina (although the OS doesn't matter in this case). It works fine using the VMWare virtual display but won't start up with the Radeon passed through. If I reduce it to a single CPU cure it sits at over 100% usage, which seems a bit impossible. If I pass it the GTX1050 it boots up, but stops at the Apple logo when the loading bar hits the end. All reported disk and CPU activity stops. As Catalina has no nVidia support I'm not surprised it just locked up as it has no video drivers for the card.

To test the card out I passed it through to my known working Win 10 install and everything was fine. Shows the Proxmox UEFI splash and booted up fine. Thinking it may be an issue with the custom configuration needed for MacOS (the HD8650 doesn't seem to support UEFI boot) I created a fresh virtual machine using the same configuration as the Working Windows one, and it does the same. Just jams up with daft CPU usage reported.

As a final test I copied the entire known good configuration over to the fresh VM by copying the configuration file directly and then removing the associated disks and network adaptor. No boot with the Radeon.

One last test I will try is pass the Radeon back to the Windows 10 machine, confirm it boots then copy over the configuration file again and just try and boot it. Something tells me that it won't be happy.

The machine is a HP Z800 currently with a single CPU, and it has an even older Radeon in PCI-e slot 1. I have blacklisted the nvidia, nouveau and radeon drivers, and the primary GPU used for boot display doesn't work on anything either but I assume thats due to the host OS grabbing it for VGA output.

Any input or advice would be greatly appreciated :)
 
I'm booting into Mojave and passing either an RX580 or Vega 56. Your problem is probably at least 2-fold: incompatible Nvidia with any macOS > High Sierra and the other GPU not supporting UEFI. In addition, you may have an inaccurate 'args' section in your VM.

To properly pass a GPU, you want to boot Proxmox in UEFI mode, not standard. And if you insist on Catalina, you're going to have to buy a new/used GPU: the older Vega series (56 like I'm using or the 64) will work well in Catalina and can be bought off eBay. Newer GPUs that will work are Radeon VII or 5700XT. All of these will work in UEFI mode out of the box with Mojave or Catalina.

As for args section, I'm using something as shown in the Spoiler with "+sse4.2" being important for booing into macOS. I'm using a 3970X Treadripper and passing 64 threads without issue. In VM config file, label your CPU as "cpu: Penryn" with an option of "host" in the args declaration (also shown in Spoiler). The other crucial difference might be your bootloader. I'm using OpenCore which gives much fewer glitches, esp with GPU, and properly passes CPU info to the macOS.

args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+invtsc,vmware-cpuid-freq=on,+sse3,+sse4.1,+sse4.2,+popcnt,+adx,+bmi2,+fma,+tsc_adjust,+tm,+tm2,+aes,+xsave,+xsaveopt,check
 
Last edited:
Thanks for the pointers :)

I'll probably end up going down to High Sierra, and the HD6850 is totally unsupported on MacOS. I have an old 9600GT I can jam in there for now. It's not for me to use, and the Mac it would replace is a Mini so not exactly the end of the world if it's more trouble than it's worth. At the moment I can't get to to recognise that there's USB devices plugged in, either with USB passthrough or just giving it the whole controller.

I'll give OpenCore a try tomorrow and see how it goes.
 

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!