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.kext
to your EFI/OC/Kexts folder andconfig.plist
- Disable
Whatevergreen
and/orNootedRed
kexts (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/Kexts
and config.plist:Lilu.kext
Whatevergreen.kext
- Add Boot-arg
agdpmod=pikera
to 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.kext
andWhateverGreen.kext
- Baio1977 for
SSDT-NAVI.aml
- rafale77 for
unfairgva
explanations - Video Bitrate Test Files by Jellyfish
- XFX RX 6600 XT in macOS Monterey
- AMD Boot Flags