黑苹果EFI大全|免费分享各种黑苹果EFI资源
macOS Big Sur | macOS Catalina | macOS Mojave |
---|---|---|
11.3 (20E232) | 10.15.7 (19H15) | 10.14.6 (18G87) |
11.2.3 (20D91) | 10.15.6 (19G2021) | 10.14.5 (18F132) |
11.2.2 (20D80) | 10.15.5 (19F101) | 10.14.4 (18E226) |
11.2.1 (20D74) | 10.15.4 (19E287) | 10.14.3 (18D42) |
11.2 (20D64) | 10.15.3 (19D76) | 10.14.2 (18C54) |
11.1 (20C69) | 10.15.2 (19C57) | 10.14.1 (18B75) |
11.0.1 (20B29) | 10.15.1 (19B88) | 10.14 (18A389) |
10.15 (19A583) |
If you find this bootloader configuration useful, consider giving it a star to make it more visible.
If you find my work useful, please consider donating via PayPal.
This repo contains information for getting macOS working on a Huawei MateBook X Pro (2018 Edition) laptop.
This is intended to create a “fully” functional (as far as possible) hackintosh for the Huawei Matebook X Pro. If you would like to get started with creating a hackintosh on your MBXP but have non experience, I would highly recomend following Dortania’s OpenCore Install guide and then returning here for troubleshooting. With each new release of macOS we need to resolve each new “minor issue” we run into. The installation is not perfect yet since it’s a continuos work-in-progress, but I’m glad to say that I learned a lot in the meantime. All of the steps I made to get to this point were a result of countless hours of reading along with trial and error. I am by no means an expert so any help to get this project functional is very appreciated!
AirportItlwm.kext
even Handoff and Continuity features are working, but with a very limited support for AirDrop and Apple Watch unlocking (see Changelog for OpenIntelWireless release v. 1.2.0 stable). For any issues about AirportItlwm.kext
please refer to OpenIntelWireless Gitter PageThis repository is for personal purposes
For privacy reasons, all SMBIOS information has been wiped out in the configuration file EFI/OC/config.plist
. You need to generate your unique SMBIOS info by yourself (recommend to use CorpNewt’s GenSMBIOS), and inject them into your config.plist
.
Specifications | Details |
---|---|
Computer model | Huawei Matebook X Pro 2018 Space Gray |
Processor | Intel Core i7-8550U Processor @ 1.8 GHz |
Memory | 8 GB LPDDR3 2133 MHz |
Hard Disk | LiteON SSD PCIe NVMe 512 GB [CA3-8D512] |
Integrated Graphics | NVIDIA GeForce MX150 / Intel(R) UHD Graphics 620 |
Screen | JDI 3k Display @ 3000 x 2000 (13.9 inch) |
Sound Card | Realtek ALC256 |
Wireless Card | Intel Dual Band Wireless-AC 8265/8275 |
Bluetooth Card | Intel Bluetooth 8265/8275 |
Device Firmware Bios version: 1.28
![]() |
![]() |
---|---|
System configuration | GPU – OpenCL Single-Core 4618 |
See Current status
hibernatemode3
)hibernatemode25
with HibernationFixup.kext
)– F6
)
AppleALC.kext
and layout-id 97
)ALCPlugFix
)GPI0
interrupt mode) and native macOS gesturesVoodooI2C
versions after 2.4 are affected to a greater or lesser extent by Multi_GPI0
issues. The solution proposed so far by VoodooI2C
developers is only a workaround and not a real fix: proposing to use the GPI0
pinning for touchpad and polling method for touchscreen is not a real fix because this approach increases interrupts and causes a degrade in battery life. This being the case and not needing to use the touchscreen in my daily work, for the moment I have disabled this function pending improvements that can only come from VoodooI2C
developers.As reported in NotebookCheck review our Matebook X pro (2018) is utilizing only half the PCIe lanes for its single Thunderbolt 3 port (TB). Thus, its PCIe x2 Thunderbolt 3 port is only capable of providing a maximum of 20 Gbps instead of 40 Gbps when compared to a standard Thunderbolt 3 port with PCIe x4 lanes.
The connector type is Usb-C and it can do multiple protocols (TB, USB 2/3/3.1, DP, etc…) with different backing controllers. The problem on Hackintoshes is mostly about TB on Usb-C, because the firmware and power management of Apple’s TB-controllers works entirely different than those for other OS’es. So even if it’s the same hardware found on Windows laptops, they don’t “just work” because of the different firmware.
The ACPI-part for handling Thunderbolt 3 port and its power management has been implemented:
For reference, see Thunderbolt 3 Fix and ThunderboltPatcher for related attempts to fix TB by patching its firmware.
Due to lack of Thunderbolt devices my interest in this feature is very marginal; therefore, in my default config.plist
, Thunderbolt controller has been left disabled.
Steps for enabling support for Thunderbolt controller (\_SB.PCI0.RP09
):
SSDT-DTB3.aml
SSDT-TB-DSB*.aml
TB3: _GPE.NTFY,1,S to XTFY
binary patchTB3: RP9._INI,0,N to XINI
binary patchSSDT-DDGPU.aml
to disable it in order to save power.SSDT-XHC.aml
to disable it (in order to save some power).OpenCore 0.6.7
Official release. See more info in Wiki section about migration.r5118
Official release r5103
Dids releasePlatformInfo -> Generic - >SystemUUID
in EFI/OC/config.plist
: run wmic csproduct get UUID
command in Windows PowerShell appOpenCanopy
: a cleaner version with custom graphics has been provided by @R-TeerDefault SMBIOS settings of this repo is MacBookPro14,1
MacBookPro15,2
Terminal
appTerminal
window, then press Enter
git clone https://github.com/corpnewt/GenSMBIOS && cd GenSMBIOS && ./GenSMBIOS.command
2
, then press Enter
config.plist
inside the Terminal
window3
, then press Enter
MacBookPro14,1
, then press Enter
By default macOS only uses 2 out of our MBXP 4 speakers: if you want to achieve a surround sound system on macOS, you need to create an Aggregate Device. But then macOS does not allow you to control the volume of the sound: yes, it is real and is a general behaviour of MacBookPro machines.
For a detailed guide on how to activate surround sound via MIDI on internal speakers and native audio shortcuts, see Wiki section
Undervolting is a great way to maximise performance, lower power consumption and reduce temperatures.
For a detailed guide on how to undervolt our MBXP using VoltageShift
from the EFI folder instead of disabling SIP, see Wiki section
CPU power management can be achieved by using CPUFriend.kext
while CPUFriendDataProvider.kext
defines how it should be done. CPUFriendDataProvider.kext
is generated for a specific CPU and power setting. The one supplied in this repository was made for i7-8550U
and is optimized for balanced performance.
i7-8550U
are here.CPUFriendDataProvider.kext
is generated for SMBIOS MacBookPro15,2
because of Kaby Lake R architecture.CPUFriend.kext
and CPUFriendDataProvider.kext
need to be put in CLOVER/kexts/Other
SSDT-XCPM.aml
in CLOVER/ACPI/patched
for working as normal after awake.Sleep function works flawlessly (both via software and via clamshell) like hibernation (suspend to disk or S4 sleep). In order to get automatic sleep working properly like real Macs, the following settings are mandatory:
sudo pmset -a standby 0
sudo pmset -a powernap 0
sudo pmset -a proximitywake 0
sudo pmset -a tcpkeepalive 0
sudo pmset -a womp 0
powernap
will wake up the system from time to time to check mail, make Time Machine backups, etc…proximitywake
can wake your machine when an iDevice is near.tcpkeepalive
has resolved periodic wake events after setting up iCloud.womp
is wake on lan.Default macOS setting is hibernatemode 3 i.e. sleep mode.
After every update, ALL these settings should be reapplied manually!
Hibernation mode can be enabled only via console command sudo pmset -a hibernatemode 25
and is fully supported by Matebook X Pro (obviously using HibernationFixup
kext). If, however, you would like to disable it, then
sudo pmset -a hibernatemode 0
sudo pmset -a autopoweroff 0
sudo rm -rf /private/var/vm/sleepimage
sudo touch /private/var/vm/sleepimage
sudo chflags uchg /private/var/vm/sleepimage
You can verify your power settings by typing in terminal sudo pmset -g live
. If you ever want to reset these settings: sudo pmset -a restoredefaults
About power consumption, HWMonitor reports for the idle state both before and after sleep phase the same value for “CPU package total” (0.65-0.70 W). Sleep discharge rate is about 1% every 4:30 hours (during night).
Proper SSDT-XHC.aml
is used for USB Host Controller (XHCI-Device-ID: <2f 9d 00 00>
): this file is configured to map only the necessary ports (tested with IOReg) with the correct connector type and prevent it from shutdown issues.
Port | Address | Physical Location | Internal/External |
---|---|---|---|
HS01/SS01 | 00000001 /0000000D |
Left Port type-C (Power Source) – next to 3.5mm jack port | E |
HS02/SS02 | 00000002 /0000000E |
Right Port type-A | E |
HS03 | 00000003 |
Left Port type-C Thunderbolt | E |
HS05 | 00000005 |
Bluetooth USB Port | I |
HS07 | 00000007 |
Integrated HD Camera module | I |
HWMonitor is relatively old and no longer supported, but it gets the job done.
Run these lines in terminal:
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.5
killall Dock
Apple no longer sells any Mac with a built-in optical drive, but many users still rely on CDs, DVDs, and Blu-ray discs for both work and entertainment.
How do I get rid of this icon?
Apple/Command
keyEject
menu icon off the menu barEject
icon, you can release the Apple/Command
keyEject
icon from your menu bar.How to add Eject icon to menu bar
Go -> Go to Folder
from the menu bar. Alternatively, you can use the keyboard shortcut Shift-Command-G
/System/Library/CoreServices/Menu Extras/
Eject.menu
By default (for a 13 inch MacBook Pro), the Launchpad shows the icons in 5×7 format.
Type in Terminal the following commands:
defaults write com.apple.dock springboard-rows -int 6
defaults write com.apple.dock springboard-columns -int 9;killall Dock
Relaunch the Launchpad to see the icons are changed now.
Finally you can revert to the default setting with the following commands:
defaults delete com.apple.dock springboard-rows
defaults delete com.apple.dock springboard-columns
defaults write com.apple.dock ResetLaunchPad -bool TRUE;killall Dock
(Warning: the last command also will remove any custom folders you have created)
sudo -v
killall -9 accountsd com.apple.iCloudHelper
defaults delete MobileMeAccounts
rm -rf ~/Library/Accounts
killall -9 accountsd com.apple.iCloudHelper
sudo reboot
Windows uses local time by default while macOS uses universal time. You can switch Windows to use universal time. Open up a command prompt in Windows as an administrator and copy and paste this in:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f
That will make Windows use universal time instead of local time. Then update your clock via the built-in internet time setting to update the time.
With the latest update and inclusion of the new SSDT-KBD.aml
we are now able to reconfigure the shortcuts to custom settings.
For a detailed guide on how to enable original F7
, F9
& F10
hotkeys using native Automator app, please see Wiki section.
Otherwise, you can follow these suggestions [credit @R-Teer]:
Item | Version | Remark |
---|---|---|
MacOS | 11.3 | |
OpenCore | 0.6.7 | Default Bootloader |
Lilu | 1.5.2 | Kext/process/framework/library patcher |
WhateverGreen | 1.4.9 | Handle Graphics card |
AppleALC | 1.5.9 | Handle/fix onboard audio |
CodecCommander | 2.7.2 | Fix headphone audio switch |
CPUFriend | 1.2.3 | Power management |
HibernationFixup | 1.4.0 | Handle hibernate status |
IntelBluetoothFirmware | 1.1.2 | Handle Bluetooth |
AirportItlwm | 2.0.0 beta | Handle native Wi-Fi card |
NullEthernet | 1.0.6 | Fake Ethernet card |
NoTouchID | 1.0.4 | Disable TouchID |
NVMeFix | 1.0.6 | Fix for NVMe SSDs |
RestrictEvents | 1.0.0 | Block unwanted processes |
VoodooI2C | 2.5.2 | Handle I2C device |
VoodooI2CHID | 2.5.2 | Touchpad I2C satellite |
VoodooPS2Controller | 2.2.2 | Enable keyboard, alternative trackpad driver |
VirtualSMC + plugins | 1.2.2 | SMC chip emulation |
USBInjectAll | 0.7.6 | Inject USB ports |
VoltageShift | 1.25 | Undervoltage tool |