Skip to content
master
Switch branches/tags
Code

Matebook X Pro Hackintosh

This is the guide to install macOS onto the Huawei Matebook X Pro.

Click here to help a broke student out or at the bottom of the page. :)

English | 中文| Español

DISCLAIMER The project is still in its beta/testing state. Proceed at your own risk, I shall not take responsibility for any damages caused.

For quick post installation, please run this in terminal:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/gnodipac886/MatebookXPro-hackintosh/master/onekey_installer.sh)"

My Matebook X Pro's Hardware Configuration:

  • CPU: i7-8550U @ 1.8GHz
  • 16GB RAM
  • Nvidia MX 150 / Intel UHD 620
  • 3K display @ 3000x2000
  • 512 Gb Toshiba SSD
  • USB Wifi: Edimax N150 (2.4 GHz only but cheap) / Edimax AC1200 (2.4 + 5GHz)
  • Builtin Bluetooth: Intel Wireless Bluetooth 8275

What works:

  • Intel WiFi (AC8275)
  • Intel UHD 620 Graphics Acceleration
  • Brightness
  • Sleep
  • Realtek alc256 Audio via AppleALC
  • Keyboard with Volume Controls and Brightness controls (via VoodooPS2)
  • Camera support up to 10.14.3
  • Trackpad and Native Gestures via Custom VoodooI2C
  • Touchscreen with multi-touch capabilities (think of it as a large trackpad)
  • Battery Percentage
  • Bluetooth (Reboot from Widows required - should persist after single reboot)
  • Power Management - I'm getting around 8-9 hours.
  • Liton SSDs are now supported.
  • HDMI 2.0 support, up to two 4K @60Hz monitors.

What doesn't Work:

  • dGPU (Nvidia Optimus not supported on MacOS)
  • eGPU (not tested)
  • Fingerprint Sensor
  • As of right now, Samgsung PM981 SSDs are not supported.

Let's Get Started

What you need:

  • Huawei Matebook X Pro (either i7 or i5 model)
  • macOS or OS X downloaded from the Mac App Store
  • 8GB USB stick
  • USB C dock (for connecting to external mouse for initial setup)

BIOS Settings

  • f2 is for booting into BIOS
  • f12 is for boot override
  • Any version of the BIOS is good, but I'm on version 1.26
  • Restore Defaults
  • Disable Secure boot
  • Matebook's BIOS is rewrite protected, EFI tool is useless against this BIOS.

Installing with a macOS Device

Installing Without a macOS Device

If you are having trouble with this method, here is a more detailed guide.

If you don't have a machine running MacOS, you can easily create your bootable USB following these steps:

  1. Download gibMacOS Scripts
  2. Run gibMacOS.bat
  3. Run MakeInstall.bat
  4. Open BOOT USB drive. Open EFI folder. Delete BOOT and CLOVER folders. Copy over the BOOT and CLOVER folders from Repo's USB-EFI folder.

You can copy over any WiFi dongle drivers or tools you may need onto your USB for post installation

  1. Boot from USB and select "Boot macOS install from OS X Base System"
  2. System will reboot choose option "Boot macOS from <your_drive_name>"

If stuck in a boot loop add -disablegfxfirmware to Clover Option Boot Args

Post Installation

Please run this code in terminal:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/gnodipac886/MatebookXPro-hackintosh/master/onekey_installer.sh)"

You should now be at your desktop.

Download

Mount EFI partition if not mounted already

Clone the repository via terminal or download it and swap the CLOVER folder downloaded for the one in your EFI directory.

Note if you have the i5 version, or any other configurations of the laptop sold exclusively in China, you should:

  • For i5 models: you have to make a custom CPUFriendProvider for Power Management by following this guide:

Dual Booting Fix

After Windows updates, Clover EFI might be ignored making your system boot straight to Windows. This is usually caused by a Windows update affecting EFI files. Here's how to fix it:

  1. Grab the gibMacOS Scripts
  2. Run MakeInstall.bat
  3. Choose to install clover only in the script - for example, if your drive number is 1 then enter 1C for the MakeInstall.bat script and press enter
  4. Boot from your USB that you installed Clover to and go to MacOS
  5. Mount your boot disk EFI partition using Clover Configurator
  6. In EFI/Microsoft or EFI/Windows rename the boot EFIs (boot.efi and bootmgfw.efi) to <original_name>-orig.efi.

That's it! Dual boot should be fixed.

Activate Surround Sound via MIDI

  1. Open Audio MIDI Setup from applications
  2. Click on the "+" symbol on the bottom left corner
  3. Click "Create Muti-Output Device"
  4. Check both of the Built-in Output options
  5. Select the newly created device in the menu bar
  6. Enjoy your music!

(Note, there is no volume control for multi-channel devices in macOS, so in order to change the volume, you'd have to change the individual volume on each output, or get dedicated software)

Bluetooth Fix (Deprecated)

Before any of this, make sure you have bluetooth avaliable in the menu, even if it says no hardware detected

  1. Download: VMware, and Tinycorelinux Core.iso
  2. Boot the iso file with VMware
  3. Run the following command in terminal:
$ tce-load -wil bluez usbutils firmware-intel  
  1. From the Core's Bluetooth settings, uncheck "Share Bluetooth devices with Linux"
  2. Now, you should see Intel Bluetooth in the list of devices above
  3. Check the Intel Bluetooth box and wait for about 4-5 seconds, during this time, the check may flicker, this is ok
  4. Then uncheck the box, and you should see bluetooth is now avaliable to macOS.

Instead of shutting down the VM, pause it and quit VMware. This saves you trouble of having to re-type the command each time, just repeat steps 4 - 7.

Updates

6/1/2020: Minor adjustments

  • Main update: Intel-WiFi is now supported, due to the limited support of this repo, please follow the steps below:
    1. In order to setup WiFi, please run my wifiLaunch.command script, this saves your password into the kext
    2. After the initial setup, you can just run loadWiFi.sh script
    3. Whenever you want to connect to a different WiFi, please run wifiLaunch.command again

    I am able to get 70+ mbps on my 100 mbps plan

  • For more information about this update, please check out profzei's repo, even though his repo is based off of mine, he has done tremendous amounts of work on his own to cover for the time that I've been absent. He's done lots of backend work to make this laptop run smoother. Please drop him a star on his repo if you have the chance!
  • I've been working OC support, will come back soon! But first, I've got a summer internship :) wish me luck!

1/1/2020: Update of the Decade

(I've worked really really hard on this one, so please feel free to help a broke student out here)

  • Fixed battery draining during sleep cause by bluetooth chip
  • Fixed battery draining issue by adding a custom SSDT-DDGPU to turn off the MX150 (10+ hour usage according to Coconut Battery)
  • Added SSDT-DRP11 in order to turn off the currently unsupported Intel Wifi card (there's a substantial effort in developing an Intel Wifi card)
  • Added IntelBluetoothFirmware.kext link
    1. Enables bluetooth firmware loading on cold boot
    2. Allows bluetooth on/off in menu bar and settings
  • Redid the ALC265 codec support on the MXP
    1. Added support for multi channels in order to use 4/4 speakers on the Matebook X Pro. (Tutorial link)
    2. Added support for headset mic line in, (please select that in settings if you would like to headset mic)
    3. Fixed volume mute button
  • Fixed USB properties
  • Added USB installation EFI files (Please rename to EFI after you copy it to the root directory of your EFI partition on your USB)

11/1/2019: 10.15 Catalina

  • Updated Kexts for Catalina support
  • Updated clover version for Catalina support
  • Adjusted brightness control method for Catalina support

7/1/2019: Pretty Small Update

  • Trackpad drivers updated
  • NoTouchID updated
  • You can now load bluetooth firmware in macOS without booting into windows. Source (Before any of this, make sure you have bluetooth avaliable in the menu, even if it says no hardware detected)
    1. Download: VMware, and Tinycorelinux Core.iso
    2. Boot the iso file with VMware
    3. Run the following command in terminal:
     tce-load -wil bluez usbutils firmware-intel
    
    
    1. From the Core's Bluetooth settings, uncheck "Share Bluetooth devices with Linux"
    2. Now, you should see Intel Bluetooth in the list of devices above
    3. Check the Intel Bluetooth box and wait for about 4-5 seconds, during this time, the check may flicker, this is ok
    4. Then uncheck the box, and you should see bluetooth is now avaliable to macOS.
  • Still working on optimizing battery, you may try patching DSDT with the common DSDT patches mentioned here to get a better idea.

6/1/2019: Pretty big update

  • New Autoinstaller that just installs everything for you in jsut one click (EFI partition NEEDS to be disk0s1)
  • We now use SSDT hotpatch for everything (no DSDT patching needed, plug and play)
  • iMessage, Facetime, and Siri now work again (you do need to inject system definition: follow this tutorial)
  • Now supports up to two 4k@60hz monitors
  • New platform ID for better support (4k monitors etc. (ID: 0x591C0005))
  • Disable hibernation mode in script
  • You can now turn Bluetooth on and off (Credit carson_zsy)
  • New USB installation CLOVER folder for USB install
  • You can directly update to 14.5 now with out any plist swap
  • Update clover version
  • Updated Lilu
  • Updated VituralSMC
  • Updated Whatevergreen
  • Updated AppleALC

5/1/2019: Most Important Update Yet

  • Native brightness is now working
  • macOS is able to automatically adjust the brightness accroding to the ambient light sensor
  • Native Sleep is now working, not more glitchy screen after computer comes out from sleep, fixed by injecting custom EDID values
  • Native graphics: we are now using KBL graphics, we had to change the maximum link rate to HBR in order for the screen to work
  • Better audio: speakers are now louder, you can always just use voodooHDA but you will lose headphone detection
  • WhatEverGreen updated to version 1.2.8
  • VoodooI2C kext updated
  • Note* you still need to patch your DSDT for trackpad to work, and brightness keys to work.

4/11/2019: New LiteOn Patch

  • If you have problems updating to 10.14.4 (seeing a prohibited sign), its likely that the problem is caused by your liteon drive, please replace the following patch in your config.plist before you update.
      <dict>
        <key>Comment</key>
        <string>IONVMeFamily: Ignore FLBAS bit:4 being set - for Plextor/LiteOn/Hynix</string>
        <key>Disabled</key>
        <false/>
        <key>Name</key>
        <string>IONVMeFamily</string>
        <key>Find</key>
        <data>SBr2wRAPhQ==</data>
        <key>Replace</key>
        <data>SBr2wQAPhQ==</data>
      </dict>

4/2/2019: Config for Updating/Installing

  • Added New config-install/update.plist in CLOVER folder for installing purposes. You may choose this config in the boot screen of Clover: options - configs - config-install/update.plist

4/1/2019: 10.14.4 & New Power Management Kexts

  • New CPUFriend and CPUFriendProvider kexts for better battery life. (~9 hrs)
  • Run the following code if you would like to make a custom version of the power management kexts to your liking, then install the kexts located at your desktop to Clover. Source
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/daliansky/XiaoMi-Pro/master/one-key-cpufriend/one-key-cpufriend.sh)"

  • Undervolt the CPU/GPU/Cache via a shell: Place the new "voltageshift" file into your downloads folder and run the "voltageset.command" script to undervolt, and the "voltageinfo.command" to check your results. Furthermore, you can also set custom values to what you would like to undervolt to based on your hardware (i5 vs i7) by editing the script. Source
  • WhatEverGreen updated to version 1.2.7
  • Lilu updated to version 1.3.5
  • New config.plist in CLOVER comes with 10.14.4 graphics patch in kexttopatch (credit gnodipac886)
  • New 10.14.4 graphics patch
Comment: CFL patch for MateBook X Pro (10.14.4 credit gnodipac886)
Name: AppleIntelCFLGraphicsFramebuffer
Find: <48ff0557 f607008b 96c02500 008a8e95>
Replace: <b8040000 008986bc 25000031 c05dc395>
    <dict>
        <key>Comment</key>
        <string>CFL patch for MateBook X Pro (10.14.4 credit gnodipac886)</string>
        <key>Find</key>
        <data>SP8FV/YHAIuWwCUAAIqOlQ==</data>
        <key>Name</key>
        <string>AppleIntelCFLGraphicsFramebuffer</string>
        <key>Replace</key>
        <data>uAQAAACJhrwlAAAxwF3DlQ==</data>
        <key>Disabled</key>
        <false/>
    </dict>

2/1/2019 : 10.14.3

  • New Virtural SMC replacing FakeSMC
  • Added support for 4K video output with HDMI audio support
  • Added tools.zip for editing system files such as config.plist or DSDT
  • Support for firevault2 (In theory, never tested)
  • Added vanilla 10.14.3 framebuffer graphics kext, if you have replaced the kext before with a custom version, please swap it out in /System/Library/Extension and then use kextutility in tools.zip to rebuild permissions then reboot with 10.14.3 config.plist.
  • Added "Configs" for past config.plists and plists for KBL or SKL graphics (NEED HELP)
  • Other tweaks to CLOVER folder to support VituralSMC kext.
  • Updated NoTouchID.kext to newest versions for Mojave support which elimates any lags when promted for user password
  • Remember to apply brightness key patches to you DSDT.aml so you can play with them for no reason
  • New config.plist in CLOVER comes with 10.14.3 graphics patch in kexttopatch (credit gnodipac886)
  • Reports of Thunderbolt eGPU was able to work when booted with eGPU plugged in, no hotplug support yet
  • Support for Liteon SSDs confirmed with new config.plist in CLOVER and in Configs folder

1/23/2019 : 10.14.3 Update Graphics

  • New 10.14.3 graphics patch
CFL patch for MateBook X Pro (10.14.3 credit gnodipac886)
Name: AppleIntelCFLGraphicsFramebuffer
Find: <48ff0589 4d07008b 96c02500 008a8e95>
Replace: <b8040000 008986bc 25000031 c05dc395>
			<dict>
				<key>Comment</key>
				<string>CFL patch for MateBook X Pro (10.14.3 credit gnodipac886)</string>
				<key>Find</key>
				<data>SP8FiU0HAIuWwCUAAIqOlQ==</data>
				<key>Name</key>
				<string>AppleIntelCFLGraphicsFramebuffer</string>
				<key>Replace</key>
				<data>uAQAAACJhrwlAAAxwF3DlQ==</data>
				<key>Disabled</key>
				<false/>
			</dict>

1/21/2019

  • New Whatevergreen replaced old custom version
  • Lilu updated
  • New Applealc to support native audio codec
  • Custom version of I2C trackpad kexts for better support
  • Added KBL and SKL config.plists for people who are interested to help out. Main issue: Blackscreen/ internal screen not recognized
  • config.plist minor fixes

Credits:

  • Darren_Pan on reddit
  • midi and Maemo on discord
  • Chinese Matebook X Pro Hackintosh community
  • Spanish Matebook X Pro Hackintosh community
  • All the developers who developed the kexts used in this guide.

Help a broke student out:

QR Codes:

PayPal Venmo. WeChat AliPay
PayPal_160 venmo_160 Wechat_160 支付宝_160

Good Luck!