This guide is made to get certain RX 6900XT cards working in Mac OS. Currently, 6900XT cards of the XTX varaint work fine under Mac OS Big Sur and Monterey. However, the XTXH variant of the 6900XT, such as the PowerColor RX 6900XT Ultimate, are not natively supported currently (Mac OS Monterey 12.0.1 as of writting this guide).
I have posted my full EFI config with my RX 6900XT working in another repository if you would like to look over that too.
- Follow the OpenCore dortania guide to get the right config set-up for your system
- Get the latest Whatevergreen kext as support for device-id GPU spoofing was added in 1.5.2
- Install gfxutil
- Install IORegistryExplorer
- Install MaciASL
- Install ProperTree or any program to edit plist file
- Run
gfxutil
(./gfxutil) - Look for the entry that ends with GFX0@0
- For example, my line is
03:00.0 1002:73bf /PCI0@0/PEG1@1/PEGP@0/BRG0@0/GFX0@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
- For example, my line is
- Write down the path to GFX0@0
- Etc.
/PCI0@0/PEG1@1/PEGP@0/BRG0@0/GFX0@0
- Etc.
- Run
IORegistryExplorer
app - On the top left, search for
GFX0@0
- This will bring up a path to GFX0@0
- If the gpu is not supported, you will see a different path than what gfxutil gave you
- For example, my path was
PCI0@0/PEG1@1/PEP@0/pci-device@0/GFX@0
- Write down this path as well
- Download the SSDT-BRG0.dsl from the OpenCore repository
- If downloaded a release of OpenCore, get the file from
(OpenCoreFolderPath)/Docs/AcpiSamples/Source
- If cloned the repo, get the file from
(OpenCoreRepoPath)/Docs/AcpiSamples/Source
- I included my own modified version of this file in this repo. Use it if you want
- If downloaded a release of OpenCore, get the file from
- Open this file with MaciASL
- On lines 12 and 14 (13 and 16 for my file), you will see
External
andScope
- The default path listed is
PCI0.PEG0.PEGP
- You need to change it to the path given by
gfxutil
- For example, my path above was
PCI0@0/PEG1@1/PEP@0/pci-device@0/GFX@0
, so I would changePCI0.PEG0.PEGP
toPCI0.PEG1.PEGP
- For example, my path above was
- The default path listed is
- On line 20 (22 for my file), there is
Device
.- If
gfxutil
path toGFX0@0
says something different thenBRG0
, then change this as well
- If
- After you are done with the changes, Save-As the file as
SSDT-BRG0.aml
with the file format asACPI Machine Language Binary
- Add the file in you EFI/OC/ACPI folder
- Open your config.plist file with a plist editor program
- Under
ACPI -> Add -> (next biggest number)
, add the SSDT-BRG0.aml file - Under
DeviceProperties -> Add
, make a new child with the name of the path of the gfx card found withgfxutil
with it being a Dictionary type- It will be the second value found by
gfxutil
- Example,
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
- Example,
- Make two children under this new dictionary,
device-id
andmodel
device-id
will be Data typemodel
will be String type
- Make the
device-id
have the value ofBF730000
- Make the
model
have the valueRadeon RX 6900 XT (XTXH)
- It will be the second value found by
- Under
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args
, append the boot argagdpmod=pikera
- Save the file
- Restart your hackintosh and see the results
- Check metal scores with the gpu to see if its working
- If using VDADecoder, it may not say you have video acceleration
- To fix this, type in the terminal
defaults write com.apple.AppleGVA gvaForceAMDAVCDecode -boolean yes
- To fix this, type in the terminal
- If theres any problems with this guide, please open an issue and I'll get to it as soon as possible.