Update from 0.6.2 to 0.6.3
In a Nutshell
- Update
kexts
- Update
efi
files - Update
config.plist
My Steps
My EFI is a git repository, cloned both to my EFI partition and to Documents in my home directory. I update the Documents version first, then I do git pull
on my EFI. Git makes the whole process very easy to maintain and recover (if you know git) and having it duplicated helps to avoid stupid issues, when you’re not done, but have to shutdown your computer for some reason.
git pull
my Documents/EFI directory, just to confirm it’s all new (e.g. in case I did some changes from my laptop)- Update
*.kexts
- Update
*.efi
files by taking them from Open Core Release - Update the config
- Sanity Checker for the config
1. Update Kexts
It’s recommended to keep your kexts updated, as long as you update Open Core in order to update macOS. Remember, you don’t have to update at all: neither Open Core, nor macOS.
- You can recompile them yourself with Lilu-and-Friends Tool, which I do.
- Or download the pre-compiled ones from kexts.goldfish64.com
If you prefer to download the kexts, skip this next session to Replacing Kexts.
Compiling Kexts
Enter numbers of your kexts and the tool does the rest: compiles them all and opens a directory with zip archives for you to extract.
My numbers were: 13, 32, 35, 38, 53, 61
, then B
to Build Selected:
- 13 — AppleALC
- 32 — HibernationFixup
- 35 — IntelMausi (Acidanthera)
- 38 — Lilu
- 53 — VirtualSMC (All Tools)
- 53 — SMCProcessor
- 53 — SMCSuperIO
- 61 — WhateverGreen
The result was compiled within a couple of minutes.
It was interesting to compare how much progress there was after a year.
Old versions. June 2021.
AppleALC v1.5.5
HibernationFixup v1.3.8
IntelMausi (Acidanthera) v1.0.5
Lilu v1.5.0
VirtualSMC (All Tools) v1.1.9
WhateverGreen v1.4.5
New versions. May 30, 2022.
AppleALC v1.7.2
HibernationFixup v1.4.6
IntelMausi (Acidanthera) v1.0.8
Lilu v1.6.1
VirtualSMC (All Tools) v1.3.0
WhateverGreen v1.5.9
Replacing kexts.
When I updated kexts each month, some kexts weren’t newer, according to the version number stated by the tool. But I replaced them all, just in case there’s some tiny updates without version change.
Kexts are in EFI/OC/Kexts. Just update all files, but USBMap.kext, if you have one. If you don’t you’d better get through mapping your ports.
My list is: WhateverGreen.kext, SMCSuperIO.kext, SMCProcessor.kext, VirtualSMC.kext, Lilu.kext, IntelMausi.kext, HibernationFixup.kext, AppleALC.kext.
Also, I have USBInjectAll.kext, USBMap.kext, USBWakeFixup.kext from old days, but they’re not included in my config.
2. Update *.efi
Files
Get Open Core Release.
Update the files:
EFI/BOOT/BOOTx64.efi
EFI/OC/OpenCore.efi
EFI/OC/Drivers/OpenRuntime.efi
- and other files from this directory, in case you use them, e.g.
OpenCanopy.efi
Stays the same:
HFSPlus.efi
3. Update Config
- Run OC Config Compare (OCCC) on your config and the
Docs/Sample.plist
from the release archive. In case you’re getting the latest, be aware that it can be newer than the one from the release, as it takes it directly from GitHub repository (not release page) - Compare the highlighted values visually in XCode
- Double-check the guide on the differences
- Sanity Checker
My Differences
Values missing from User plist:
config.plist -> ACPI -> Quirks - Missing Key: SyncTableIds config.plist -> Booter -> Quirks - Missing Key: ResizeAppleGpuBars config.plist -> Kernel -> Block -> Array[0] - Missing Key: Strategy config.plist -> Kernel -> Quirks - Missing Key: CustomPciSerialDevice config.plist -> Kernel -> Quirks - Missing Key: ForceAquantiaEthernet config.plist -> Kernel -> Scheme - Missing Key: CustomKernel config.plist -> Misc - Missing Key: Serial config.plist -> Misc -> Debug - Missing Key: LogModules config.plist -> UEFI -> AppleInput - Missing Key: GraphicsInputMirroring config.plist -> UEFI -> AppleInput - Missing Key: PointerPollMask config.plist -> UEFI -> AppleInput - Missing Key: PointerPollMax config.plist -> UEFI -> AppleInput - Missing Key: PointerPollMin config.plist -> UEFI -> Audio - Missing Key: AudioOutMask config.plist -> UEFI -> Audio - Missing Key: DisconnectHda config.plist -> UEFI -> Audio - Missing Key: MaximumGain config.plist -> UEFI -> Audio - Missing Key: MinimumAssistGain config.plist -> UEFI -> Audio - Missing Key: MinimumAudibleGain config.plist -> UEFI -> Drivers -> Array[0] - Type Difference: String –> Dictionary config.plist -> UEFI -> Drivers -> Array[1] - Type Difference: String –> Dictionary config.plist -> UEFI -> Output - Missing Key: ReconnectGraphicsOnConnect config.plist -> UEFI -> Output - Missing Key: UIScale config.plist -> UEFI -> Quirks - Missing Key: EnableVmx config.plist -> UEFI -> Quirks - Missing Key: ForceOcWriteFlash config.plist -> UEFI -> Quirks - Missing Key: ResizeGpuBars
Values missing from Sample:
Sample.plist -> Misc -> Debug - Missing Key: SerialInit Sample.plist -> UEFI -> Audio - Missing Key: AudioOut Sample.plist -> UEFI -> Audio - Missing Key: MinimumVolume Sample.plist -> UEFI -> Audio - Missing Key: VolumeAmplifier
All of the differences are simply removing old things from my config and adding new things from the new one. But one thing: I see this message
UEFI -> Drivers -> Array[0] - Type Difference: String –> Dictionary
I just removed the entire Drives section in my config and added the new one from the config.
Configs Side by Side
I compare the highlighted changes step by step in Xcode, making appropriate changes.
- You can use ProperTree, if you have no Xcode installed, since it’s very heavy to keep (over 8 GB) just for this task. The experience should be similar for both apps. ProperTree may be even better but I don’t cover it here, since I don¿t use it.
- Also, you can use any other tool of your like, which can edit plist-files, e.g. vim or VSCode
Edit My Config
There are just two steps:
- Copy what’s new from Sample to your config. Usually those you don’t need to change the default values, but it’s better check it with the guide to confirm it. Most of the time it’s just copying from one config to another.
- Something deprecated from Sample. You’d better be careful here, since the OCCC tool doesn’t know what’s needed here. For me I just ignored what’s missing from Sample: in most cases it’s better not to remove anything from your config rather then remove.
UIScale is set under both NVRAM and UEFI->Output! CheckUefi returns 1 error!