- Joined
- Apr 5, 2011
- Messages
- 152
- Motherboard
- Gigabyte Designare Z390
- CPU
- i7-9700K
- Graphics
- RX 580
- Mobile Phone
Hackintosh Xiaomi Mi Air 13.3 Skylake-U 2016 for macOS Catalina & Mojave & High Sierra
Hackintosh your XiaoMi Air 13.3 Skylake-U 2016. This is intented to create a fully functional hackintosh for the Xiaomi Mi Notebook Air 13.3'' i5-6200U (Skylake-U 2016).
Important Notes
Please note that this guide will be not possible without all the excellent resources:
1. Known Issues / Work in Progress
If you face another problem please open a issue.
2. Hardware Specifications
6.3 Bluetooth
The card in the laptop is
6.4 Ethernet
6.5 Graphics
kext patches in
ACPI patches in
6.6 Keyboard
kext patches in
6.7 Touchpad
kext patches in
6.8 USB
> 2090801 It seems that HS02 and SS02 is not used. I thought initially that the Type-C used different ports according to how you plug the cable. So they are redundant in the kext. However they do not make any harm so I left them in
* `USBPorts.kext` through HackingTool
6.9 Wi-Fi
The card in the laptop is
7. Changelog
You can view Changelog.md for detailed information.
8. Benchmarking
8.1 Benchmarking Windows 10
8.2 Benchmarking macOS 10.14.2
9. Credits
Hackintosh your XiaoMi Air 13.3 Skylake-U 2016. This is intented to create a fully functional hackintosh for the Xiaomi Mi Notebook Air 13.3'' i5-6200U (Skylake-U 2016).
Important Notes
- This guide is for the **XiaoMi Air 13.3 Skylake-U 2016**. It will probably work on the **XiaoMi Air 13.3 Kaby Lake-R 2018** models with minor modifications.
- All files used and detailed readmes are located in github [sakoula/XiaoMi-Air-6200U](https://github.com/sakoula/XiaoMi-Air-6200U/blob/master/Changelog.md)
- The guide will work for either BIOS A05 or BIOS A06. Bios A09 has NOT been tested
- Following this guide you can run High Sierra 10.13.6 or any version of Mojave 10.14.x up to 10.14.6, or any version of Catalina 10.5.x up to 10.15.3
- macOS has been installed on a different disk on the second M.2 port of the laptop. I have no experience of having both Windows and macOS on a single disk. In order to boot to macOS you use
F12
upon power on and select the boot device. - In order to be able to help you please provide full debug information useing the excellent black-dragon74/OSX-Debug tool.
- Support and Discussion on this guide can be found at tonymacx86
Please note that this guide will be not possible without all the excellent resources:
- [Guide] XiaoMi Mi Notebook Air 13" by JahStories.
- [macOS Catalina & Mojave & High Sierra on XiaoMi NoteBook Pro 2017 & 2018](https://github.com/daliansky/XiaoMi-Pro) by daliansky and stevezhengshiqi
- All the super amazing guides from RehabMan
1. Known Issues / Work in Progress
- After Sleep distorted or know audio from Headphones Port *work in progress using ALCPlugFix*
- No audio output from HDMI port *I am not using it so ignore for now*
- Shutdown is not working as expected. The on/off button's led stays up and the keyboard light is on when touching it. In order to switch off you have to hold the shutdown key for 4 seconds.
- Internal Wifi is not working *see Wi-Fi section for alternatives*
- improve bettery life using a `CPUFriendDataProvider.kext` and `CPUTune.kext`
- When sleeping by closing LID on wake loosing USB
If you face another problem please open a issue.
2. Hardware Specifications
- Skylake-U 2016
- Xiaomi Mi Notebook Air 13.3''
- Bios vers A06
- CPU Intel Core i5-6200U / 2.7GHz max / Dual core, 4 threads / 3MB L3 cache
- GPU: HD Graphics 520
- GPU: Nvidia GeForce 940MX GPU / 1G GDDR5 RAM, frequency 5GHz
- Memory: 8192 MB DDR4 2133 MHz, single-channel, firmly fitted
- Display: 13.3 inch 16:9, 1920 x 1080 pixel 166 PPI, Samsung LTN133HL09-M01, IPS, glossy: yes
- Samsung PM951 NVMe MZVLV256, 256 GB (on first SLOT which is PCie/NVMe)
- Samsung 850 Evo Series, 500GB M.2 SSD (MZ-N5E500BW) (on second SLOT which is SATA) (for macOS)
- WIFI: Intel Dual Band Wireless-AC 2x2 Network / 2.4GHz and 5GHz dual-band WiFi / 802.11ac / 802.11b/g/n / 867Mbps max
- Bluetooth: Bluetooth 4.1 wireless technology
- Connectivity: USB Type-C charging port, 2× USB 3.0, 1× HDMI, 3,5 mm audio jack
3. Upgrade Guide Mojave (10.14.6) to Catalina (10.15.3)
* Step 1: Delete all hackintosh related kexts from `/Library/Extensions`:
Code:sudo su - cd /Library/Extensions rm -rf AppleALC.kext rm -rf CPUFriend.kext rm -rf CPUFriendDataProvider.kext rm -rf CodecCommander.kext rm -rf HibernationFixup.kext rm -rf Lilu.kext rm -rf LiluFriendLite.kext rm -rf NullEthernet.kext rm -rf SATA-unsupported.kext rm -rf SMCBatteryManager.kext rm -rf USBPorts.kext rm -rf VirtualSMC.kext rm -rf VoodooPS2Controller.kext rm -rf WhateverGreen.kext kextcache -i /
* Step 2: mount the hard disk EFI partition and delete everything but your smbios settings from **config.plist**
Code:# somehow mount the EFI e.g. with clover configurator e.g. mounted at /Volumes/EFI cd /Volumes/EFI/EFI/CLOVER cp config.plist ~/config.plist cd /Volumes/EFI/ rm -r EFI*
* Step 3: install clover to the disk
follow `Install Clover on the macOS disk` and `Customize Clover on the macOS disk` from this guide.
Important copy your SMBIOS settings from your `~/config.plist` to the installed `/Volumes/ESP/EFI/CLOVER/config.plist`
* Step 4: upgrade
Do the upgrade from the `System Preferences > Software Update`
Once you get on the 10.15.3 you should not do any further steps.
4. Installation Guide
These are the steps in order to install or upgrade your XiaoMi-Air. There is a very detailed document on the steps followed and the customizations which can be found in DETAILS.md.
There is a another document on how I setup my environment including all the tools and utilities I have used ENVIRONMENT.air.md.
You will need a working macOS installation (no matter the version) to create a USB Flash Drive with macOS.
Start by downloading the latest version the customization files from the releases page. It includes:- `AIR_EFI/`: efi directory including all kexts and customization needed
- `addons/LiluFriendLite.kext`: `LiluFriendLite.kext` used in the installation
- `addons/ApfsDriverLoader.efi`: `ApfsDriverLoader.efi` used in the installation
- `addons/AudioDxe.efi`: `AudioDxe.efi` used in the installation
- `addons/EmuVariableUefi.efi`: `EmuVariableUefi.efi` Emulated NVRAM
- `addons/FwRuntimeServices.efi`: `FwRuntimeServices.efi` required from OcQuirks*
- `addons/HFSPlus.efi`: `HFSPlus.efi` used in the installation
- `addons/OcQuirks.efi`: `OcQuirks.efi` instead of OsxAptio*
- `addons/OcQuirks.plist`: `OcQuirks.plist` instead of OsxAptio*
- `addons/UsbKbDxe.efi`: `UsbKbDxe.efi` used in the installation
- `addons/UsbMouseDxe.efi`: `UsbMouseDxe.efi` used in the installation
- `addons/VirtualSmc.efi`: `VirtualSmc.efi` used in the installation
- `addons/AppleGenericInput.efi`: `AppleGenericInput.efi` FileVault
- `addons/AppleUiSupport.efi`: `AppleUiSupport.efi` FileVault
4.1 Installation SSD
I installed aSamsung 850 Evo Series, 500GB M.2 SSD (MZ-N5E500BW)
specifically for macOS on the second M.2 port. UseF12
to boot from a specific device.
4.2 Disable Secure Boot
HoldF2
to get into the BIOS. In order to disable the secure boot you need to set a supervisor BIOS password. Useroot
as a password. Without exiting disable the secure boot. Then change the supervisor password and do not enter a new one. This will disable it. Exit BIOS saving the options.
You do not have to change anything else from the defaults
4.3 Preparing USB Flash Drive
Get a at least 16GB USB Flash Drive and:
Disk Utility > Select USB Device > Erase
:- GUID Partition Table
- Name: USB
- Format: MacOS Extended (Journaled)
4.4 Install Cataline installer to the USB Flash Drive
Download Cataline from Apple AppStore and run the following command to install it on the USB disk you just Erased.
$ sudo /Applications/Install macOS Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
4.5 InstallClover
to the USB Flash Drive
Go with the stock clover and run `Clover_v2.5k_r5099` installer:
*Continue* > *Continue* > *Change Install Location* > *Install macOS Catalina* > *Customize*
*Clover for UEFI booting only*, *Install Clover in the ESP*
4.6 Customize Clover on the USB Flash Drive
Download the latest release from github and unzip the archive. You will find anAIR_EFI
directory and aaddons
directory. Mount the USB Flash Drive'sEFI
partition on/Volumes/EFI
:- create `EFI/CLOVER/drivers/UEFI` or erase everything in `EFI/CLOVER/drivers/UEFI` if it exists
- copy `AIR_EFI/CLOVER/kexts/Other` from the downloaded file to USB's EFI to `EFI/CLOVER/kexts/Other`
- copy `addons/*.efi` and `addons/*.plist` from the downloaded file to USB's EFI to `EFI/CLOVER/drivers/UEFI/`
- copy `AIR_EFI/CLOVER/ACPI/PATCHED/*` from the downloaded file to USB's EFI to `EFI/CLOVER/ACPI/PATCHED/*`
- copy `AIR_EFI/CLOVER/config.plist` from the downloaded file to USB's EFI to `EFI/CLOVER/config.plist`
4.7 Install Catalina
To boot from the USB Flash Drive you can just hitF12
and you will get the UEFI boot loader
Boot from the USB and install Catalina on the hard disk.
If your Xiaomi-Air already runs High Sierra 10.14.6 you can upgrade directly to Catalina using the installer from the AppleStore (no need of a USB Flash Drive).
Important: During installation you will ask to reboot the machine. While on clover make sure to boot fromBoot macOS install from *** disk
disk. If you do not see this disk hitF3
to show all the hidden disks. You may need to reboot multiple times.
4.8 InstallClover
on the macOS disk
Once the installation is over you will need to installClover
bootloader on the hard disk that you have installed macOS in order to be able to boot without the USB Flash Drive.
Run again theClover_v2.5k_r5099
installer:
*Continue* > *Continue* > *Change Install Location* > *macOS location* > *Customize*
*Clover for UEFI booting only*, *Install Clover in the ESP*
*Install RC scripts on target volume*
*Install Clover Preference Pane*
4.9 Customize Clover on the macOS disk
Download the latest release from github and unzip the archive. You will find anAIR_EFI
directory and aaddons
directory.
> **Important**: Before installing clover on disk make sure that you do `sudo mount -uw /` from the terminal. And ignore any message from clover saying that it is incompatible with your operating system
Mount the EFI partition of the macOS boot parition on/Volumes/EFI
:- create `EFI/CLOVER/drivers/UEFI` or erase everything in `EFI/CLOVER/drivers/UEFI` if it exists
- copy `AIR_EFI/CLOVER/kexts/Other` from the downloaded file to USB's EFI to `EFI/CLOVER/kexts/Other`
- copy `addons/*.efi` and `addons/*.plist` from the downloaded file to USB's EFI to `EFI/CLOVER/drivers/UEFI/`
- copy `AIR_EFI/CLOVER/ACPI/PATCHED/*` from the downloaded file to USB's EFI to `EFI/CLOVER/ACPI/PATCHED/*`
- copy `AIR_EFI/CLOVER/config.plist` from the downloaded file to USB's EFI to `EFI/CLOVER/config.plist`
4.10 Move kexts to/Library/Extensions
February 2020 Starting with Catalina I do not do this step!
The right way to load kexts is not by injecting them through clover but installing them in/Library/Extensions
and building them into the kernel cache.
Download the latest release from github and unzip the archive. You will find anAIR_EFI
directory and aaddons
directory.
Mount the EFI partition of the macOS boot parition on/Volumes/EFI
:- move
EFI/CLOVER/kexts/Other/*
from macOS boot parition to/Library/Extensions/*
- run from the console
$ sudo chown -R root:wheel /Library/Extensions/*
- run from the console
$ sudo chmod -r 755 /Library/Extensions/*
- run from the console
$ sudo kextcache -i /
to rebuild the caches - move
addons/LiluFriendLite.kext
from the downloaded file to/Library/Extensions/LiluFriendLite.kext
- run from the console
$ sudo chown -R root:wheel /Library/Extensions/*
- run from the console
$ sudo chmod -r 755 /Library/Extensions/*
- run from the console
$ sudo kextcache -i /
to rebuild the caches
kextcache
needs to be run twice
4.11 Create a USB Flash Drive just withClover
for emergencies
Get a small (2GB will work just fine) USB Flash Drive and:
Disk Utility > Select USB Device > Erase
:- GUID Partition Table
- Name: CLOVER
- Format: MS-DOS-FAT
Clover_v2.5k_r5099
installer:
*Continue* > *Continue* > *Change Install Location* > *USB Flash Drive* > *Customize*
*Clover for UEFI booting only*, *Install Clover in the ESP*
Download the latest release from github and unzip the archive. You will find anAIR_EFI
directory and aaddons
directory. Mount the USB Flash Drive'sEFI
partition on/Volumes/EFI
:
- create `EFI/CLOVER/drivers/UEFI` or erase everything in `EFI/CLOVER/drivers/UEFI` if it exists
- copy `AIR_EFI/CLOVER/kexts/Other` from the downloaded file to USB's EFI to `EFI/CLOVER/kexts/Other`
- copy `addons/*.efi` and `addons/*.plist` from the downloaded file to USB's EFI to `EFI/CLOVER/drivers/UEFI/`
- copy `AIR_EFI/CLOVER/ACPI/PATCHED/*` from the downloaded file to USB's EFI to `EFI/CLOVER/ACPI/PATCHED/*`
- copy `AIR_EFI/CLOVER/config.plist` from the downloaded file to USB's EFI to `EFI/CLOVER/config.plist`
- edit `config.plist` change the `SystemParameters`:
XML:<dict> <key>InjectKexts</key> <string>Detect</string> <key>InjectSystemID</key> <true/> </dict>
5. Postinstallation Steps
5.1 Enable HiDPI resolutions
I am using the computer using the *1600x900* resolution that fits my eyes best.
You can enable HiDPI resolutions using the amazing script [one-key-hidpi](https://github.com/xzhih/one-key-hidpi). However since native max resolution of the LCD is *1920x1080* it **does not make any sense**. HiDPI will look huge on screen and the *1920x1080* HiDPI will not seem any different and will make the computer slower. *1920x1080* HiDPI will create a *3840x2160* virtual screen that will map it to a *1920x1080* display, so it does not help much.
If you still want to use HiDPI get the avibrazil/RDM [avibrazil/RDM](https://github.com/avibrazil/RDM) tool if you cannot see all the available resolutions.
5.2 Install ALCPlugFix
Install ALCPlugFix is work in progress to solve the wake up with headphones problem
5.3 create a valid SMBIOS
create a valid SMBIOS. Follow the guide An iDiot's Guide To iMessage
6. Patching Information
Patching has been done using clover and hotpatching ACPI. All the required files exist in theAIR_EFI
directory:-
CLOVER/config.plist
clover configuration file -
CLOVER/ACPI/origin
BIOS A06 ACPI aml files (from CLOVER with F4) -
CLOVER/ACPI/patched
ACPI hotpaches -
CLOVER/kexts/Other
kexts required
The SMBIOS used isMacBookPro13,1
6.1 CPU- The model is
i5-6200U
, and XCPM power management is native supported. - HWP is supported as well through a custom
CPUFriendDataProvider.kext
work in progress
kext patches in/CLOVER/kexts/Other
applied:- `Lilu.kext` Arbitrary kext and process patching on macOS
- `HibernationFixup.kext` Lilu plugin intended to fix hibernation compatibility issues
- `NullEthernet.kext` Null Ethernet Network Driver by RehabMan
- `CPUFriend.kext` Dynamic macOS CPU power management data injection
- `CPUFriendDataProvider.kext` custom CPU power management provider for i5-6200U
- ~~`ACPIBatteryManager.kext` Advanced Configuration and Power Interface (ACPI) based battery manager kernel extension~~ updated 20190801 [VirtualSMC+SMCBatteryManager is recommended](https://github.com/daliansky/XiaoMi-Pro-Hackintosh/pull/204)
- `VirtualSMC.kext` SMC emulator layer
- `SMCBatteryManager.kext` SMC emulator layer use this instead of ACPIBatteryManager.kext
- `SMCProcessor.kext` Virtual SMC plugin
- `SMCSuperIO.kext` Virtual SMC plugin
- `SATA-unsupported.kext` SATA unsupported
ACPI patches in/CLOVER/ACPI/patched
applied:- `SSDT-DMAC.aml` Add missing DMAC Device to enhace performance like a real Mac
- `SSDT-HPET.aml` Disable HPET device by passing value 0 to HPTE to to behave more like a real Mac
- `SSDT-MEM2.aml` Add missing MEM2 Device to enhace performance like a real Mac
- `SSDT-PMCR.aml` Add missing PMCR Device to enhace performance like a real Mac
- `SSDT-GPRW.aml` For solving instant wake by hooking GPRW
- ~~`SSDT-PNLF.aml` Adding PNLF device for BackLight related~~ updated 20190801 Remove SSDT-PNLF and replace with AddPNLF argument as suggested in [WhateverGreen FAQ](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md#adjusting-the-brightness-on-a-laptop)
- `SSDT-RMCF.aml` Configuration data for other SSDTs(SSDT-GPRW and SSDT-PTSWAK)
- `SSDT-LPC.aml` To fix unsupported 8-series LPC devices (0x9d48).
- `SSDT-PTSWAK.aml` fixing sleep _PTS and _WAK
- `SSDT-SMBUS.aml` add BUS0 device
- `SSDT-PXSX.aml` Cosmetic Strings for Xiaomi Mi Notebook Air 13.3
- `SSDT-XOSI.aml` Override for host defined _OSI to handle "Darwin"
6.2 Audio- Sound card is
Realtek ALC255
which is drived byAppleALC
on layout-id 30 or 99. I have noticed that on layout-id 30 internal microphone and heaphones microphone is too low so I switched back to layout-id 99.
kext patches in/CLOVER/kexts/Other
applied: -
AppleALC.kext
Native macOS HD audio for not officially supported codecs -
CodecCommander.kext
For waking up EAPD amp after sleep on OS X hackintosh
config.plist
patch applied:- Patch
Devices > PciRoot(0x0)/Pci(0x1f,0x3)
6.3 Bluetooth
The card in the laptop is
Intel® Dual Band Wireless-AC 8260
- Bluetooth works if using a VM to inject the FW or use injectors
- `IntelBluetoothFirmware.kext`
- `IntelBluetoothInjector.kext`
6.4 Ethernet
- Xiaomi-Air does not have an Ethernet. A USB one can be used and supported natively such as the
TP-LINK UE300
6.5 Graphics
- Discrete card is
Nvidia GeForce 940MX
, disabled bySSDT-DDGPU.aml
because macOS doesn't support Optimus technology. - Supported card is
Intel HD Graphics 520
supported with edits inconfig.plist
kext patches in
/CLOVER/kexts/Other
applied:-
WhateverGreen.kext
Various patches necessary for certain ATI/AMD/Intel/Nvidia GPUs
ACPI patches in
/CLOVER/ACPI/patched
applied:-
SSDT-BCKS.aml
Native brightness hotkey support
config.plist
patch applied:- Patch
Devices > PciRoot(0x0)/Pci(0x2,0x0)
6.6 Keyboard
kext patches in
/CLOVER/kexts/Other
applied:-
VoodooPS2Controller.kext
RehabMan and now Acidanthera work on keyboard -
VoodooInput.kext
VoodooPS2Controller is now two kexts
6.7 Touchpad
kext patches in
/CLOVER/kexts/Other
applied:-
VoodooPS2Controller.kext
RehabMan and now Acidanthera work on keyboard -
VoodooInput.kext
VoodooPS2Controller is now two kexts
6.8 USB
- USB Port Patching uses Intel FB-Patcher, related file is located in
/CLOVER/kexts/Other/USBPorts.kext
. This patch includes power injection as well (remove `SSDT-USBX.aml`)
/CLOVER/kexts/Other
applied:-
USBPorts.kext
through HackingTool
> 2090801 It seems that HS02 and SS02 is not used. I thought initially that the Type-C used different ports according to how you plug the cable. So they are redundant in the kext. However they do not make any harm so I left them in
* `USBPorts.kext` through HackingTool
6.9 Wi-Fi
The card in the laptop is
Intel® Dual Band Wireless-AC 8260
- Wifi is not working. Get a USB card such as
TP-LINK TL-WN725N v3
and download drivers from the TP-LINK site orArcher T3U
and download drivers from the TP-LINK site
7. Changelog
You can view Changelog.md for detailed information.
8. Benchmarking
8.1 Benchmarking Windows 10
-
GeekBench x64 4.0.3 CPU
2550/5551 -
CINEBENCH R15.038_RC184115 OpenGL
56.92fps (NVIDIA) -
CINEBENCH R15.038_RC184115 OpenGL
36.45fps (Intel) -
CINEBENCH R15.038_RC184115 CPU
295cb -
LuxMark-v3.1 OpenCL GPU
3710 (Intel + NVIDIA) -
LuxMark-v3.1 OpenCL GPU
1427 (Intel) -
LuxMark-v3.1 OpenCL GPU
2354 (NVIDIA) -
LuxMark-v3.1 OpenCL CPU
860 -
Heaven FPS
20.3Score
512Min FPS
7.8Max FPS
40.4 (NVIDIA) -
Heaven FPS
9.1Score
230Min FPS
5.5Max FPS
20.1 (Intel)
8.2 Benchmarking macOS 10.14.2
-
GeekBench x64 4.3.2 CPU
3470/6695 -
GeekBench x64 4.3.2 GPU/OpenCl
16465 -
GeekBench x64 4.3.2 GPU/Metal
16748 -
CINEBENCH R15.038_RC184115 OpenGL
22.92fps -
CINEBENCH R15.038_RC184115 CPU
293cb -
LuxMark-v3.1 OpenCL GPU
1381 -
LuxMark-v3.1 OpenCL CPU
776 -
Heaven FPS
13.8Score
349Min FPS
6.2Max FPS
25.3 -
AJA System Test Lite (with trim) Samsung SSD 850 EVO M.2 500GB:
469MB/sec write, 489MB/sec read
9. Credits
- Thanks to JahStories, Jolly, gengik84 that provided the original post that made this guide feasible.
- Thanks to stevezhengshiqi and daliansky for the amazing guide of Xiaomi-Pro that also made this guide feasible.
- Thanks to Piker-Alpha
- Thanks to vit9696/Acidanthera for providing AppleALC, CPUFriend, HibernationFixup, Lilu,
USBPorts
, VirtualSMC, and WhateverGreen. - Thanks to alexandred and hieplpvip for providing VoodooI2C.
- Thanks to apianti, blackosx, blusseau, dmazar, and slice2009 for providing Clover.
- Thanks to RehabMan for providing EAPD-Codec-Commander, OS-X-Clover-Laptop-Config, OS-X-Null-Ethernet, OS-X-ACPI-Battery-Driver, OS-X-Voodoo-PS2-Controller, and SATA-unsupported and all the amazing help in the forums.
Last edited: