Contribute
Register

[Success] AMD RX6000 Series working in macOS

Can you flash a Sapphire XTX bios on a XTXH card? I don't really want to RMA it.
Igor labs was able to flash the reference cards several months ago. If it’s a dual bios card it is less risky. Check on the TechPowerUp site.
Google it.
 
Are you sure about the PCI path? The one in your file points towards my RX580, and when applied as-is leads to getting stuck somewhere along the boot process (which seems sensical to me).
Changing the PCI path to my actual RX 6900 XT allows me to boot, but does not modify the ID. It remains at 0x73AF.

Edit: Spoofing via SSDT, I managed to produce a kernel panic whose log I was able to save upon the next reboot:
panic(cpu 0 caller 0xffffff7f9f93efc9): "[103:0:0][PPLIB] Failed to send PPLIB IRI to Accelerator.
"@/System/Volumes/Data/SWE/macOS/BuildRoots/577555a5c2/Library/Caches/com.apple.xbs/Sources/GPUDriversAMD/GPUDriversAMD-4.5.14/Common/IONDRV/ATI/AMDUniversalFramebuffer/AMDUniversalFramebuffer/Controller/Controllers/AmdRadeonController.cpp:1808
Backtrace (CPU 0), Frame : Return Address
0xffffffa1a63db6f0 : 0xffffff8010c8e0dd mach_kernel : _handle_debugger_trap + 0x3fd
0xffffffa1a63db740 : 0xffffff8010dd4f33 mach_kernel : _kdp_i386_trap + 0x143
0xffffffa1a63db780 : 0xffffff8010dc552a mach_kernel : _kernel_trap + 0x55a
0xffffffa1a63db7d0 : 0xffffff8010c32a2f mach_kernel : _return_from_trap + 0xff
0xffffffa1a63db7f0 : 0xffffff8010c8d8fd mach_kernel : _DebuggerTrapWithState + 0xad
0xffffffa1a63db910 : 0xffffff8010c8dbf3 mach_kernel : _panic_trap_to_debugger + 0x273
0xffffffa1a63db980 : 0xffffff801149d81a mach_kernel : _panic + 0x54
0xffffffa1a63db9f0 : 0xffffff7f9f93efc9 com.apple.kext.AMDRadeonX6000Framebuffer : __ZN34AMDRadeonX6000_AmdRadeonController10doGPUPanicEPKcz + 0x171
0xffffffa1a63dba80 : 0xffffff7f9f905071 com.apple.kext.AMDRadeonX6000Framebuffer : __ZN33AMDRadeonX6000_AmdPowerPlayHelper7powerUpEv + 0x6d
0xffffffa1a63dbac0 : 0xffffff7f9f93df56 com.apple.kext.AMDRadeonX6000Framebuffer : __ZN34AMDRadeonX6000_AmdRadeonController7powerUpEv + 0x156
0xffffffa1a63dbb10 : 0xffffff7f9f90974c com.apple.kext.AMDRadeonX6000Framebuffer : __ZN35AMDRadeonX6000_AmdRadeonFramebuffer16enableControllerEv + 0x42
0xffffffa1a63dbb70 : 0xffffff7fabb4905e com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer4openEv + 0x612
0xffffffa1a63dbbf0 : 0xffffff7fabb3f31a com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer13newUserClientEP4taskPvjPP12IOUserClient + 0x264
0xffffffa1a63dbc80 : 0xffffff80113be9cb mach_kernel : __ZN9IOService13newUserClientEP4taskPvjP12OSDictionaryPP12IOUserClient + 0x6b
0xffffffa1a63dbce0 : 0xffffff8011426d43 mach_kernel : _is_io_service_open_extended + 0x183
0xffffffa1a63dbd40 : 0xffffff8010d803ff mach_kernel : _iokit_server_routine + 0x486f
0xffffffa1a63dbd90 : 0xffffff8010c9375d mach_kernel : _ipc_kobject_server + 0x2fd
0xffffffa1a63dbe00 : 0xffffff8010c69cf5 mach_kernel : _ipc_kmsg_send + 0x115
0xffffffa1a63dbe60 : 0xffffff8010c81312 mach_kernel : _mach_msg_overwrite_trap + 0x2d2
0xffffffa1a63dbef0 : 0xffffff8010da982d mach_kernel : _mach_call_munger64 + 0x29d
0xffffffa1a63dbfa0 : 0xffffff8010c33216 mach_kernel : _hndl_mach_scall64 + 0x16
Kernel Extensions in backtrace:
com.apple.iokit.IOGraphicsFamily(585.1)[C86E74DA-7406-3B47-A96E-CC4228F6546C]@0xffffff7fabb2f000->0xffffff7fabb5dfff
dependency: com.apple.iokit.IOPCIFamily(2.9)[01799EF2-2C4A-3125-991D-AB121767E204]@0xffffff801376a000->0xffffff8013792fff
com.apple.kext.AMDRadeonX6000Framebuffer(4.0.5)[CAED8F19-49BC-3FF8-9C43-B7ED2F31AD74]@0xffffff7f9f8f6000->0xffffff7f9fb70fff
dependency: com.apple.AppleGraphicsDeviceControl(6.3.3)[D0B8F731-F258-393F-A5D4-6B370A8C006A]@0xffffff7faa34a000->0xffffff7faa34dfff
dependency: com.apple.iokit.IOACPIFamily(1.4)[17374C68-E837-3A87-BC8C-1870E7C0836E]@0xffffff8013242000->0xffffff8013243fff
dependency: com.apple.iokit.IOGraphicsFamily(585.1)[C86E74DA-7406-3B47-A96E-CC4228F6546C]@0xffffff7fabb2f000->0xffffff7fabb5dfff
dependency: com.apple.iokit.IOPCIFamily(2.9)[01799EF2-2C4A-3125-991D-AB121767E204]@0xffffff801376a000->0xffffff8013792fff

This would lend credence to the idea that spoofing this way actually works, but the driver simply can't handle the XTXH variants at all up 'til now.
Try removing this the rom. This is for my 6800, If we can get a 6900XT "About this Mac/System Report/Ggraphics screenshot it may be a different rom.

6800 rom remove.png
 
Igor labs was able to flash the reference cards several months ago. If it’s a dual bios card it is less risky. Check on the TechPowerUp site.
Google it.
I may get to be the first to post the Sapphire 6900XT XTXH SE BIOS bois. It should arrive Friday. What to do... What to do...

 
Now that 11.4 beta 1 is on the public seed:
View attachment 515952

My 6900XT findings so far, tested on X299 i9-10980XE.
  1. agdpmod=pikera required to avoid black screen on boot, including on MacPro7,1 SMBIOS.
    1. No surprise as the X6000 kext series has been re-used for Big Navi.
    2. I haven't tested without WhateverGreen.
  2. Multi-monitor works perfectly. I have four monitors connected.
    1. I'm using: 2 x DP, 1 x HDMI, 1 x USB-C to DP
    2. One monitor is 3840x2160, other three are 1920x1200. All are 60hz.
  3. H264/H265 encode/decode are both working fine.
  4. HDMI/DP sound is working.
  5. Sleep/wake is working fine.
  6. Fans seem OK so far: still when the card is idle, spinning up when it's not.
  7. Benchmarks:
    1. GeekBench 5.4 Metal: max 183k, lowest 160k
    2. GeekBench 5.4 OpenCL: max 122k, lowest 111k
    3. Octane X "Chess Set Procedural" : 11 seconds
      1. Compared to: Radeon Pro Vega II - 18s; Radeon VII - 19s; NVidia 2070 - 19s; 5700XT - 21s
      2. This result is particularly pleasing - nearly double the performance of the 5700XT, and 40+% faster than the Radeon Pro VII and standard VII.
      3. I'd love to see a figure comparing it to a 3080 on CUDA, I reckon it'd be close.
So far, looking good!
Nice to see someone running Octane benchmarks.
It's nearly impossible to find any such information on the web.
What's this "Chess Set Procedural" scene you're rendering? I'd like to compare my results :)
 
Try removing this the rom. This is for my 6800, If we can get a 6900XT "About this Mac/System Report/Ggraphics screenshot it may be a different rom.

View attachment 518437
Removing the rom-revision unfortunately does not make a difference.
I did try spoofing via DeviceProperties before and it didn't work back then, either, so this is not surprising, I suppose.
It's strange, since I *can* modify other parts of the device's properties, such as APPL,slot-name and the like, but the device-id property has thus far never changed, no matter what.

I was able to use GPU-Z to dump the VBIOS finally (thanks to the latest update) but it's been available on the VBIOS list on TechPowerUP for a while anyway. If anybody wants to mess around with it, feel free to. The attached file is the default VBIOS of the Liquid Devil Ultimate 6900 XT.
 

Attachments

  • Navi 21 XTXH LDU.zip
    375.5 KB · Views: 87

Attachments

  • Screen Shot 2021-05-13 at 8.04.34 AM.png
    Screen Shot 2021-05-13 at 8.04.34 AM.png
    311.1 KB · Views: 156
Removing the rom-revision unfortunately does not make a difference.
I did try spoofing via DeviceProperties before and it didn't work back then, either, so this is not surprising, I suppose.
It's strange, since I *can* modify other parts of the device's properties, such as APPL,slot-name and the like, but the device-id property has thus far never changed, no matter what.

I was able to use GPU-Z to dump the VBIOS finally (thanks to the latest update) but it's been available on the VBIOS list on TechPowerUP for a while anyway. If anybody wants to mess around with it, feel free to. The attached file is the default VBIOS of the Liquid Devil Ultimate 6900 XT.
Please test these. Slot is still #1 edit if needed.
 

Attachments

  • PCI0x73BF.2.plist
    9.4 KB · Views: 104
  • PCI0x73BF.3.plist
    9.5 KB · Views: 94
Please test these. Slot is still #1 edit if needed.
No change, unfortunately. Casey and I already tried the FakePCIID route a bit earlier on as well, with the same result.
The RM,device-id property does attach, but the actual device-id refuses to change.

Since I was able to dump the VBIOS of my GPU now, I've modified the ID in there with a hex editor. I will likely attempt to flash this customized version once I have some time to toy around with this on Windows. Since the card has a Dual-VBIOS, this should be relatively safe, as I can always recover.
 
No change, unfortunately. Casey and I already tried the FakePCIID route a bit earlier on as well, with the same result.
The RM,device-id property does attach, but the actual device-id refuses to change.

Since I was able to dump the VBIOS of my GPU now, I've modified the ID in there with a hex editor. I will likely attempt to flash this customized version once I have some time to toy around with this on Windows. Since the card has a Dual-VBIOS, this should be relatively safe, as I can always recover.
A VBIOS mod appears to be the most promising option at this time. Waiting with bated breath…
 
Back
Top