So the main things to note with updating OpenCore:
- Releases happen the first Monday of every month
- The Differences.pdf will tell you all the things added and removed from this version of OpenCore compared to the previous release
- The OpenCore Install Guide will have a note in the header about what release version it supports
So how do I update?
So the process goes as follows:
-
So first, lets mount your hard drive's EFI and make a copy somewhere safe with MountEFI. We won't be updating the drive's EFI at first, instead we'll be grabbing a spare USB to be our crash dummy. This allows us to keep a working copy of OpenCore in case our update goes south
-
For the USB, it must be formatted as GUID. Reason for this is that GUID will automatically create an EFI partition, though this will be hidden by default so you'll need to mount it with MountEFI.
- Now you can place your OpenCore EFI on the USB
-
The important ones to update:
EFI/BOOT/BOOTx64.efi
EFI/OC/OpenCore.efi
EFI/OC/Drivers/OpenRuntime.efi
(Don't forget this one, OpenCore will not boot with mismatched versions)
-
You can also update other drivers you have if present, these are just the ones that must be updated in order to boot correctly
-
With this, there's a couple ways to do this:
- OCConfigCompare to compare between the sample.plist and your config.plist
diff (file input 1) (file input 2)
in terminal- Meld Merge, WinMerge, or your other favorite comparison software
- Make a new config based off reading the updated OpenCore Install Guide
- Once you've made the adjustments, to make sure that you config is compliant with the newest release of OpenCore, you can use the OpenCore Utility ocvalidate: this tool will help ensure your config.plist is matching the OpenCore specification of the matching build.
- Please note, that
ocvalidate
must match the used OpenCore release and may not be able to detect all configuration flaws present in the file. We recommend to double check your setting with the OpenCore Guide on what to set everything to, otherwise read the Differences.pdf for more in-depth documentation on changes. - To run
ocvalidate
,cd
into OpenCore'sUtilties/ocvalidate/
and run./ocvalidate <insert_config.plist>
. Note you may need to runchmod +x ocvalidate
for it to execute. - In addition, update ProperTree and perform an OC Snapshot (Ctrl/Cmd+R) to ensure that the config entries for your SSDTs, drivers, kexts, etc. are compliant with the format OpenCore expects.
- Please note, that
- Once everything's working with the dummy USB, you can mount the EFI and move it over to the hard drive's EFI partition. Remember to keep a copy of your old EFI in cases where OpenCore is acting funny down the road
-
Updating Kexts is a similar process to updating OpenCore, make a copy of everything and update on a dummy USB in case there's issues
-
The easiest way to update your kexts is via 2 tools:
- Lilu and Friends to download and compile the kexts
- Kext Extractor to merge them into your EFI
-
So this is probably one of the most challenging parts, maintaining your system through OS updates. The main things to keep in mind:
- With OS updates, make sure everything has been updated and you have some form of recovery like TimeMachine or an older macOS installer with a known good EFI on it
- Do a bit of google-fu to see if others are having issues with the newest update
-
I've also provided a bit more of a detailed map of what's changed in macOS versions, see below:
- 10.15.0
- Requires proper EC
- Dual socket and most AMD CPUs need AppleMCEReporterDisabler.kext
- MacPro5,1 support has been dropped
- 10.15.1
- Requires WhateverGreen 1.3.4+
- Broke DRM for many GPUs(see DRM Chart)
- Requires all previous fixes
- 10.15.2
- Fixes Navi support in the installer
- Requires all previous fixes
- 10.15.3
- No change
- Requires all previous fixes
- 10.15.4
- AMD CPU users need to update
cpuid_set_cpufamily
patch - Fixes DRM on many Ellesmere based Polaris GPUs
- Requires all previous fixes(excluding
shikigva=80
for Polaris DRM for most users)
- AMD CPU users need to update
- 10.15.5
- UHD 630's framebuffer broke for many, if you receive black screen you may need to swap from
07009B3E
to00009B3E
- Comet Lake S no longer requires a CPU ID spoof
- UHD 630's framebuffer broke for many, if you receive black screen you may need to swap from
- 10.15.6
- No change
- Requires all previous fixes for 10.15.5
- 10.15.7
- No change
- Requires all previous fixes for 10.15.5
- 11.0.1
- See here: OpenCore and macOS 11: Big Sur
macOS Monterey:
- 12.0.1
- See here: OpenCore and macOS 12: Monterey