macOS on the Huawei MateBook 13 2019 thanks to Acidanthera's OpenCore bootloader.
Apart from the webcam and the fingerprint sensor, everything is working perfectly like on a real MacBook Air/Pro. The battery runtime is around five to six hours, similar to the battery runtime in Windows.
This repository is neither a howto nor an installation manual. Using these files requires at least basic knowledge of Acidanthera's OpenCore bootloader, ACPI, UEFI and the art of hackintoshing in general. I recommend reading the excellent Dortania's OpenCore Install Guide, as well as all its linked resources. For those who wish to improve their hackintoshing knowledge, 5T33Z0's OC-Little-Translated repository is the most comprehensive resource I've found on the subject.
I recommend completely erasing the device's SSD by creating a new GPT partition table before attempting to install macOS, as it makes the installation process much easier. You may use any Linux live ISO with a partitioning tool such as GParted
or KPartition
to erase the SSD.
For macOS to be able to boot on the MateBook 13 2019, the Secure Boot
option must be disabled in the UEFI.
Please be aware that all PlatformInfo
and SMBIOS
information was removed from the OpenCore config.plist
file. Users will therefore need to generate their own PlatformInfo
with CorpNewt's GenSMBIOS tool before attempting to boot a MateBook 13 2019 with this repository's EFI folder.
Software | Version |
---|---|
Target OS | Apple macOS 13.6.7 Ventura and 14.5 Sonoma |
OpenCore | MOD-OC v1.0.1 |
SMBIOS | MacBookPro15,2 |
UEFI Firmware | v1.39 |
SSD format | APFS file system, GPT partition table |
Device | Hardware |
---|---|
CPU | Intel Core i7-8565U (4 x 1.8 - 4.6 GHz, Whiskey Lake) |
iGPU | Intel UHD Graphics 620 |
dGPU | NVIDIA GeForce MX150 on some models |
Audio | Realtek ALC 256 |
RAM | 2x4 GB LPDDR3 2133 MHz |
Wifi + Bluetooth | Intel Wireless-AC 9560, Bluetooth 5.0 |
Storage | Western Digital SN720 NVMe PCIe 512 GB SSD |
USB Type-C | Supports Power Delivery and DisplayPort |
Camera | 1 MPix camera |
Keyboard / Trackpad | |
Display | 13 inch 3:2, 2160 x 1440 IPS 260 PPI, 10-Point Capacitive |
Battery | 41.7 Wh |
Accelerometers, gyroscopes, ambient light sensors |
- CPU power management
- CPU SpeedStep
- iGPU with full acceleration
- SSD drive
- Sleep/hibernate and wake
- Left and right USB-C ports with hotplug
- Intel WLAN with fully working Apple Messages and FaceTime on macOS Ventura
- Intel Bluetooth
- Webcam (depends on the camera vendor of your model)
- Internal speakers, microphone and Combojack
- Keyboard with working brightness, volume and mute keys
- Power Button long-press opens Sleep/Shutdown menu
- Lid sleep and wake
- Trackpad with native multi-touch gestures
- Touchscreen (disabled with
SSDT-TPL1.aml
to save power) - Battery percentage and cycle count
- Ambient light sensor
- USB Type-C Power Delivery
- Fix Apple Messages and FaceTime on macOS Sonoma
- Improve battery life by configuring Active State Power Management (ASPM)
- NVIDIA GeForce MX150 dGPU (disabled with
SSDT-dGPU-Off.aml
) - Fingerprint sensor (disabled in the UEFI)
- Webcam (depends on the camera vendor of your model)
To enable native HiDPI settings in the Display Preferences of macOS, download and run the one-key-hidpi script, select Enable HiDPI
, then select Manual input resolution
and enter 2160x1440 1920x1280 1600x1066 1280x854 1080x720
in the input prompt.
- Boot into OpenCore
- Press Space to see the list of tools
- Select
Disable CFG Lock
- Press enter
- Restart
To verify this worked, press Space and select the Check CFG Lock State
tool -- if it was successful, you'll see:
This firmware has UNLOCKED MSR 0xE2 register!
Finally, edit config.plist
and set Kernel -> Quirks -> AppleCpuPmCfgLock
and Kernel -> Quirks -> AppleXcpmCfgLock
to false
and restart.
- Boot into OpenCore
- Press Space to see the list of tools
- Select
Set DVMT Pre-Allocated to 64M
- Press enter
- Then select
Set DVMT Total Gfx Mem to MAX
- Press enter
- Restart
Finally, edit config.plist
and delete or comment out framebuffer-fbmem
, framebuffer-stolenmem
and framebuffer-patch-enable
in Device Properties -> Add -> PciRoot(0x0)/Pci(0x2,0x0)
and restart.
First we need to disable the Overclocking Lock in the UEFI Firmware:
- Boot into OpenCore
- Press Space to see the list of tools
- Select
Disable Overclocking Lock
- Press enter
- Restart
The VoltageShift.kext
undervolting tool is already included and enabled in this repository's Kexts
folder. To be able to launch the voltageshift
command line tool from anywhere, copy VoltageShift from the Tools folder to your /usr/local/bin
folder by entering sudo cp voltageshift /usr/local/bin/
in the macOS terminal after navigating to the folder where you downloaded and unzipped the voltageshift
executable file.
Refer to the instructions found in the VoltageShift repository, as well as to the excellent howto found in zearp's repository.
VarName | VarOffset | VarStore | From | To |
---|---|---|---|---|
CFG Lock | 0x3E | 0x3 (CpuSetup) | 0x1 (Enabled) | 0x0 (Disabled) |
Overclocking Lock | 0xDA | 0x3 (CpuSetup) | 0x1 (Enabled) | 0x0 (Disabled) |
VT-d | 0x10B | 0x2 (SaSetup) | 0x1 (Enabled) | 0x0 (Disabled) |
DVMT Pre-Allocated | 0x107 | 0x2 (SaSetup) | 0x1 (32M) | 0x2 (64M) |
DVMT Total Gfx Mem | 0x108 | 0x2 (SaSetup) | 0x2 (256M) | 0x3 (MAX) |
To revert all changes made to the UEFI Firmware variables to their default values, enable the corresponding entries in the config.plist
file under Misc
-> Tools
, restart to the OpenCore menu, press space to see the list of tools and revert the changes by launching the option you wish to revert to its default value:
Enable CFG Lock
Enable Overclocking Lock
Enable VT-d
Set DVMT Pre-Allocated to 32M
Set DVMT Total Gfx Mem to 256M
Repeat for every UEFI variable you wish to revert to its default value.
Please be aware that you need to revert any changes made to your config.plist
file before reverting the UEFI variables to their default values, or macOS won't boot anymore!
To fix issues with Apple Messages and FaceTime related to the Intel Wireless driver on macOS Sonoma, disable all AirportItlwm-***.kext
entries under Kernel -> Add
in your config.plist
file and use the itlwm_v2.3.0_stable.kext.zip and its companion app HeliPort instead.
The latest version 2.3.0 of itlwm.kext is already included in the Kext folder and config.plist
file.