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).
- 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
- The guide will work for either BIOS A05 or BIOS A06
- Following this guide you can run High Sierra 10.13.6 or any version of Mojave 10.14.x up to 10.14.6
- 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.com
Please note that this guide will be not possible without all the excellent resources:
- [Guide] XiaoMi Mi Notebook Air 13" by JahStories
- XiaoMi NoteBook Pro for macOS Mojave & High Sierra & Sierra by daliansky and stevezhengshiqi
- All the super amazing guides from RehabMan
- Known Issues / Work in Progress
- Hardware Specifications
- Installation Guide
- Installation SSD
- Disable Secure Boot
- Preparing USB Flash Drive
- Install mojave installer to the USB Flash Drive
- Install
Clover
to the USB Flash Drive - Customize Clover on the USB Flash Drive
- Install Mojave
- Install
Clover
on the macOS disk - Customize Clover on the macOS disk
- Move kexts to
/Library/Extensions
- Create a USB Flash Drive just with
Clover
for emergencies
- Postinstallation Steps
- Patching Information
- Changelog
- Benchmarking
- Buy me a coffee or a beer
- Credits
- 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.
- Multitouch Gestures work in progress through VoodooI2c
- Internal Wifi is not working see Wi-Fi section for alternatives
- improve bettery life using a
CPUFriendDataProvider.kext
andCPUTune.kext
- When sleeping by closing LID on wake loosing USB
- Bluetooth works if using a VM to inject the FW
If you face another problem please open a issue.
- 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
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 neededaddons/LiluFriendLite.kext
:LiluFriendLite.kext
used in the installationaddons/HFSPlus.efi
:HFSPlus.efi
used in the installationaddons/VirtualSmc.efi
:VirtualSmc.efi
used in the installation
I installed a Samsung 850 Evo Series, 500GB M.2 SSD (MZ-N5E500BW)
specifically for macOS on the second M.2 port. Use F12
to boot from a specific device.
Hold F2
to get into the BIOS. In order to disable the secure boot you need to set a supervisor BIOS password. Use root
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
Get a at least 16GB USB Flash Drive and:
Disk Utility > Select USB Device > Erase
:
- GUID Partition Table
- Name: USB
- Format: MacOS Extended (Journaled)
Download mojave from Apple AppStore and run the following command to install it on the USB disk you just Erased.
$ sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
Go with the stock clover and run Clover_v2.5k_r5018
installer:
Continue > Continue > Change Install Location > Install macOS Mojave > Customize
Clover for UEFI booting only, Install Clover in the ESP, Drivers off
UEFI Drivers / Recommended drivers :
AudioDxe.efi
DataHubDxe.efi
FSInject.efi
UEFI Drivers / FileVault 2 UEFI Drivers :
AppleKeyFeeder.efi
Download the latest release from github and unzip the archive. You will find an AIR_EFI
directory and a addons
directory. Mount the USB Flash Drive's EFI
partition on /Volumes/EFI
:
-
make sure that in
EFI/CLOVER/drivers/UEFI
you have only the following files:AppleKeyFeeder.efi
,AudioDxe.efi
,DataHubDxe.efi
,FSInject.efi
. Erase the rest (Clover installer sometimes installs other dependencies) -
copy
AIR_EFI/CLOVER/kexts/Other
from the downloaded file to USB's EFI toEFI/CLOVER/kexts/Other
-
copy
addons/HFSPlus.efi
,addons/VirtualSmc.efi
,addons/ApfsDriverLoader.efi
,addons/AppleUiSupport.efi
,addons/AptioInputFix.efi
,addons/AptioMemoryFix.efi
from the downloaded file to USB's EFI toEFI/CLOVER/drivers/UEFI/
-
copy
AIR_EFI/CLOVER/ACPI/PATCHED/*
from the downloaded file to USB's EFI toEFI/CLOVER/ACPI/PATCHED/*
-
copy
AIR_EFI/CLOVER/config.plist
from the downloaded file to USB's EFI toEFI/CLOVER/config.plist
To boot from the USB Flash Drive you can just hit F12
and you will get the UEFI boot loader
Boot from the USB and install Mojave on the hard disk.
If your Xiaomi-Air already runs High Sierra 10.13.6 you can upgrade directly to Mojave 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 from
Boot 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.
Once the installation is over you will need to install Clover
bootloader on the hard disk that you have installed macOS in order to be able to boot without the USB Flash Drive.
Run again the Clover_v2.5k_r5018
installer:
Continue > Continue > Change Install Location > macOS location > Customize
Clover for UEFI booting only, Install Clover in the ESP, Drivers off
UEFI Drivers / Recommended drivers :
AudioDxe.efi
DataHubDxe.efi
FSInject.efi
UEFI Drivers / FileVault 2 UEFI Drivers :
AppleKeyFeeder.efi
Install Clover Preference Pane
Download the latest release from github and unzip the archive. You will find an AIR_EFI
directory and a addons
directory.
Mount the EFI partition of the macOS boot parition on /Volumes/EFI
:
-
make sure that in
EFI/CLOVER/drivers/UEFI
you have only the following files:AppleKeyFeeder.efi
,AudioDxe.efi
,DataHubDxe.efi
,FSInject.efi
. Erase the rest (Clover installer sometimes installs other dependencies) -
copy
AIR_EFI/CLOVER/kexts/Other
from the downloaded file to macOS locationEFI/CLOVER/kexts/Other
-
copy
addons/HFSPlus.efi
,addons/VirtualSmc.efi
,addons/ApfsDriverLoader.efi
,addons/AppleUiSupport.efi
,addons/AptioInputFix.efi
,addons/AptioMemoryFix.efi
from the downloaded file to macOS locationEFI/CLOVER/drivers/UEFI/
-
copy
AIR_EFI/CLOVER/ACPI/PATCHED/*
from the downloaded file to macOS locationEFI/CLOVER/ACPI/PATCHED/*
-
copy
AIR_EFI/CLOVER/config.plist
from the downloaded file to macOS locationEFI/CLOVER/config.plist
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 an AIR_EFI
directory and a addons
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
remember that kextcache
needs to be run twice
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
Run the Clover_v2.5k_r5018
installer:
Continue > Continue > Change Install Location > USB Flash Drive > Customize
Clover for UEFI booting only, Install Clover in the ESP, Drivers off
UEFI Drivers / Recommended drivers :
AudioDxe.efi
DataHubDxe.efi
FSInject.efi
UEFI Drivers / FileVault 2 UEFI Drivers :
AppleKeyFeeder.efi
Download the latest release from github and unzip the archive. You will find an AIR_EFI
directory and a addons
directory. Mount the USB Flash Drive's EFI
partition on /Volumes/EFI
:
-
make sure that in
EFI/CLOVER/drivers/UEFI
you have only the following files:AppleKeyFeeder.efi
,AudioDxe.efi
,DataHubDxe.efi
,FSInject.efi
. Erase the rest (Clover installer sometimes installs other dependencies) -
copy
AIR_EFI/CLOVER/kexts/Other
from the downloaded file to USB's EFI toEFI/CLOVER/kexts/Other
-
copy
addons/HFSPlus.efi
,addons/VirtualSmc.efi
,addons/ApfsDriverLoader.efi
,addons/AppleUiSupport.efi
,addons/AptioInputFix.efi
,addons/AptioMemoryFix.efi
from the downloaded file to USB's EFI toEFI/CLOVER/drivers/UEFI/
-
copy
AIR_EFI/CLOVER/ACPI/PATCHED/*
from the downloaded file to USB's EFI toEFI/CLOVER/ACPI/PATCHED/*
-
copy
AIR_EFI/CLOVER/config.plist
from the downloaded file to USB's EFI toEFI/CLOVER/config.plist
-
edit
config.plist
change theSystemParameters
:
<dict>
<key>InjectKexts</key>
<string>Detect</string>
<key>InjectSystemID</key>
<true/>
</dict>
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. 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 tool if you cannot see all the available resolutions.
- Install ALCPlugFix is work in progress to solve the wake up with headphones problem
- create a valid SMBIOS. This is really important and do not forget it. In order to setup your hackintosh machine to use Apple Services, iMessage & FaceTime follow the guide An iDiot's Guide To iMessage
Patching has been done using clover and hotpatching ACPI. All the required files exist in the AIR_EFI
directory:
CLOVER/config.plist
clover configuration fileCLOVER/ACPI/origin
BIOS A06 ACPI aml files (from CLOVER with F4)CLOVER/ACPI/patched
ACPI hotpachesCLOVER/kexts/Other
kexts required
The SMBIOS used is MacBookPro13,1
- 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 macOSHibernationFixup.kext
Lilu plugin intended to fix hibernation compatibility issuesNullEthernet.kext
Null Ethernet Network Driver by RehabManCPUFriend.kext
Dynamic macOS CPU power management data injectionCPUFriendDataProvider.kext
custom CPU power management provider for i5-6200Uupdated 20190801 VirtualSMC+SMCBatteryManager is recommendedACPIBatteryManager.kext
Advanced Configuration and Power Interface (ACPI) based battery manager kernel extensionVirtualSMC.kext
SMC emulator layerSMCBatteryManager.kext
SMC emulator layer use this instead of ACPIBatteryManager.kextSATA-unsupported.kext
SATA unsupported
ACPI patches in /CLOVER/ACPI/patched
applied:
SSDT-DMAC.aml
Add missing DMAC Device to enhace performance like a real MacSSDT-HPET.aml
Disable HPET device by passing value 0 to HPTE to to behave more like a real MacSSDT-MEM2.aml
Add missing MEM2 Device to enhace performance like a real MacSSDT-PMCR.aml
Add missing PMCR Device to enhace performance like a real MacSSDT-GPRW.aml
For solving instant wake by hooking GPRWupdated 20190801 Remove SSDT-PNLF and replace with AddPNLF argument as suggested in WhateverGreen FAQSSDT-PNLF.aml
Adding PNLF device for BackLight relatedSSDT-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 _WAKSSDT-SMBUS.aml
add BUS0 deviceSSDT-PXSX.aml
Cosmetic Strings for Xiaomi Mi Notebook Air 13.3SSDT-XOSI.aml
Override for host defined _OSI to handle "Darwin"
- Sound card is
Realtek ALC255
which is drived byAppleALC
on layout-id30 or99. 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 codecsCodecCommander.kext
For waking up EAPD amp after sleep on OS X hackintosh
config.plist
patch applied:
- Patch
Devices > PciRoot(0x0)/Pci(0x1f,0x3)
The card in the laptop is IntelĀ® Dual Band Wireless-AC 8260
- Bluetooth works if using a VM to inject the FW
- Xiaomi-Air does not have an Ethernet. A USB one can be used and supported natively such as the
TP-LINK UE300
- Discrete card is
Nvidia GeForce 940MX
,disabled bydisabled by disable-external-gpu whatever green configuration because macOS doesn't support Optimus technology.SSDT-DDGPU.aml
- 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)
kext patches in /CLOVER/kexts/Other
applied:
VoodooPS2Controller.kext
RehabMan and now Acidanthera work on keyboard
kext patches in /CLOVER/kexts/Other
applied:
VoodooPS2Controller.kext
RehabMan and now Acidanthera work on keyboard
- USB Port Patching uses HackingTool, related file is located in
/CLOVER/kexts/Other/USBPorts.kext
. This patch includes power injection as well (removeSSDT-USBX.aml
)
kext patches in /CLOVER/kexts/Other
applied:
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
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 or Archer T3U and download drivers from the TP-LINK site
You can view Changelog for detailed information.
GeekBench x64 4.0.3 CPU
2550/5551CINEBENCH R15.038_RC184115 OpenGL
56.92fps (NVIDIA)CINEBENCH R15.038_RC184115 OpenGL
36.45fps (Intel)CINEBENCH R15.038_RC184115 CPU
295cbLuxMark-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
860Heaven FPS
20.3Score
512Min FPS
7.8Max FPS
40.4 (NVIDIA)Heaven FPS
9.1Score
230Min FPS
5.5Max FPS
20.1 (Intel)
GeekBench x64 4.3.2 CPU
3470/6695GeekBench x64 4.3.2 GPU/OpenCl
16465GeekBench x64 4.3.2 GPU/Metal
16748CINEBENCH R15.038_RC184115 OpenGL
22.92fpsCINEBENCH R15.038_RC184115 CPU
293cbLuxMark-v3.1 OpenCL GPU
1381LuxMark-v3.1 OpenCL CPU
776Heaven FPS
13.8Score
349Min FPS
6.2Max FPS
25.3AJA System Test Lite (with trim) Samsung SSD 850 EVO M.2 500GB:
469MB/sec write, 489MB/sec read
If you feel so you can buy me a coffee or a beer!
-
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, WhateverGreen and now VoodooPS2 -
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.