uttufy / Xiaomi-Notebook14-Hackintosh

Monterey/BigSur on Xiaomi NoteBook 14. Only for educational purposes. Open for improvements and suggestions
BSD Zero Clause License
27 stars 5 forks source link
catalina hackintosh horizon laptop notebook14 xiaomi

Xiaomi Notebook 14 Hackintosh

Laptop Image

Model Name Model Name Model Name

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.

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