- Clover bootloader r4954+ for macOS Catalina (10.15)
- For Clover v2.5k, the new UEFI drivers directory is now
/EFI/CLOVER/drivers/UEFI, make sure you move every UEFI driver from the old (Clover v2.4k) directory (/EFI/CLOVER/drivers64UEFI) to this directory after you upgraded Clover, except for HFSPlus-64.efi as there has been a new version of it that works with Clover v2.5k and should come pre-installed by default by the Clover v2.5k installer.
Get yourself a Mojave/Catalina USB installer with Clover installed. Important Clover settings (via Clover Configurator) are:
- Acpi SSDT
PluginTypechecked - Graphics: Inject Intel checked
- Kernel Patches
Kernel LAPIC,KernelPMandAppleRTCenabled - SMBIOS: MacBookPro15,2
- UEFI Drivers
- EmuVariableUefi-64 (Native UEFI won't work with macOS)
- ApfsDriverLoader-64 (If your OS partition is APFS)
- AptioMemoryFix-64.efi (Required for ASUS BIOS, APTIO V)
- PartitionDxe-64
- CsmVideoDxe64
- UsbKbDxe-64
- UsbMouseDxe-64
- NvmExpressDxe-64.efi (If you use NVMe SSD)
- HFSPlus-64 (If you have HFS+ partitions) - If you use Clover v2.5k, it should be named as just HFSPlus.efi
- NTFS-64 (If you have NTFS partitions)
Mandatory kexts installed to /EFI/CLOVER/kexts/Other: FakeSMC, VoodooPS2Controller, Lilu
Any changes made to kexts installed under /Library/Extensions are to be followed by sudo kextcache -i /.
Every external kext mentioned is assumed to be the latest.
- DSDT files generated by Clover to the EFI partition
- DSDT tables to drop:
MATSandDMAR - Drop all _DSM methods
- Clover ACPI
PluginTypeenabled - Clover Kernel Patches
Kernel LAPIC,KernelPMandAppleRTCenabled - ACPIBatteryManager kext installed to
/EFI/CLOVER/kexts/Other
Internal speaker and microphone work. If headphone output produces weird audio, set volume balance to be either left or right. This issue has not been seen on Catalina.
/System/Library/Extensions/AppleGFXHDA.kextmust be removed (ID matched but not actually compatible)- AppleALC kext installed to
/EFI/CLOVER/kexts/Other - Clover Audio injection
Inject=3(ResetHDAmay be enabled)
Custom-built VoodooPS2Controller kext installed to /Library/Extensions and /EFI/CLOVER/kexts/Other (using keyboard in Recovery mode)
This kext has its own CAPS lock workaround, plus setting Swap command and option value to false inside VoodooPS2Keyboard 's Info.plist, you can grab it from this repository.
// Simplified code
// CAPS lock may not work properly with Keyboard Viewer active, might be improved in the future
if (adbKeyCode == 0x39 && version_major >= 16) // Caps Lock workaround
{
clock_get_uptime(&now_abs);
dispatchKeyboardEventX(adbKeyCode, goingDown, now_abs);
return true;
}
- Enabled by
device-propertiesinjection (PciRoot(0)/Pci(0x02,0)) with Clover'sInject Inteloption unchecked - WhateverGreen kext installed to
/EFI/CLOVER/kexts/Other - Useful additional boot flags:
-igfxmlr enable-dpcd-max-link-rate-fix
- Applied static patching of
USB _PRW 0x6D (instant wake)for Skylake (credits to MegaStood) - Patch
_PRWmethod forXDCIdevice as follows:
Device (XDCI)
{
...
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (Package (0x02)
{
0x6D,
Zero
})
}
...
}
- Remove
_PRWmethod fromCNVWdevice
Via WhateverGreen. Remove AppleBacklightFixup if present.
- Latest
SSDT-PNLF.amlandSSDT-PNLFCFL.amlinstalled to/EFI/CLOVER/ACPI/patched - Brightness adjustment keys working by modifying
/EFI/CLOVER/ACPI/patched/DSDT.amlScope (_SB.PCI0.LPCB.EC0) { ... Method (_Q11, 0, NotSerialized) // _Qxx: EC Query { Notify (PS2K, 0x0405) // Brightness down } Method (_Q12, 0, NotSerialized) // _Qxx: EC Query { Notify (PS2K, 0x0406) // Brightness up } ... }
No thorough test on this.
- Disable WhateverGreen's HDMI injection by adding a boot flag
-igfxnohdmi device-propertiescombination offramebuffer-con1-type,framebuffer-con1-pipeandAAPL01,override-no-connectbased on this post
- Clover USB injection
Inject=false - USBInjectAll, XHCI-300-series-injector and XHCI-unsupported kexts installed to
/EFI/CLOVER/kexts/Other SSDT-XHC.amlinstalled to/EFI/CLOVER/ACPI/patchedfor better USB support- Disable unused USB ports via
/EFI/CLOVER/APCI/patched/SSDT-UIAC.aml - Override AppleBusPowerController profile (and fix bootloop on Catalina beta 5) via
/EFI/CLOVER/ACPI/patched/SSDT-EC.aml
- RealtekRTL8111 kext installed to
/Library/Extensionsand/EFI/CLOVER/kexts/Other(using internet in Recovery mode)
- SATA-300-series-unsupported kext installed to
/EFI/CLOVER/kexts/Other
** Caution: Latest unofficial VoodooI2C may cause kernel panic whenever patched DSDT.aml is used, there's no way around that yet **
- VoodooI2C kexts version 2.2 or later (VoodooI2C + VoodooI2CHID)
- DSDT patch: [Windows] Windows 10 Patch
- Patch
TPD0inside/EFI/CLOVER/ACPI/patched/DSDT.amlas follows:
Device (TPD0)
{
...
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
...
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFG)) // ** MODIFIED **
}
Trackpad works okay but with minor stuttering.
- NoTouchID kext installed to
/EFI/CLOVER/kexts/Other(MacBookPro15,2 has Touch ID)
Discrete graphic, we probably never see the day. For now, use SSDT-DDGPU.aml (in /EFI/CLOVER/ACPI/patched) to power it off.
Intel built-in Wi-Fi chipset, we again probably never see the day.
It never works if Wi-Fi doesn't work.
