# macOS 12: Monterey
Reminder that Dortania and any tools mentioned in this guide are neither responsible for any corruption, data loss, or other ill effects that may arise from this guide, including ones caused by typos. You, the end user, must understand this is beta software on unsupported machines so do not pester developers for fixes. Dortania will not be accepting issues regarding this mini-guide except for typos and/or errors. This guide expects you to have a basic understanding of hackintoshing. If you are not familiar with it, we highly recommend you to wait until there is an easier and more straight-forward solution available.
# Table of Contents
# Prerequisites
# Supported SMBIOS
SMBIOS dropped in Monterey:
- iMac15,x and older
- Macmini6,x and older
- MacBook8,1 and older
- MacBookAir6,x and older
- MacBookPro11,3 and older
- MacBookPro11,4 and 11,5 are still supported
If your SMBIOS was supported in Big Sur and is not included above, you're good to go!
Supported SMBIOS
- iMac16,1 and newer
- MacPro6,1 and newer
- iMacPro1,1 and newer
- Macmini7,1 and newer
- MacBook9,1 and newer
- MacBookAir7,1 and newer
- MacBookPro11,4 and newer
Click here for a full list of supported SMBIOS.
For those on Haswell or Ivy Bridge, here are some simple conversions:
- Ivy Bridge desktops with dGPU should use MacPro6,1
- Haswell desktops with dGPU should use iMac17,1
- Haswell desktops with only an iGPU should use iMac16,2
- Haswell laptops should use MacBookPro11,4 or MacBookPro11,5
# Supported hardware
Dropped GPU Hardware:
- Ivy Bridge (HD 4000 and HD 2500)
- NVIDIA Kepler (GTX 6xx/7xx Cards)
- You can use OpenCore-Legacy-Patcher (opens new window) to add back support
- No support is provided for Hackintoshes using OCLP!
- You will lose access to non-full updates (Small 1-3GB updates)
- Requires SIP, Apple Secure Boot, and AMFI disabled.
Haswell iGPUs are still supported in Monterey
- Macmini7,1 uses these drivers
# AMD Patches
For those on AMD CPUs, make sure to update your kernel patches (opens new window) for Monterey.
Don't forget to update your patches as well with the core count of your CPU.
The patches which need to be edited are all named algrey - Force cpuid_cores_per_package
, and you only need to change the Replace
value. You should change:
B8000000 0000
=>B8 <core count> 0000 0000
BA000000 0000
=>BA <core count> 0000 0000
BA000000 0090
=>BA <core count> 0000 0090
Where <core count>
is replaced with the physical core count of your CPU in hexadecimal. For example, an 8-Core 5800X would have the new Replace value be:
B8 08 0000 0000
BA 08 0000 0000
BA 08 0000 0090
Core Count => Hexadecimal Table
Core Count | Hexadecimal |
---|---|
4 Core | 04 |
6 Core | 06 |
8 Core | 08 |
12 Core | 0C |
16 Core | 10 |
24 Core | 18 |
32 Core | 20 |
64 Core | 40 |
# Bluetooth
WARNING
Note that all cards have not been fixed yet, and that bluetooth support is being worked on still.
Do not be surprised if your card does not work, and please be patient!
With Monterey, Apple has completely rewritten the bluetooth stack. As of writing, many bluetooth devices do not work (legacy Broadcom and Intel). With the rewrite, injector kexts break bluetooth support in Monterey, though firmware uploader kexts are still needed. Make sure that you:
- Disable injector kexts
- IntelBluetoothInjector.kext for Intel cards
- BrcmBluetoothInjector.kext for Broadcom cards
- If you still boot Big Sur or older, you can instead set the
MaxKernel
field to20.99.9
for your injector kext in your config.plist.
- Keep Firmware uploader kexts
- IntelBluetoothFirmware.kext for Intel
- BrcmPatchRAM2/3.kext + BrcmFirmwareData.kext for Broadcom
- Add BlueToolFixup (opens new window)
- Needed for all non-native Bluetooth devices (Including Intel)
- If you still boot Big Sur or older, you can set the
MinKernel
field to21.00.0
to prevent BlueToolFixup loading on older OSes.
See the below issues for more details:
# Ethernet
Intel I211 chipset (typical for some AMD boards i.e. B450) no longer works with SmallTreeIntel82576 kext (network remains in Cable Unplugged
status).
AppleIGB (opens new window) confirmed working on I211 @ B450, but NICs on other boards might experience issues (please report (opens new window) if any)
See the below issues for more details:
The boot-arg for enabling Intel I225-V ethernet controller has changed since macOS Monterey 12.3. Use e1000=0
instead of dk.e1000=0
.
# OTA Updates
Starting with Monterey, updates are not delivered to T2 Macs which don't have Secure Boot enabled, and updates do not install properly if your SecureBootModel does not match your machine (ie. non-T2 SMBIOS using j137 or iMacPro1,1 using j160). Hackintoshes which use a T2 SMBIOS MUST have OpenCore 0.7.4+ with SecureBootModel set to Default
. If your SMBIOS does not have a T2 chip, then either Default
or Disabled
is ok. More information is available on the Apple Secure Boot page (opens new window).
T2 SMBIOS List
SMBIOS | Minimum macOS Version |
---|---|
iMacPro1,1 (December 2017) | 10.13.2 (17C2111) |
MacBookPro15,1 (July 2018) | 10.13.6 (17G2112) |
MacBookPro15,2 (July 2018) | 10.13.6 (17G2112) |
Macmini8,1 (October 2018) | 10.14 (18A2063) |
MacBookAir8,1 (October 2018) | 10.14.1 (18B2084) |
MacBookPro15,3 (May 2019) | 10.14.5 (18F132) |
MacBookPro15,4 (July 2019) | 10.14.5 (18F2058) |
MacBookAir8,2 (July 2019) | 10.14.5 (18F2058) |
MacBookPro16,1 (November 2019) | 10.15.1 (19B2093) |
MacPro7,1 (December 2019) | 10.15.1 (19B88) |
MacBookAir9,1 (March 2020) | 10.15.3 (19D2064) |
MacBookPro16,2 (May 2020) | 10.15.4 (19E2269) |
MacBookPro16,3 (May 2020) | 10.15.4 (19E2265) |
MacBookPro16,4 (June 2020) | 10.15.5 (19F96) |
iMac20,1 (August 2020) | 10.15.6 (19G2005) |
iMac20,2 (August 2020) | 10.15.6 (19G2005) |
Note: You do not need the -revsbvmm
boot argument from RestrictEvents. Use OpenCore 0.7.4 or later.
# Troubleshooting
# No Updates
Make sure that SIP is enabled. Two bits in SIP specifically cause issues:
- CSR_ALLOW_APPLE_INTERNAL (Bit 4 = 0x10)
- Prevents updates appearing at all
- CSR_ALLOW_UNAUTHENTICATED_ROOT (Bit 11 = 0x800)
- Prevents incremental OTA updates
If you want to still have SIP disabled, use either:
csrutil disable --no-internal
in Recovery- A SIP value which does not include the two flags above
To enable SIP:
- Set
csr-active-config
to<00 00 00 00>
in your config.plist - Use
csrutil clear
in Recovery- Can instead add
csr-active-config
to NVRAM->Delete or reset NVRAM
- Can instead add