Skip to content

daliansky/XiaoMi-Pro-Hackintosh

Repository files navigation

Build Status Release Wiki Chat

English | 中文

Contents

Configuration

TM1701 & TM1707

Specifications Detail
Computer model Xiaomi NoteBook Pro 15.6'' (MX150/GTX)
Processor Intel Core i5-8250U / i7-8550U Processor
Memory 8GB/16GB Samsung DDR4 2400MHz
Hard Disk Samsung NVMe SSD Controller PM961 / PM981
Integrated Graphics Intel UHD Graphics 620
Monitor BOE NV156FHM-N61 FHD 1920x1080 (15.6 inch)
Sound Card Realtek ALC298 (layout-id: 30/99)
Wireless Card Intel Wireless-AC 8265
Trackpad ETD2303
SD Card Reader Realtek RTS5129 / RTS5250S

TM1905 & TM1963

Specifications Detail
Computer model Xiaomi NoteBook Pro 15.6'' (MX250/MX350)
Processor Intel Core i5-10210U / i7-10510U Processor
Memory 8GB/16GB Samsung DDR4 2666MHz
Hard Disk Intel SSD 660P Series
Integrated Graphics Intel UHD Graphics 620
Monitor LQ156M1JW01 SHP14C3 1920x1080 344x194mm 15.5-inch
Sound Card Realtek ALC256 (layout-id: 69/99)
Wireless Card Intel Wireless-AC 9462
Trackpad ELAN2303
SD Card Reader Realtek RTS5129

Current Status

  • Hibernation may trigger serious boot problems on CML machines, view #661 and #694
    • Users should run sudo pmset -a hibernatemode 0 to disable hibernate mode, also see README_CML
  • HDMI may not work when you first-time plug it in
    • You have to re-plug it, or close the lid for about five seconds and reopen the lid
  • Ethernet may not work on macOS10.15+, view #256
  • On macOS10.15+, you need to update Wireless-USB-Adapter Driver
    • If you are not using macOS10.15+, it's still recommended to update the driver above
  • Discrete graphic card is not working, since macOS doesn't support Optimus technology
    • Have used SSDT-DDGPU to disable it in order to save power
  • Fingerprint sensor is not working
    • Have used SSDT-USB to disable it in order to save power
  • Intel Bluetooth does not support some Bluetooth devices
  • Intel Wi-Fi works with low performance
    • macOS Big Sur or higher is recommended; macOS version < 11 needs to rebuild kextcache and restart if Intel Wi-Fi does not work
    • Buy a USB Wi-Fi dongle or supported wireless card
    • Read Frequently Asked Questions for more information
  • Realtek USB SD Card Reader works with some setups
  • Everything else works well

Clover

  • TM1701 & TM1707: Supports macOS10.15 ~ macOS14
    • v1.5.9 is the last EFI version that supports macOS High Sierra & Mojave
  • TM1905 & TM1963: Supports macOS10.15 ~ macOS14

  • Should Clean NVRAM after using OpenCore
    • Press Space in OpenCore boot page, and then select Reset NVRAM entry
    • Then reboot and use Clover
  • r5127 do not support Intel Wi-Fi on macOS version < Big Sur due to incomplete ForceKextsToLoad functionality (Only v1.4.7 supports Intel Wi-Fi on old macOS versions, or you can add IO80211Family.kext to the kext folder)

OpenCore

  • TM1701 & TM1707: Supports macOS10.15 ~ macOS15
    • v1.5.9 is the last EFI version that supports macOS High Sierra & Mojave
  • TM1905 & TM1963: Supports macOS10.15 ~ macOS15

Installation

Identify Your Model

If you are using XiaoMi-Pro with 8th Gen CPU, then it's a KBL (Kaby Lake) machine. (Actually Kaby Lake Refresh)
If you are using XiaoMi-Pro with 10th Gen CPU, then it's a CML (Comet Lake) machine.
You will need this information when you download the EFI release.

First-time installation

donot_clone_or_download

get_release

Build

Build the latest beta EFI by running the following command in Terminal:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/daliansky/XiaoMi-Pro-Hackintosh/main/makefile.sh)"

Or run the following command in Terminal:

git clone --depth=1 https://github.com/daliansky/XiaoMi-Pro-Hackintosh.git
cd XiaoMi-Pro-Hackintosh
./makefile.sh

Some advanced usages are:

# Build EFI with Clover and OpenCore bootloaders (1. --BL=CLOVER Only Clover 2. --BL=OC Default, only OpenCore 3. --BL=CLOVEROC Both Clover and OpenCore)
./makefile.sh --BL=CLOVEROC
# Build EFI with kexts and OpenCore in Debug version
./makefile.sh --DEBUG_KEXTOC
# Ignore errors when the script is running
./makefile.sh --IGNORE_ERR
# Bundled with Chinese verison Docs (1. --LANG=en_US Default 2. --LANG=zh_CN Docs in Chinese)
./makefile.sh --LANG=zh_CN
# Generate EFI release for both 10th and 8th Gen (1. --MODEL=CML Only 10th Gen 2. --MODEL=KBL Default, only 8th Gen 3. --MODEL=CMLKBL Both 10th and 8th Gen)
./makefile.sh --MODEL=CMLKBL
# 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 and OpenCore (1. --PRE_RELEASE=Kext Pre-release kexts 2. --PRE_RELEASE=OC Pre-release OpenCore 3. --PRE_RELEASE=KextOC Both pre-release kexts and OpenCore)
./makefile.sh --PRE_RELEASE=KextOC

Upgrade

  • If you are using XiaoMi-Pro with 8th Gen CPU, then it's a KBL (Kaby Lake) machine. (Actually Kaby Lake Refresh)
  • If you are using XiaoMi-Pro with 10th Gen CPU, then it's a CML (Comet Lake) machine.

  • Download the latest EFI release from the release page or beta EFI release from artifacts in the action page.
  • Mount EFI partition by running sudo diskutil list first to find your EFI partition identifier and then running sudo diskutil mount diskXsX (X is extracted from your EFI partition identifier)
  • A complete replacement of BOOT and OC(or CLOVER) folders is required. Delete these two folders and copy them from the release pack.

Improvements

  • Use Hackintool to inject EDID (AAPL00,override-no-connect)
  • Change #enable-backlight-smoother to enable-backlight-smoother in config.plist to adjust the panel brightness smoothly
  • Use xzhih's one-key-hidpi to improve quality of system UI
    • Support 1424x802 HiDPI resolution
    • TM1701: On macOS > 10.13.6, to enable higher HiDPI resolution (can not exceed 1520x855), you need to use DVMT_and_0xE2_fix to set DVMT to 64mb
  • Enable AppleVTD by patching OEM DMAR table according to How to Fix DMAR Table on macOS | Memory Mapping; user has to update the patching after every BIOS update
  • Add forceRenderStandby=0 in config - NVRAM - Add - 7CXXX - boot-args (OpenCore) or config - Boot - Arguments (Clover) if NVMe Kernel Panic CSTS=0xffffffff occurs
  • Use NVMeFix to enable APST on NVMe SSDs
  • TM1701 & TM1707: Use ALCPlugFix to fix unworking jack after replug
  • TM1701: Use DVMT_and_0xE2_fix to enable 4K external monitor and more "native" power management
  • TM1905 & TM1963: Change enable-backlight-registers-fix to enable-backlight-registers-alternative-fix if macOS Version = 13.4

FAQ

I can't click to drag or right click 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 and right click gestures. You can turn off Force Click in SysPref - Trackpad, and I recommend enabling 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.

Stuck on Apple logo or fail to boot.

A reset of NVRAM is recommended. For Clover users, press Fn+F11 when you are in Clover boot page.
For OC users, press Space key when you are in OpenCore boot page and choose Reset NVRAM. If this does not work, you can try to set SecureBootModel to Disabled in config.plist.

No OEM update from SysPref.

For OC users, on macOS11+, SecureBootModel has to be Default to get OEM update from SysPref. However, some machines can not boot when SecureBootModel = Default. In this case, go to App Store and search Monterey (or newer macOS).

My device is locked by Find My Mac and can't be booted, what should I do now?

For Clover users, press Fn+F11 when you are in Clover boot page. Then Clover will refresh nvram.plist, and lock message should be removed.
For OC users, press Esc to enter the boot menu during startup. Then, press Space key and choose Reset NVRAM.

[Clover] I opened the FileVault, and I can't find macOS partition in Clover boot page, how can I solve it?

It is not recommended to open FileVault. You can press Fn+F3 in the Clover boot page and choose the icon with FileVault. Then you can boot in the system and close FileVault.

[OC] How to skip the boot menu and automatically boot into the system?

First, in macOS, open SysPref - Startup Disk. Choose the target system.
Then, open /EFI/OC/config.plist, and turn off ShowPicker.
When you want to switch OS, press Esc during startup to call the boot menu.

[OC] How to not make the OpenCore the default bootloader?

Open config.plist and change value of LauncherOption from Full to System.

[OC] How to enable startup chime? (TM1701 & TM1707)

Enable AudioDxe.efi in config.plist - UEFI - Drivers.
Enable AudioSupport in config.plist - UEFI - Audio.
If you are using macOS Big Sur, go to SysPref - Sound and turn on Play sound on startup.
For macOS version < Big Sur, open Terminal.app and run sudo nvram StartupMute=%00.

Please refer to detailed FAQ in wiki FAQ.

Changelog

You can view Changelog for detailed information.

Credits

For more detail, please go to Reference page.

Support and discussion

Mi Notebooks supported by other projects:

tonymacx86.com:

QQ: