Contribute
Register

[Success] Radeon RX 6800 XT - Big Sur

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
18,915
Motherboard
Asus ProArt Z690-Creator
CPU
i7-12700K
Graphics
RX 6800 XT
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
Thanks, this was actually very helpful, now I know how to do this in the future!

In slightly more unfortunate news, the ID spoofing did not lead to immediate success.
I was able to verify that the spoofing worked by spoofing only the device name, which worked fine by itself.
However, spoofing the device ID as well leads to a hangup during the boot process, at which point nothing happens anymore and the PC has to be shut down forcefully.

I assume there's a bit more to the binned cards than just a different device ID, though I haven't been able to turn up any information as to what the secret sauce may be.

I'll continue to experiment some more and maybe some of the subsequent betas will add support anyway, but for now the binned versions are a no-go, as far as I can tell.
If you're up for mad science round 2, feel free to try the following approach based on FakePCIID. It works as follows:
  • We don't interfere with the actual GPU device-ID, which in your case will remain as 0x73AF.
  • Instead we add a new device property called RM,device-id using the attached SSDT.
    • macOS does not use this property so it will ignore it. This should allow the system to boot.
    • RM = RehabMan, the author of FakePCIID
  • We set RM,device-id to the device ID that macOS supports, which is 0x73BF.
  • Then we use the two attached kexts:
    • FakePCIID.kext (this must be specified in config.plist before the next one)
    • FakePCIID_RX6000_Graphics.kext (this must be specified in config.plist after the above)
    • These two kexts will work together to probe for device IDs 0x73AF and 0x73BF and inform macOS that both of them are actually device 0x73BF
In summary, the changes are as follows:
  • ACPI --> add reference to SSDT-Change-GPU-FakePCIID.aml and copy file into OC/ACPI folder.
  • Kernel --> add references to (a) FakePCIID.kext and (b) FakePCIID_RX6000_Graphics.kext in that order, and copy both files into OC/Kexts folder.
Screen Shot 2021-04-24 at 12.09.17 PM.png

P.S. No guarantee this will work. It hasn't been tested, but you're a programmer so I trust you'll be able to try this in a "recoverable" manner in case it crashes and burns! :)
 

Attachments

  • FakePCIID-for-RX-6900-XT.zip
    20.7 KB · Views: 150
Last edited:
Joined
Mar 28, 2019
Messages
131
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
Well, it does boot now, which is progress :)
Seems like it attaches properly as well, the card shows up with the given name and FakePCIID is visible in IOReg.
No driver loaded for now, but it might be a step in the correct direction.
 

Attachments

  • screenshot.png
    screenshot.png
    102.9 KB · Views: 99
  • ioreg.ioreg
    9.3 MB · Views: 45
  • screenshot2.png
    screenshot2.png
    75.8 KB · Views: 106

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
18,915
Motherboard
Asus ProArt Z690-Creator
CPU
i7-12700K
Graphics
RX 6800 XT
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
Well, it does boot now, which is progress :)
Seems like it attaches properly as well, the card shows up with the given name and FakePCIID is visible in IOReg.
No driver loaded for now, but it might be a step in the correct direction.
Please try this modified kext. Just need to replace the file and reboot.
 

Attachments

  • FakePCIID_RX6000_Graphics.kext.zip
    2.6 KB · Views: 93
Joined
Mar 28, 2019
Messages
131
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
Please try this modified kext. Just need to replace the file and reboot.
No change, unfortunately.

I also tried the device-id override via DeviceProperties, but that, too, did not deviate. The result is the same as the FakePCIID approach.
Strangely, for the DeviceProperties approach, even though I specified the correct device-id in config.plist (I think), it still shows the original one in IOReg once booted up.
Code:
<key>PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
    <key>device-id</key>
    <data>v3MAAA==</data>
    <key>model</key>
    <string>AMD Radeon 6900 XT</string>
</dict>
 

Attachments

  • ioreg.ioreg
    9.2 MB · Views: 73
Joined
Mar 6, 2013
Messages
272
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Are you testing this with or without WhateverGreen, @byteminer ? If with WEG, I would think you'd need to have the FakePCIID entries before WEG in config.plist Kexts -> Add; is that the case?

If that's been tested then if it were me I'd test without WEG, just to be sure it wasn't interfering in some way. (I don't have a specific reason to think it will, just that's something I'd test to be sure.) That would require using MacPro 7,1 SMBIOS though.
 
Joined
Jul 22, 2019
Messages
29
Motherboard
<< need only 1 model # >> See Forum Rules !!
CPU
<< need only 1 model # >> See Forum Rules !!
Graphics
<< need model # >> See Forum Rules !!
Mobile Phone
  1. Android
  2. iOS
finally got it working. did took a long cut of downloading and installing the recovery of CATALINE 10.5.7 and then updating via beta profile. but its here, finally.

People should remember to leave their system do the work if they have not added the BOOT ARGS: "agdpmod=pikera" the installation happens on its own. when you don't see the mac Installation and only see mac as boot option in the open core menu, you know that its good to go. now you can either add the option and you will start getting the display as mentioned before.

The only issue I have is that I find the brigthness low even after 100 % at hardware level. what can the be issue here ?

Screenshot 2021-04-24 at 1.35.36 PM.png
 
Last edited:

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
18,915
Motherboard
Asus ProArt Z690-Creator
CPU
i7-12700K
Graphics
RX 6800 XT
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
No change, unfortunately.

I also tried the device-id override via DeviceProperties, but that, too, did not deviate. The result is the same as the FakePCIID approach.
Strangely, for the DeviceProperties approach, even though I specified the correct device-id in config.plist (I think), it still shows the original one in IOReg once booted up.
Code:
<key>PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
    <key>device-id</key>
    <data>v3MAAA==</data>
    <key>model</key>
    <string>AMD Radeon 6900 XT</string>
</dict>
macOS 11.4 actually supports three NAVI 21 device IDs:
  • 73A2 1002 = Navi 21 GL ?
  • 73AB 1002 = ??
  • 73BF 1002 = Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]
Screen Shot 2021-04-22 at 2.42.16 PM.png
Source: TechPowerUp

We can try spoofing to 0x73AB, which might be a better match. The attached ZIP contains the changes:
  • Modified SSDT (SSDT-Change-GPU-FakePCIID.aml)
  • Modified kext (FakePCIID_RX6000_Graphics.kext)
After this we'll have to go back to the proverbial drawing board... :)
 

Attachments

  • FakePCIID-for-RX-6900-XT--73AB.zip
    21.1 KB · Views: 81
Joined
Mar 28, 2019
Messages
131
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
Are you testing this with or without WhateverGreen, @byteminer ? If with WEG, I would think you'd need to have the FakePCIID entries before WEG in config.plist Kexts -> Add; is that the case?

If that's been tested then if it were me I'd test without WEG, just to be sure it wasn't interfering in some way. (I don't have a specific reason to think it will, just that's something I'd test to be sure.) That would require using MacPro 7,1 SMBIOS though.
I've been testing on iMacPro1,1 with WEG, but I also just did a test run on MacPro7,1 without WEG. The result is the same between the two configurations. FakePCIID was loaded before WEG, right after Lilu.
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
18,915
Motherboard
Asus ProArt Z690-Creator
CPU
i7-12700K
Graphics
RX 6800 XT
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
I've been testing on iMacPro1,1 with WEG, but I also just did a test run on MacPro7,1 without WEG. The result is the same between the two configurations. FakePCIID was loaded before WEG, right after Lilu.
We can even move FakePCIID kexts above Lilu, but not sure if that by itself will make any difference.
 
Top