I believe there is a good chance the category of GPU in question can be made to work. Firstly, there have basically been the following "Problems" with using modern GPUs (GOP Based) GPUs on cMP:
PROBLEM 01:
MP31 to MP51 were released in a transition period from UGA to GOP. Apple added a custom GOP instance to the ConsoleOut Handle in the Mid 2010 cMP (possibly in the MP41 well but not confirmed as all examples appear to have been flashed to MP51).
Long story short, this caused problems with getting bootscreens on MP51 when running unsupported GOP based GPUs, such as RX 580, until a fix was found by the OpenCore team.
Apple did not make this change to the MP31 and funnily, MP31 therefore worked fine with such GPUs. UEFI2.x was in flux at that time and the MP51 Mutant GOP was later dropped.
It is an eye opener that Apple was so fed up with cMP that they didn't bother to fix this trivial issue when the Mid 2012 was released even though other units from that era already had proper UEFI 2.x implementation and had dispensed with the Mutant GOP instance. I suppose this "do the barest minimum we can get away with" approach will be evident on any Intel stuff that comes out now. I digress though, PROBLEM 01 was ultimately understood and worked around.
PROBLEM 02:
GOP is UEFI 2.x related and the UEFI 2.x specs mandates, or mandated ... may have changed, that at activation time, the GOP driver (in the GPU OptionROM) should check whether the device is UEFI 2.x compliant and not to initialise if not.
GPUs by AMD, such as the RX 580, tended not to implement this requirement and worked on MP31 without issue and on MP51 once PROBLEM 01 was worked around. GPUs by Nvidia on the other hand, tended to implement this requirement and would not work on cMP unless flashed. AMD most likely had code that fell back on CreateEvent (EFI 1.x compatible) in place of CreateEventEx (UEFI 2.x only).
On 31 Oct 2020, a small secretive group called "The Quest" gathered for the first time. It didn't know what PROBLEM 02 was exactly and only knew that Nvidia GPUs didn't work on cMP without flashing while AMD ones did. It was determined to get to the bottom of this and after going through some blood curdling rituals, went to work immediately.
Barely a week later, on 04 Nov 2020, someone posted this:
He was right on the money and soon put two drivers together,
FakeUEFI2
and
ReloadPCIRom
, that sorted the problem. This was rapidly incorporated into RefindPlus and subsequently ported into OpenCore.
PROBLEM 03:
Everyone lived happily using whatever GPUs they wanted to use but as with Sauron and Voldermort, the problems were not quite gone. With the passage of time, the UEFI Specs were apparently changed and/or GPU vendors decided nobody uses EFI 1.x or the older UEFI 2.x releases anymore. They then assumed every device a GPU is running on is UEFI 2.3 or newer. They apparently stopped checking to implement an early exit and AMD apparently removed the EFI 1.x fallback stuff. They basically plunged into running UEFI 2.x code, most likely CreateEventEx calls, which would always crash on EFI 1.x devices (such as cMP), without checking.
I see two potential options for this new problem:
Option A: The
FakeUEFI2
driver by
@joevt is embedded in the firmware.
@startergo ... you did this once and perhaps you could put up a guide ... probably not for the faint of heart though. Perhaps it might be worth discussing with
@tsialex to properly insert it into BootROM reconstructions. This should fix PROBLEM 02 at the firmware level and avoid PROBLEM 03.
Option B: Someone that knows how to patch the OptionROMs like
@Syncretic adds the early exit code in. The GPUs will not initialise but importantly, the code will not crash. This should reset things to match PROBLEM 02 which existing tools like RefindPlus and OpenCore can handle.