在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):profzei/Matebook-X-Pro-2018开源软件地址(OpenSource Url):https://github.com/profzei/Matebook-X-Pro-2018开源编程语言(OpenSource Language):ASL 96.3%开源软件介绍(OpenSource Introduction):macOS on Huawei Matebook X Pro 2018
|
Monterey | macOS Big Sur | macOS Catalina | macOS Mojave |
---|---|---|---|
12.2.1 (21D62) | 11.6.4 (20G417) | 10.15.7 (19H15) | 10.14.6 (18G87) |
12.2 (21D48) | 11.6.3 (20G415) | 10.15.6 (19G2021) | 10.14.5 (18F132) |
12.1 (21C52) | 11.6.2 (20G314) | 10.15.5 (19F101) | 10.14.4 (18E226) |
12.0.1 (21A559) | 11.6.1 (20G224) | 10.15.4 (19E287) | 10.14.3 (18D42) |
11.6 (20G165) | 10.15.3 (19D76) | 10.14.2 (18C54) | |
11.5.2 (20G95) | 10.15.2 (19C57) | 10.14.1 (18B75) | |
11.5.1 (20G80) | 10.15.1 (19B88) | 10.14 (18A389) | |
11.5 (20G71) | 10.15 (19A583) | ||
11.4 (20F71) | |||
11.3.1 (20E241) | |||
11.3 (20E232) | |||
11.2.3 (20D91) | |||
11.2.2 (20D80) | |||
11.2.1 (20D74) | |||
11.2 (20D64) | |||
11.1 (20C69) | |||
11.0.1 (20B29) |
If you find my work useful:
This repository is for personal purposes only.
This repo contains the files needed for getting macOS working on a Huawei MateBook X Pro (2018 Edition) laptop with OpenCore.
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).AirportItlwm.kext
please refer first to OpenIntelWireless Troubleshooting page and then to OpenIntelWireless Gitter PageFor 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
.
PlatformInfo -> Generic
in 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.37
See Current status
hibernatemode3
)hibernatemode25
with HibernationFixup.kext
)AppleALC.kext
and layout-id 97
)ALCPlugFix
)GPI0
interrupt mode) and native macOS gesturesMain
-> Thunderbolt Device
-> Security Level
-> No SecurityMain
-> Advanced
-> PXE Device Enable
-> DisableMain
-> Advanced
-> Fingerprint Enable
-> DisableVoodooI2C
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.rps-control
key in DeviceProperties -> PciRoot(0x0)/Pci(0x2,0x0)
, but keep in mind that rps-control
property has been removed to lower down GFX Request:...
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
...
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
...
<key>rps-control</key>
<data>AQAAAA==</data>
....
</dict>
...
</dict>
</dict>
...
Intel UHD 620 Graphics card works well with external display from both USB type-C ports.
PciRoot(0x0)/Pci(0x2,0x0)
the key force-online
(which was set to <data>AQAAAA==</data>
). Why?
WhateverGreen
releases our available connector types are 1 LVDS (internal monitor) and 2 DP; using an external monitor connected with a USB C-type to DP cable I verified the correct recognition and functioning of my BenQ PD2500Q even after the system wake-up. This force-online
key could instead be useful for connections using a USB-C type to HDMI cable.[IGFB] [ERROR] [AGDC] Failed with status -536870212 for stream access aux
in system log during boot phase: that warning is correct/normal since it reports that the display is not connected for the remaining ports (i.e. FB1
and FB2
in our case using only FB0
i.e. internal display); eliminating those warnings reduces log-file size (in debug-mode) from 2.6 to 1.6 MB thus reducing slightly boot loading time. Referenceforce-online
and force-online-framebuffers
work around (possible) HDMI black screen issues after waking from sleep...
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
...
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
...
<key>force-online</key>
<data>AQAAAA==</data>
<key>force-online-framebuffers</key>
<data>Af////////8=</data>
....
</dict>
...
</dict>
</dict>
...
panic(cpu 0 caller 0xffffff800b6ce860): nvme: "Fatal error occurred. CSTS=0xffffffff
...
It's certainly a NVMe
error, but it is not due to EFI released in the present repo:
In case you run into such an issue, it is recommended adding forceRenderStandby=0
boot-args in your config.plist
to disable RC6 Render Standby
.
IONVME
compatibility SSDs.Obvious solutions:
Even if your macOS installed on an external SSD drive, you need to add a new ACPI patch to disable PM981 (or other non-supported NVMe SSDs) detection on macOS:
DefinitionBlock ("", "SSDT", 2, "HUAWEI", "_DRP05", 0)
{
External (OSDW, MethodObj)
External (_SB_.PCI0.RP05, DeviceObj)
Scope (\_SB.PCI0.RP05)
{
OperationRegion (DE01, PCI_Config, 0x50, One)
Field (DE01, AnyAcc, NoLock, Preserve)
{
, 1,
, 3,
DDDD, 1
}
}
Scope (\)
{
If (OSDW ())
{
\_SB.PCI0.RP05.DDDD = One
}
}
}
Starting from BIOS version 1.33
and newer, Huawei added to default DSDT.aml
a new method, called _QBF
, related to battery thermal management.
As default, in config.plist
in ACPI -> Add
section it has been added SSDT-BIOS.aml
(as enabled) for introducing method _QBF
also for BIOS versions up to 1.30
: proper BIOS version check has been implemented.
For dual-booting systems, Windows Activation may fail due to different hardware UUID generated by OpenCore
PlatformInfo -> Generic - >SystemUUID
in EFI/OC/config.plist
: run wmic csproduct get UUID
command in Windows PowerShell appIf you use this release in macOS Catalina you need to make the following changes in the config.plist
to make AirportItlwm.kext
support active:
DmgLoading
set to Signed
SecureBootModel
set to Default
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:
PCIe-to-PCIe
bridge-mode of the TB controller but also the native drivers which make it possible to completely poweroff the controller after using the TB port, saving battery life and prevent the controller from preventing the CPU goes into deeper C-StateSince I was given an OWC Envoy Express Thunderbolt 3 Controller is enabled in my default config.plist
.
Steps for disabling support for Thunderbolt controller (\_SB.PCI0.RP09
):
SSDT-JHL6240-AR2.aml
SSDT-DTB3.aml
TB3: *
binary patchesReal-time power management for Thunderbolt controller with Discrete GPU (NVIDIA GeForce MX150) removed at PCI level are shown:
For reference, see Thunderbolt 3 Fix and ThunderboltPatcher for related attempts to fix TB by patching its firmware.
SSDT-DDGPU.aml
to disable it in order to save power.\_SB.PCI0.RP01
is not present anymore in IORegistryExplorer tree (this is proof for having disabled GPU at PCI level!)SSDT-XHC.aml
to disable it (in order to save some power).OpenCore 0.7.8
Official release.
OpenCanopy
, a cleaner version with custom graphics has been provided by @R-Teerr5118
Official release r5103
Dids releaseIf you try to use latest EFI Release for installing macOS onto your Matebook X Pro, you'll realize it didn't work... Why?
Because our EFI is very fine tuned to overcome some InsydeH2O firmware's limits and therefore it is not suitable for installation process as it is.
Please refer to Wiki section for a detailed guide for installing macOS.
Starting from VoodooI2C v. 2.4.1, the click down action is emulated to force touch, which causes the failure of click down and drag gestures.
For example, you can turn off Force Click
in System Preferences -> Trackpad
or choose three finger drag in System Preferences -> Accessibility -> Mouse & Trackpad -> Trackpad Options
Suggested configuration:
To use iMessage and other Apple services, you need to generate your own serial numbers. This can be done using CorpNewt's GenSMBIOS:
Default SMBIOS settings of this repo is MacBookPro15,2
MacBookPro14,1
MacBookPro16,3
Terminal
appTerminal
window, then press Enter
git clone https://github.com/corpnewt/GenSMBIOS && cd GenSMBIOS && ./GenSMBIOS.command
1
for downloading/updating MacSerial
script3
, then press Enter
MacBookPro15,2 10
, then press Enter
config.plist
:
PlatformInfo/Generic/SystemSerialNumber
PlatformInfo/Generic/MLB
PlatformInfo/Generic/SystemUUID
. Reboot and Apple services should work.<key>PlatformInfo</key>
<dict>
...
<key>MLB</key>
<string>M0000000000000001</string>
...
<key>SystemSerialNumber</key>
<string>W00000000001</string>
...
<key>SystemUUID</key>
<string>00000000-0000-0000-0000-000000000000</string>
...
</dict>
On a MacBook there are some stages of sleep:
/private/var/vm/sleepimage
); you know this has happened if when you open the lid you see OpenCanopy
boot picker, and then see a progress bar while it is loading state from disk.We could summarize sleep settings as the following:
sleep == 0
, the computer will not sleep or hibernate any more
sleep
minutes are simply equal to displaysleep
minutes, which you can set in System Preferences -> Energy Saver
Power Adapter
tab, checking Prevent computer from sleeping automatically when the display is off
option will override sleep minutes to 0standby == 1
and hibernatemode == 3
, the computer will wait another standbydelay
seconds before really entering hibernationautopoweroff
is just an extra implementation to fulfill regulatory requirement and has the same impact equivalent to 2)standby == 1
and hibernatemode == 25
, the computer will enter hibernation immediately after sleep
minutes.For our Huawei Matebook X Pro sleep/standby 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 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.After every update, ALL these settings should be reapplied manually!
Suggested configuration in System Preferences -> Bluetooth -> Advanced
for Bluetooth devices for avoiding random wake events during sleep:
Default macOS setting for MacBooks is hibernatemode 3 i.e. sleep mode:
standby
causes kernel power management to automatically hibernate a machine after it has slept for a specified time periodstandbydelay
specifies the delay, in seconds, before writing the hibernation image to disk and powering off memory for standby
Concretely, the way I like to configure my Matebook X Pro is for it to do first a standby-only sleep, so that it quickly goes to sleep, with the chance of a very quick wake-up phase, and then, if I leave the laptop sleeping for a certain number of hours (say in my case 1 hour), it could write the RAM contents to disk and power off the computer, so as to save battery in case of an extended sleep (entering therefore hibernation phase).
In order to get this configuration, I suggest the following settings:
config.plist
in NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args
section the value hbfx-ahbm=129
which controls auto-hibernation feature introduced by HibernationFixup
kext (in particular it is an arithmetic sum of EnableAutoHibernation
= 1 and DisableStimulusDarkWakeActivityTickle
= 128 flags) Reference for deeper insightsudo pmset -a standby 1
sudo pmset -a hibernatemode 3
sudo pmset -a standbydelaylow 3600
sudo pmset -a standbydelayhigh 3600
Note: Keep in mind that, with the above settings, after 3600 seconds the laptop wake up itself only partially (display remains off) for switching from standby sleep to hibernation sleep: it is standard behaviour since all Macs use maintenance wake (dark wake - display remains off) to switch laptop from regular sleep into hibernation. It is not an issue! Reference
Note: 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).
With
2023-10-27 2022-08-15 2022-08-17 2022-09-23 2022-08-13CPUFriend.kext
and SSDT-PM.aml
we achieved a very good power management on battery for
全部评论
上一篇:
szzhiyang/PerfectWindows: Power Keys - 解放 Windows 和 macOS 使用效率发布时间:2022-08-18 下一篇:
Orama-Interactive/Pixelorama: A free & open-source 2D sprite editor, made wi ...发布时间:2022-08-18
剪的笔顺,诠释剪的笔画,认识剪的部首
六六分期app的软件客服如何联系?(六六分期
florent37/ViewAnimator: A fluent Android
florent37/Shrine-MaterialDesign2: implem
CVE-2020-36276
SimpleSoftwareIO/simple-sms: Send and re
请发表评论