- 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
PluginType
checked - Graphics: Inject Intel checked
- Kernel Patches
Kernel LAPIC
,KernelPM
andAppleRTC
enabled - 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:
MATS
andDMAR
- Drop all _DSM methods
- Clover ACPI
PluginType
enabled - Clover Kernel Patches
Kernel LAPIC
,KernelPM
andAppleRTC
enabled - 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.kext
must be removed (ID matched but not actually compatible)- AppleALC kext installed to
/EFI/CLOVER/kexts/Other
- Clover Audio injection
Inject=3
(ResetHDA
may 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-properties
injection (PciRoot(0)/Pci(0x02,0)
) with Clover'sInject Intel
option 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
_PRW
method forXDCI
device as follows:
Device (XDCI)
{
...
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (Package (0x02)
{
0x6D,
Zero
})
}
...
}
- Remove
_PRW
method fromCNVW
device
Via WhateverGreen. Remove AppleBacklightFixup if present.
- Latest
SSDT-PNLF.aml
andSSDT-PNLFCFL.aml
installed to/EFI/CLOVER/ACPI/patched
- Brightness adjustment keys working by modifying
/EFI/CLOVER/ACPI/patched/DSDT.aml
Scope (_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-properties
combination offramebuffer-con1-type
,framebuffer-con1-pipe
andAAPL01,override-no-connect
based 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.aml
installed to/EFI/CLOVER/ACPI/patched
for 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/Extensions
and/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
TPD0
inside/EFI/CLOVER/ACPI/patched/DSDT.aml
as 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.