Hackintosh on ASRock B550M Steel Legend with AMD RX 6800 XT via OpenCore
- AMD Zen 3 Ryzen 7 5800x
- ASRock B550M Steel Legend
- Audio: Realtek ALC1200
- LAN: Dragon RTL8125BG
- G.Skill Trident Z Neo RGB 2x32GB DDR4 3800Mhz CL18 (F4-3800C18D-64GTZN)
- ASRock AMD Radeon RX 6800 XT Taichi X 16G OC
- Intel 660p 1TB m.2 (macOS)
- Adata XPG SX8200 Pro 1TB m.2 (Windows10)
- Fenvi FV-HB1200 WiFi BT PCIe Card (BCM94360CS2 Based)
- Dell P2418D QHD (Monitor)
- Working hardware
- BIOS version
>= 2.00
- Read OpenCore Desktop Guide
- OpenCore
= 0.7.5
- macOS Big Sur 11.4+ (Support for AMD Navi RDNA2 architecture added on 11.4)
- Exit → Load UEFI BIOS Defaults [Yes]
- Boot → CSM (Compatibility Support Module) → CSM [Disabled]
- Advanced → PCI Configuration → Above 4G Decoding [Enabled]
- Advanced → PCI Configuration → Re-Size BAR Support [Disabled]
- Advanced → Storage Configuration → SATA Mode [AHCI]
- Security → Secure Boot → Secure Boot [Disabled]
- Boot → Fast Boot [Disabled]
You can enable XMP if your memory supports it.
- You must download all not bundled kexts and drivers from repositories by yourself.
- HfsPlus.efi - Needed for seeing HFS volumes(ie. macOS Installers and Recovery partitions/images).
- OpenRuntime.efi - Must have to work with native NVRAM
- OpenCanopy.efi - For OpenCore's GUI
- VirtualSMC.kext - A advanced replacement of FakeSMC, almost like native mac SMC.
- Lilu.kext - Dependency of
VirtualSMC.kext
andWhateverGreen.kext
- WhateverGreen.kext - Need for GPU support
- AppleALC.kext - Getting audio to work as easy-peasy.
- LucyRTL8125Ethernet.kext - Realtek RTL8125 driver for Ethernet
- AppleMCEReporterDisabler.kext - disable the AppleMCEReporter kext which will cause kernel panics on AMD CPUs
- NVMeFix.kext - Used for fixing power management and initialization on non-Apple NVMe.
- AMDRyzenCPUPowerManagement.kext - Power management and monitoring of AMD processors
- SMCAMDProcessor.kext - Publish readings to VirtualSMC, which enables macOS applications like iStat to display sensor data.
- ASRock-B550M-STEEL-LEGEND-USB.kext - Plist-only kext for USB port mapping
- AMD Kernel Patches - This is where the AMD kernel patching magic happens.
- Core Count patch needs to be modified to boot your system. Find the three
algrey - Force cpuid_cores_per_package
patches and alter theReplace
value only. (Important! - Read This!)
- Core Count patch needs to be modified to boot your system. Find the three
Please check Config Example\config.plist
for post-install config example.
Set AMD RX 6800 XT config
- Add
boot-args
:- Under
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args
- Add
agdpmod=pikera
for fixing black screen at boot for Navi 20 GPUs. (More information about Navi20)
- Under
Set audio with AppleALC
- Set AppleALC, under
DeviceProperties
addPciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x4)
dictionary with:layout-id
=1
[Integer/Number]
Platfom information
- Populated
PlatformInfo > Generic
section inconfig.plist
, can be easily done withGenSMBIOS
please follow OpenCore Desktop Guide. - For Navi20 dGPU will work properly, We must use
iMacPro1,1
SMBIOS.
Misc -> Boot
- Set
PickerMode
asExternal
and add files from Setting up OpenCore's GUI
- Set
Misc -> Security
- Set
ScanPolicy
to0
- for dual boot, Scanpolicy Docs
- Set
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args
:- Remove
-v
from your config.plist
- Remove
NVRAM -> Add -> D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> UIScale
:- One-byte data defining boot.efi user interface scaling. Should be
01
for normal screens and02
for HiDPI screens. (When using Dell P2418D set it to02
)
- One-byte data defining boot.efi user interface scaling. Should be
Optional - Minimal theme for picker - opencanopy-minimal-theme by tekteq
Set hard-drives as internal
For some reason the NVMe drives are set as external. In order to fix this issue, We will to get the hard-drives id and set them as internal drives.
- Download and open Hackintool. Go to PCIe Tab
- In this tab, search in Class column for Mass storage controller devices, right click on the row and Copy Device Path
- Under
DeviceProperties
add will add this id as dictionary with:built-in
=01000000
[Data]
DRM Compatibility on macOS 11
Source: WhateverGreen documentation
-
Find the id of dGPU by using
gfxutil
:path/to/gfxutil -f GFX0
For example:
./gfxutil -f GFX0 09:00.0 1002:73bf /PCI0@0/GPP8@3,1/SWUS@0/SWDS@0/GFX0@0 = PciRoot(0x0)/Pci(0x3,0x1)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
My dGPU id is
PciRoot(0x0)/Pci(0x3,0x1)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
-
Under
DeviceProperties
add this id as dictionary with:unfairgva
=01000000
[Data]
In addition, I used those overrides:
defaults write com.apple.AppleGVA gvaForceAMDKE -boolean yes
forces AMD DRM decoder for streaming services (like Apple TV and iTunes movie streaming)defaults write com.apple.AppleGVA gvaForceAMDAVCDecode -boolean yes
forces AMD AVC accelerated decoderdefaults write com.apple.AppleGVA gvaForceAMDAVCEncode -boolean yes
forces AMD AVC accelerated encoderdefaults write com.apple.AppleGVA gvaForceAMDHEVCDecode -boolean yes
forces AMD HEVC accelerated decoderdefaults write com.apple.AppleGVA disableGVAEncryption -string YES
forces AMD HEVC accelerated decoderdefaults write com.apple.coremedia hardwareVideoDecoder -string force
forces hardware accelerated video decoder (for any resolution)
The ASRock B550M Steel Legend contains two USB controllers. One of them uses one of the ports for the RGB lighting controller. When you restart or shutdown macOS, it will send a command to this RGB controller, which will cause a bad CMOS error. To avoid this, you need to create a USB mapping without this port.
- ASRock B550M Steel Legend contains two USB controllers, which means we can enable all USB ports because the macOS 15 ports limit is per controller. (Ref - macOS and the 15 Ports Limit)
- You can use my kext, which enables all the USB ports - ASRock-B550M-STEEL-LEGEND-USB.kext
- More information about ASRock B550M Steel Legend USB Ports, Mapping and Schema
Please follow this guide - Dual boot time sync fix
- Built in Mic on AMD - more information
- Any Virtual Machines that relying on Apple Hypervisor framework - more information
- For example: VMWare, Parallels, Docker and Android Studios
- VirtualBox is not based on it, so it can be used.
Kernel patches
- AMD Kernel Patches -
Aug 14, 2021
ACPI
- SSDT-CPUR.aml -
Oct 13,2021
- SSDT-EC-USBX-DESKTOP.aml -
Feb 3, 2021
Kexts
-
SMCAMDProcessor.kext -
0.6.4
- Currently using
0.6.4
and not the latest (0.7
) because the iStat menu bug
- Currently using
-
AppleALC.kext -
AppleALC-1.6.6-RELEASE
-
Lilu.kext -
Lilu-1.5.7-RELEASE
-
LucyRTL8125Ethernet.kext -
LucyRTL8125Ethernet-V1.1.0
-
NVMeFix.kext -
NVMeFix-1.0.9-RELEASE
-
VirtualSMC.kext -
VirtualSMC-1.2.7-RELEASE
-
WhateverGreen.kext -
WhateverGreen-1.5.5-RELEASE
Drivers
- HfsPlus.efi -
Nov 1, 2021