There's a new kext out called NootRX to enable unsupported AMD Navi GPUs (Navi 21, 22 and 23) in macOS 11 and newer (check the compatibility list to find out if your GPU is supprted).
Instructions:
- Download and unzip it
- Mount your EFI
- Create a backup of your current EFI folder and store it on a FAT32 formatted USB flash drive (just in case something goes wrong, so you can boot from it)
- Add
NootRX.kextto your EFI/OC/Kexts folder andconfig.plist - Disable
Whatevergreenand/orNootedRedkexts (if present) - If you use an SSDT to get your GPU working, disable it
- Save your config an reboot
Enjoy!
Important
Curently NootRX cannot be used in recovery or during upgrades due to a misdetection causing a stall at the last stage. For now, have it enabled only after installing/updating macOS.
This SSDT enables (Big) Navi Cards (RX 5000/6000 series) in macOS. It renames PEGP to EGP0 so the GPU is recognized and adds an HDMI audio device (HDAU).
- Add
SSDT-NAVI.aml - Add the following Kexts to
EFI/OC/Kextsand config.plist:Lilu.kextWhatevergreen.kext
- Add Boot-arg
agdpmod=pikerato config.plist → Fixes black screen issues on some Navi GPUs.
External (_SB_.PCI0, DeviceObj)
External (_SB_.PCI0.PEG0, DeviceObj)
External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
Scope (\_SB)
{
Scope (PCI0)
{
Scope (PEG0)
{
Scope (PEGP)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}
Device (EGP0)
{
Name (_ADR, Zero) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Device (EGP1)
{
Name (_ADR, Zero) // _ADR: Address
Device (GFX0)
{
Name (_ADR, Zero) // _ADR: Address
Name (_SUN, One) // _SUN: Slot User Number
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg2 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
Return (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-2"
}
})
}
}
Device (HDAU)
{
Name (_ADR, One) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg2 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
Return (Package (0x0A)
{
"AAPL,slot-name",
"Built In",
"device_type",
Buffer (0x13)
{
"Controller HDMI/DP"
},
"name",
"High Definition Multimedia Interface",
"model",
Buffer (0x25)
{
"High Definition Multimedia Interface"
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-2"
}
})
}
}
}
}
}
}
}- Cards RX 6900XT from XTXH (device-id:
0x73AF) is supported with WhateverGreen and spoofing the device-id: use0x73BF - If your RX 6900XT is unsupported, you can follow this guide to enable it in macOS.
When using SMBIOS MacPro7,1 or iMacPro1,1, you don't need WhateverGreen and the agdpmod=pikera boot-arg.
This also redirects Quick-Sync Video and Background rendering to the GPU which would otherwise be handled by the iGPU. This can also help to resolves issues with DRM on macOS 11+ as explained in WhateverGreen's FAQ. For more in-depth explanations about the unfairgva boot-arg and how to use it, check this post.
- Acidanthera for
Lilu.kextandWhateverGreen.kext - Baio1977 for
SSDT-NAVI.aml - rafale77 for
unfairgvaexplanations - Video Bitrate Test Files by Jellyfish
- XFX RX 6600 XT in macOS Monterey
- AMD Boot Flags