GPU Passthrough on Catalina on ESXi on MacPro 2013

Hi all,

Has anyone tried GPU passthrough on Catalina on ESXi ?

Before you ask why am I trying ESXi on MacPro, this is to virtualise my dev environment so that I can start any environment quickly. My environment relies on GPU otherwise it becomes too slow, so I am trying to passthrough the internal GPU (AMD D700) to VM via ESXi.

Below is what I have tried so far.

  1. I have a working OpenCore installation with Lilu / VirtualSMC / WhateverGreen
  2. I have injected vBIOS via SSDT into GPU device assigned by ESXi
  3. Using pciPassthru.use64bitMMIO="TRUE" and pciPassthru.64bitMMIOSizeGB = “128" in VM configuration.
  4. Tried pciPassthru0.msiEnabled TRUE / FALSE

https://gist.github.com/shantur/21e8f90b91aab55fbe947644001fa3ff

Status

  1. MacOS boots in verbose mode and stalls trying to make GPU work.
  2. Whatever Green enables the GPU and it gets detected.
  3. `system_profiler SPDisplayDevices` prints the GPU correctly and also says Metal: Enabled
  4. In boot logs I see error saying "unable to get vram descriptors" while IOSurface::start.

Tracking the code in Ghidra, it seems like GPU isn't able to populate GPU memory.

PS : The same configuration works with Linux once I enable the GPU vBIOS mod in kernel to load vBIOS from a file when it fails to load from GPU itself. I get the dislay on the monitor connected and it works ok.

Linux Patch : https://gist.github.com/shantur/abf342ac48c84b6ebdc5bbee8d750eff

Any pointers will be helpful. Thanks

submitted by /u/rathore4u
[link] [comments]