Contribute
Register

[Success] AMD RX6000 Series working in macOS

No change, as far as I can tell, sadly.
I've attached an IOReg dump from this experiment for convenience.
Thanks for trying. This particular kext added 0x73AF to the list of supported devices for the Navi21 Controller. Device 0x73AE is supported natively. So close, yet so far...
 
Find my EFI (with the SMBIOS data censored) below.
Try this EFI, it might not work but would like to see an ioreg save from this EFI please.
 

Attachments

  • EFI.zip
    4.7 MB · Views: 128
Try this EFI, it might not work but would like to see an ioreg save from this EFI please.
Here you go!
Not much seems to have changed, as far as I can tell.

It's still really strange to me how this device ID resists any attempts at spoofing it.
I have the feeling I'm overlooking something obvious, but I don't know what that might be.
 

Attachments

  • ioreg-new-efi.ioreg
    9.1 MB · Views: 77
Here you go!
Not much seems to have changed, as far as I can tell.

It's still really strange to me how this device ID resists any attempts at spoofing it.
I have the feeling I'm overlooking something obvious, but I don't know what that might be.
Hmmm are you running your output from your GPUs into the Thunderbolt input by any chance?
 
Nope. Currently I only have one 4K monitor connected to my RX580 via Displayport. Nothing is connected to the RX 6900 XT.
That way I can still get proper output even when the 6900 is not properly initialized.
 
No change, as far as I can tell, sadly.
I've attached an IOReg dump from this experiment for convenience.

Thanks for trying. This particular kext added 0x73AF to the list of supported devices for the Navi21 Controller. Device 0x73AE is supported natively. So close, yet so far...
Because NAVI 21 device IDs appear in multiple kexts, I wonder if we need to add 0x73AF to some or all of them:
  • AMDRadeonX6000Framebuffer.kext
  • AMDRadeonX6800HWLibs.kext
  • AMDRadeonX6000.kext (for NAVI 21 Graphics Accelerator)
The attached kext combines Navi 21 IOKit Personalities from the two boldfaced items.
 

Attachments

  • AMDRadeonControllerNavi21FramebufferInjector.kext.zip
    3.5 KB · Views: 104
Because NAVI 21 device IDs appear in multiple kexts, I wonder if we need to add 0x73AF to some or all of them:
  • AMDRadeonX6000Framebuffer.kext
  • AMDRadeonX6800HWLibs.kext
  • AMDRadeonX6000.kext (for NAVI 21 Graphics Accelerator)
The attached kext combines Navi 21 IOKit Personalities from the two boldfaced items.
Unfortunately no change again.
 

Attachments

  • ioreg-fb-patch-2.ioreg
    9.2 MB · Views: 77
Unfortunately no change again.
You may have done this already but have you tried booting (using the updated ssdts)with just the Big navi card alone, and remove the 580?
 
You may have done this already but have you tried booting (using the updated ssdts)with just the Big navi card alone, and remove the 580?
Yeah, I've tried that a few times along the way.
In the cases where the device-id spoofing does not work, I can boot into macOS, but with a generic framebuffer attached. The GPU still shows up the same as with the RX580 in the system, though.

In the one case where spoofing the ID via SSDT only leads to the black-screen boot, booting off of the Big Navi card directly gives me a freeze frame at the end of the boot process, just before entering the login screen. I assume the last picture only remains because macOS loses its handle on the GPU at that point.
 
Back
Top