Xiaomi Notebook 14 Hackintosh
Introduction
This repo contains information for getting macOS working on a Xiaomi Notebook 14 Horizon Edition laptop.
This is intended to create a "fully" functional (as far as possible) hackintosh for the Xiaomi Notebook 14.
If you would like to get started with creating a hackintosh on your laptop but have non experience, I would highly recommend 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!
If internet is not working at installation then create offline installer.
For privacy reasons, all SMBIOS information has been wiped out in the configuration file EFI/OC/config.plist
. Generate your own SMBIOS Information
You can follow this guide to install MacOS In your Mi Notebook 14 YouTude Guide For Installing
This repository is for personal/educational purposes
Table of contents
Build
Build the latest beta EFI by running the following command in Terminal:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/uttusharma/Xiaomi-Notebook14-Hackintosh/master/makefile.sh)"
Or run the following command in Terminal:
git clone --depth=1 https://github.com/uttusharma/Xiaomi-Notebook14-Hackintosh
cd Xiaomi-Notebook14-Hackintosh
./makefile.sh
Make sure to run ocvalidate
after build finish. since build script will pull latest opencore version config.plist
must be validated first.
Some advanced usages are:
# Build EFI with kexts and OpenCore in Debug version
./makefile.sh --debug_KextOC
# Ignore errors when the script is running
./makefile.sh --ignore_err
# Preserve work files during the building stage
./makefile.sh --no_clean_up
# Use GitHub API
./makefile.sh --gh_api
# Build the latest beta EFI with pre-release kexts
./makefile.sh --pre_release=Kext
# Build the latest beta EFI with pre-release OpenCore
./makefile.sh --pre_release=OC
System Configuration
Specifications |
Detail |
Computer model |
Xiaomi Notebook 14 Horizon Edition 2020 (MX350/GTX) |
Processor |
Intel Core i3-10110U/ i5-10210U/ i7-10510U |
Memory |
8GB/16GB Samsung DDR4 2400MHz |
Hard Disk |
Samsung NVMe SSD Controller |
Graphics |
Intel UHD Graphics 10th Gen, NVIDIA MX350 |
Monitor |
BOE NV156FHM-N61 FHD 1920x1080 (15.6 inch) |
Sound Card |
Realtek ALC256 |
Wireless Card |
Intel Wireless 9560 |
Touchpad |
I2C ELAN2304 |
Current Status
Components\OS |
BigSur |
Monterey 12.04.0 |
Touchpad/Gestures |
✅ |
✅ |
Keyboard |
✅ |
✅ |
Audio |
🟢 |
🟢 |
Microphone |
🟢 |
🟢 |
Wifi |
✅ |
✅ |
Bluetooth |
✅ |
✅ |
Sleep/Wake |
🟨 |
🟢 |
Power Management |
✅ |
✅ |
Graphic Acc. |
✅ |
✅ |
Backlight |
✅ |
✅ |
Brightness Key |
✅ |
✅ |
Hibernation |
🤷♂️ |
🟨 |
✅ : Working out of the box
🟢 : Some additional steps required to make it work
🟡 : Working but not perfectly i.e buggy currently
❌ : Not working currently
🤷♂️ : Haven't tested properly yet
What's not working: incompatible Hardware
- [ ] **Discrete graphics card** (NVIDIA GeForce MX150) is not working, since macOS doesn't support Optimus technology
- Have used `SSDT-DDGPU.aml` to disable it in order to save power.
- [ ] **Fingerprint sensor** is not working
- Fingerprint readers on Macbooks are managed by T2 chip which has not been very throughly reverse engineered yet
- Have used `SSDT-XHC.aml` to disable it (in order to save some power).
Generate your own SMBIOS Information
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
.
- With every EFI update you retrieve from release page, please, remember to transfer your Device details under
PlatformInfo -> Generic
in your config.plist
.
Improvements/Post-Install
Enable Tap (with one finger) for Touchpad
Starting from [VoodooI2C v. 2.4.1](https://github.com/VoodooI2C/VoodooI2C/releases), 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:
![image](images/touchpad.png)
Enable Apple Services
Default **SMBIOS** settings of this repo is `MacBookPro16,3` ~~`MacBookPro14,1`~~ ~~`MacBookPro15,2`~~
1. Launch `Terminal` app
2. Copy the following script, paste it into the `Terminal` window, then press `Enter`
```bash
git clone https://github.com/corpnewt/GenSMBIOS && cd GenSMBIOS && ./GenSMBIOS.command
```
3. Type `2`, then press `Enter`
4. Drag your `config.plist` inside the `Terminal` window
5. Type `3`, then press `Enter`
6. Type `MacBookPro16,3`, then press `Enter`
Microphone Fix
Download [Combojack.](https://github.com/hackintosh-stuff/ComboJack)
- Follow given documentation to install combojack.
- Go to system Preferences > Sound > Input and choose Line In as input device.
- Insert headphone, combojack pop-up will appear, select headset from the list.
- If you still face any issue disable ambient noice cancellation.
- you are good to go.
MacOS HiDPI
⚠️ Warning one-key-hidpi is known to cause [Screen underscaled after sleep](https://github.com/xzhih/one-key-hidpi/issues/33), [HiDPI lag](https://github.com/xzhih/one-key-hidpi/issues/194).
MacOS HiDPI [One-Key-HiDPI REPO](https://github.com/xzhih/one-key-hidpi)
For Dual Boot
Note: After resetting NVRAM, you need to do the steps from 4 to 6.
1. Make sure that `Microsoft` is in the same folder as `BOOT` and `OC`
2. Boot to Windows from BOOT MENU
3. Download [EasyUEFI](https://www.easyuefi.com/index-us.html)
4. Open EasyUEFI and click `Manage EFI Boot Options`
5. Click the `Create a new entry` icon (second icon from the center column)
6. Do the following:
1. Select the Type: `Linux or other OS` and write as description: `OpenCore`
2. Select `EFI` as target partition
3. Click `browse` and locate the `OpenCore.efi` file and click `OK`
4. Click `OK` again to add the entry
5. Once the entry is added, click on OpenCore and start clicking the `arrow up` button (first button from the center column) until OpenCore appears on the top of the table.
7. After doing this restart your laptop and you will see opencore booting as priority option.
8. Boot to Big Sur
9. Download [OpenCore Configurator](https://mackie100projects.altervista.org/download-opencore-configurator) (OCC)
10. Open your Config.plist with OCC
11. Go to Misc and click Entries tab
12. Click `+` button on the right bottom. A new entry will be created and you will see a browse button
13. Click the browse button and for windows users, go to your EFI folder and locate `bootmgfw.efi` (\EFI\Microsoft\Boot\bootmgfw.efi) and click open
14. Change the entry name from `bootmgfw` to `Windows`
FAQ
My touchpad isn't working after update.
You need to rebuild the kext cache after every system update. Use Kext Utility.app
or type sudo kextcache -i /
in Terminal.app
. Then restart. If this still doesn't work, try to press F9.
I can't click to drag files using the trackpad
Starts from VoodooI2C v2.4.1, the click down action is emulated to force touch, which causes the failure of click down and drag gestures. You can turn off Force Click
in SysPref - Trackpad
or choose three finger drag
in SysPref - Accessibility - Mouse & Trackpad - Trackpad Options
.
My screen turns to black and has no response during the updating process
If you have black screen for five minutes and get no response from the device, please force restart your laptop(Long press power button) and choose Boot macOS Install from ~
entry.- [Xiaomi Notebook 14 Hackintosh]
Changelog
You can view Changelog for detailed information.
Credits
- Special Thanks to daliansky for providing XiaoMi-Pro-Hackintosh.
- Thanks to profzei.
- Thanks to itsabhishekolkha.
- Thanks to Acidanthera for providing AppleALC, AppleSupportPkg, HibernationFixup, Lilu, NVMeFix, OcBinaryData, OpenCorePkg, VirtualSMC, VoodooInput, VoodooPS2, and WhateverGreen.
- Thanks to apianti, blackosx, blusseau, dmazar, and slice2009 for providing Clover.
- Thanks to daliansky for providing OC-little.
- Thanks to hieplpvip and syscl for providing sample of DSDT patches.
- Thanks to OpenIntelWireless for providing IntelBluetoothFirmware.
- Thanks to RehabMan for providing EAPD-Codec-Commander, EFICheckDisabler, OS-X-Clover-Laptop-Config, OS-X-Null-Ethernet, and SATA-unsupported.
- Thanks to VoodooI2C for providing VoodooI2C.
- Thanks to One-Key-HiDPI