ランキングに戻る

daliansky/XiaoMi-Pro-Hackintosh

ASL

XiaoMi NoteBook Pro Hackintosh

macoshackintoshxiaomi
スター成長
スター
2.7k
フォーク
473
週間成長
Issue
121
1k2k
2017年10月2020年9月2023年8月2026年7月
README

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

  • Audio will not work starts from macOS26.0 beta 2 (25A5295e) due to dropped AppleHDA
  • 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
    • IO80211 Version DO NOT support macOS Sequoia and above, please use itlwm + HeliPort instead.
    • macOS 11-14 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 OpenIntelWireless/itlwm's 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 ~ macOS15
    • v1.5.9 is the last EFI version that supports macOS High Sierra & Mojave
  • TM1905 & TM1963: Supports macOS10.15 ~ macOS15

  • 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 ~ macOS26
    • v1.5.9 is the last EFI version that supports macOS High Sierra & Mojave
  • TM1905 & TM1963: Supports macOS10.15 ~ macOS26

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:

関連リポジトリ
flutter/flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

DartBSD 3-Clause "New" or "Revised" Licensemobileandroid
flutter.dev
177.9k30.7k
jlevy/the-art-of-command-line

Master the command line, in one page

bashunix
161.9k14.8k
rustdesk/rustdesk

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

Rustcrates.ioGNU Affero General Public License v3.0remote-controlremote-desktop
rustdesk.com
118.6k18.1k
nodejs/node

Node.js JavaScript runtime ✨🐢🚀✨

JavaScriptnpmOthernodejsjavascript
nodejs.org
118.4k36.2k
jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

SwiftCreative Commons Zero v1.0 Universalmacossoftware
git.io/macx
108.4k8.2k
alacritty/alacritty

A cross-platform, OpenGL terminal emulator.

Rustcrates.ioApache License 2.0terminal-emulatorsopengl
alacritty.org
65k3.5k
warpdotdev/warp

Warp is an agentic development environment, born out of the terminal.

Rustcrates.ioGNU Affero General Public License v3.0rustlinux
warp.dev
63.5k5.3k
tldr-pages/tldr

Collaborative cheatsheets for console commands 📚.

MarkdownOthershellman-page
tldr.sh
63.2k5.3k
atom/atom

:atom: The hackable text editor

JavaScriptnpmMIT Licenseatomeditor
atom.io
60.8k17.2k
tw93/Pake

🤱🏻 Turn any webpage into a desktop app with one command.

Rustcrates.ioGNU General Public License v3.0rusttauri
60.1k12.2k
tw93/Mole

🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal.

ShellGNU General Public License v3.0cleancleaner
mole.fit
59.5k2.1k
FiloSottile/mkcert

A simple zero-config tool to make locally trusted development certificates with any names you'd like.

GoGo ModulesBSD 3-Clause "New" or "Revised" Licensehttpstls
mkcert.dev
59.4k3.1k