Awesome
Hackintosh Xiaomi Mi Air 13.3 Skylake-U 2016 for macOS Big Sur & Catalina
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.
- Following this guide you can run Big Sur 11.0.1, 11.1. and Catalina 10.5.x up to 10.15.7
- I stopped using Clover. This guide is for OpenCore only. If you need to run Clover for any reason you can check the older Clover Guide
- 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. Bios A09 has NOT been tested
- 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
- macOS Catalina & Mojave & High Sierra on XiaoMi NoteBook Pro 2017 & 2018 by daliansky and stevezhengshiqi
- All the super amazing guides from RehabMan
- Dortania Documentation guides
What's working
- Sleep (sleep works only by selecting sleep on the apple menu)
- Bluetooth
- Internal WiFi card. see Wi-Fi section
- Proper CPU PowerManagement
- Proper USB Support
- Dual boot (windows and macOS on different disks) through OpenCore
- Running with SIP enabled
What's not working
- Discrete GPU (Nvidia GeForce 940MX GPU )
- No audio output from HDMI port
- lid sleep does not always work. A working workaround is to always sleep from the menu and wait for the laptop to go to sleep prior closing the lid. You can wake the laptop by opening the lid
- 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.
If you face another problem please open a issue.
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
- Motherboard: Timi TM1613 (U3E1)
- 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
Table of Contents
<!-- MarkdownTOC -->- Installation Guide
- Upgrade Guide
- Postinstallation Steps
- Changelog
- Benchmarking
- FAQ
- Changelog
- Buy me a coffee or a beer
- Credits
Installation Guide
These are the steps in order to install or upgrade your Mi. 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.
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
The guide is being written based on the excellent Dortania guides
Installation SSD
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.
Preparing USB Flash Drive
Get a at least 16GB USB Flash Drive and follow Creating the USB > Making the installer. Follow just the Making the installer Guide
.
Or could follow this guide,if you need Big Sur,you can direct download.
If you need just a USB stick with OpenCore installation for booting an existing MacOS installation just format the USB stick as following:
Disk Utility > Select USB Device > Erase
:
- Scheme = GUID Partition Map
- Name: OC
- Format: macOS Extended (Journaled)
Customize USB Flash Drive
In this step you will add all the required opencore files to the USB flash drive.
Download the latest release from github and unzip the archive. You will find an AIR_EFI
directory. Mount the USB Flash Drive's EFI
partition on /Volumes/EFI
. You can do this with many utilities (e.g. MountEFI or mount_efi.sh).
Move the AIR_EFI
to /Volumes/EFI
and rename it to EFI
. It will look like /Volumes/EFI/EFI
Generate a valid SMBIOS
Use corpnewt/GenSMBIOS to generate a valid MacBookPro13,1
SMBIOS and populate the following /Volumes/EFI/OC/config.plist
with a text editor or corpnewt/ProperTree:
<key>PlatformInfo</key>
<dict>
...
<key>MLB</key>
<string>XXXXXXXXXXXXXXXXX</string>
...
<key>SystemSerialNumber</key>
<string>XXXXXXXXXXXX</string>
...
<key>SystemUUID</key>
<string>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</string>
...
</dict>
a valid SMBIOS is really important for Apple Services, iMessage & FaceTime. Check also the guide An iDiot's Guide To iMessage
Disable Secure Boot
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
Unlock CFG Lock
CFG Lock
removal is required.
This procedure is verified for BIOS A06
. It has not been tested in any other BIOS. Proceed at your own risk.
Follow Fixing CFG Lock. The right offset is 0x84A
. The steps are:
If your BIOS version is A05, you can upgrade to A06 and direct use above value(
0x84A
).
-
boot from the USB drive
-
On the opencore menu hit
Space
. You will see a number of options -
select
Modified GRUB Shell
. On the prompt you will type:
setup_var 0x84A
Only if you do not get any type of error type the following to unlock CFG:
setup_var 0x84A 0x00
- reboot and boot from the USB drive again. On the OpenCore menu hit
Space
. Then SelectVerifyMSRE2.efi
. This will verify whether CFG is unlocked.
Note: If you change any settings on the BIOS or flash a new BIOS you should always redo this procedure again.
Install macOS
During the first time you boot you must clear the NVRAM of the system (Clover and other Bootloader leave traces)
To boot from the USB Flash Drive you can just hit F9
and you will get the UEFI boot loader. Once you get to Clover hit space
and select CleanNvram.efi
. After it completes power off the computer wait for ten seconds and power on again.
Boot again and Install macOS
Post Install
At this point OpenCore boot loader is installed only in the USB driver. You are required to install it on your bootable disk. Follow Moving OpenCore from USB to macOS Drive
Enable TRIM for SSDs
Since OpenCore does not reccomends to patch for TRIM using the bootloader you need to enable TRIM for all SSDs manually. Open terminal and use command: sudo trimforce enable
. Reboot and check that TRIM is enabled on the Apple > About this Mac > System Report
.
Clover to OpenCore Migration
This section is for those who run Clover and want to migrate to OpenCore. You need to:
-
make sure you have a backup USB flash drive with clover in order to boot your system. Check README.clover.md. If something goes wrong you may end up with an unbootable system! You have been warned!
-
Create a USB flash drive without the macos installer. check Preparing USB Flash Drive and Customize USB Flash Drive.
-
Remove Clover. Check Converting from Clover to OpenCore. TLDR you need to Cleaning the Clover Junk in macOS and Removing kexts from macOS(S/L/E and L/E)
-
Most likely you will hit the stuck on OCB: LoadImage failed - Security Violation. Follow the link and fix it now. Do not disable SecureBootModel. Follow the terminal instructions
-
Boot from the USB and Clear the NVRAM. Check Install macOS section.
-
Boot from the USB flash drive. Make sure you have a working system
-
Move OpenCore from USB to macOS Driver. Check Post Install
Sleep
make sure that you type the following on the terminal based on (Fixing Sleep)
check your current state:
$ sudo pmset -g
and type
sudo pmset autopoweroff 0
sudo pmset powernap 0
sudo pmset standby 0
sudo pmset proximitywake 0
sudo pmset lidwake 0
Upgrade Guide
Upgrade from Catalina 10.15.3
to Catalina 10.15.7
Upgrade from within macOS. No special action is needed
Upgrade to Big Sur 11.0.1
Use the latest release from here boot in Catalina and upgrade.
Postinstallation Steps
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. 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 :icecream:
- Install ALCPlugFix is work in progress to solve the wake up with headphones problem
Wi-Fi
The card in the laptop is Intel® Dual Band Wireless-AC 8260
Support to the Wifi card has been condifured using itlwm and not AirportItlwm
(does not support hidden networks).
You will need to install OpenIntelWireless/HeliPort as well.
You can also use USB dongles but this is not reccomended anymore. TP-LINK TL-WN725N v3
and Archer T3U
has been used succesfully in the past. Drivers for those can be downloaded from TP-LINK site or chris1111/Wireless-USB-Adapter.
In the case you migrate from a USB dongle with NullEthernet to native wifi support you need to force macOS to rewnumerate the interfaces. Check Fixing En0.
In short you need to open terminal write the following and then reboot:
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
sudo rm /Library/Preferences/SystemConfiguration/preferences.plist
Headphone Port
The is a problem with the headphone port and does not always work. You need to install hackintosh-stuff/ComboJack and follow the instructions on github.
Changelog
You can view Changelog for detailed information.
Benchmarking
Benchmarking Windows 10
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)
Benchmarking macOS 10.14.2 (Clover)
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
Benchmarking macOS 10.15.3 (JahStories CPUFriendProvider) (Clover)
GeekBench x64 4.3.2 CPU
3356/6486GeekBench x64 4.3.2 GPU/OpenCl
23481GeekBench x64 4.3.2 GPU/Metal
16968CINEBENCH R15.038_RC184115 OpenGL
22.26fpsCINEBENCH R15.038_RC184115 CPU
268cbLuxMark-v3.1 OpenCL GPU
1465LuxMark-v3.1 OpenCL CPU
776Heaven FPS
13.4Score
336Min FPS
6.0Max FPS
22.9 (fullscreen/Quality:Medium/Tessellation:Disabled/Anti-aliasing:off/Stereo3D:Disabled)AJA System Test Lite (with trim) Samsung SSD 850 EVO M.2 500GB:
474MB/sec write, 494MB/sec read
Benchmarking macOS 10.15.3 (corpnewt/CPUFriendFriend LFM=08/EPP=80) (Clover)
GeekBench x64 4.3.2 CPU
3348/6462GeekBench x64 4.3.2 GPU/OpenCl
23762GeekBench x64 4.3.2 GPU/Metal
17023CINEBENCH R15.038_RC184115 OpenGL
22.33fpsCINEBENCH R15.038_RC184115 CPU
286cbLuxMark-v3.1 OpenCL GPU
1460LuxMark-v3.1 OpenCL CPU
771Heaven FPS
13.2Score
333Min FPS
5.9Max FPS
24.7 (fullscreen/Quality:Medium/Tessellation:Disabled/Anti-aliasing:off/Stereo3D:Disabled)AJA System Test Lite (with trim) Samsung SSD 850 EVO M.2 500GB:
466MB/sec write, 497MB/sec read
Benchmarking macOS 10.15.7 (corpnewt/CPUFriendFriend LFM=08/EPP=80/PerfBias=05) (OpenCore)
GeekBench x64 4.3.2 CPU
2302/5634 (first time)GeekBench x64 4.3.2 CPU
3401/6367 (second time is better because of adapting power)GeekBench x64 4.3.2 GPU/OpenCl
24058GeekBench x64 4.3.2 GPU/Metal
15649CINEBENCH R15.038_RC184115 OpenGL
22.49fpsCINEBENCH R15.038_RC184115 CPU
283cbLuxMark-v3.1 OpenCL GPU
1415LuxMark-v3.1 OpenCL CPU
761Heaven FPS
13.3Score
335Min FPS
5.9Max FPS
21.1 (fullscreen/Quality:Medium/Tessellation:Disabled/Anti-aliasing:off/Stereo3D:Disabled)AJA System Test Lite (with trim) Samsung SSD 850 EVO M.2 500GB:
479MB/sec write, 498MB/sec read
FAQ
Disabling SIP
OCB: LoadImage failed - Security Violation
Users may find upgrading OpenCore on an already installed system can result in early boot failures due to Security > SecureBootModel > Default
OCB: LoadImage failed - Security Violation
MacOS installer thinks I am russian
OpenCore Sanity Checker
make sure to check your config.plist against OpenCore Sanity Checker
Make Changes on the root filesystem
Apple has introduce SSV (signed system volumes). SSV features a kernel mechanism that verifies the integrity of the system content at runtime, and rejects any data — code and non-code — that doesn’t have a valid cryptographic signature from Apple. In order to make root volume writable you need to disable, mount it, change it, create a new snapshot and boot from that snapshot. I am not responsible if you make your machine unbootable. This may break OS updates. Check how to do it @ macOS 11 Big Sur and Mount root as writable in Big Sur
Note: For some reason bless is not working with errors like:
sudo bless --folder /Users/xxx/mount/System/Library/CoreServices --bootefi --create-snapshot
Couldn't copy file "/Users/xxx/mount/System/Library/CoreServices/boot.efi.j137ap.im4m" - Error Domain=NSCocoaErrorDomain Code=513 "“boot.efi.j137ap.im4m” couldn’t be copied because you don’t have permission to access “CoreServices”." UserInfo={NSSourceFilePathErrorKey=/System/Volumes/Preboot/525BE91F-EBD8-3CBD-9774-952E4F6FC515/usr/standalone/i386/boot.efi.j137ap.im4m, NSUserStringVariant=(
Copy
), NSDestinationFilePath=/Users/xxx/mount/System/Library/CoreServices/boot.efi.j137ap.im4m, NSFilePath=/System/Volumes/Preboot/525BE91F-EBD8-3CBD-9774-952E4F6FC515/usr/standalone/i386/boot.efi.j137ap.im4m, NSUnderlyingError=0x7f94b8d13c30 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
Instead of bless you can do the following:
Steps:
- Boot from recovery and disable SSV (this will be permanent)
csrutil authenticated-root disable
- Boot on macos and mount your root volume as writable. Find your root mount's device - run mount and chop off the last s, e.g. if your root is
/dev/disk1s2s3
, you'll mount/dev/disk1s2
$ mount
/dev/disk2s5s1 on / (apfs, sealed, local, read-only, journaled)
$ mkdir /Users/xxx/mount
sudo mount -o nobrowse -t apfs /dev/disk2s5 /Users/xxx/mount
-
Make any modifications you want in
/Users/xxx/mount
-
Generate and tag new APFS System Snapshot as follows and make it bootable
# Create snapshot.
sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -s "ChangedRoot" -v /Users/xxx/mount
# Tag snapshot for next boot.
sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -r "ChangedRoot" -v /Users/xxx/mount
-
reboot and you are done
-
check the snapshots
$ diskutil apfs snapshots disk2s5s1
Snapshots for disk2s5s1 (3 found)
|
+-- AFD82B0C-23D3-481B-9401-0A17DC46C1EC
| Name: com.apple.os.update-779BDF1556C6F688504E24FB29C75AFFABFCB91E701806FFFF35235E19914F1E
| XID: 489684
| Purgeable: No
| NOTE: This snapshot limits the minimum size of APFS Container disk2
|
+-- 4A6FACBE-2667-4127-8143-646C38E3C3B4
| Name: ChangedRoot
| XID: 490985
| Purgeable: Yes
|
+-- 3DC0C93D-F858-4420-AC0B-49FDF23D5C3A
Name: NewRoot
XID: 9223372036855268389
Purgeable: Yes
- you can always boot to another snapshot by doing
$ diskutil apfs snapshots disk2s5s1
$ mount
/dev/disk2s5s1 on / (apfs, sealed, local, read-only, journaled)
$ mkdir /Users/xxx/mount
$ sudo mount -o nobrowse -t apfs /dev/disk2s5 /Users/xxx/mount
$ sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -r "com.apple.os.update-779BDF1556C6F688504E24FB29C75AFFABFCB91E701806FFFF35235E19914F1E" -v /Users/xxx/mount
reboot
- to delete a snapshot you need to boot into recovery
$ diskutil list
$ diskutil apfs snapshots disk2s5
$ diskutil apfs deleteSnapshot disk2s5 -name ChangedRoot
you cannot delete the bootable snapshot
- when upgrading it do idea whats will happen XXX
Making Symbolic Links on the root filesystem
Try Making Symbolic Links on the root filesystem
Changelog
You can view Changelog for detailed information.
Buy me a coffee or a beer
If you feel so you can buy me a coffee or a beer!
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, WhateverGreen and now VoodooPS2 -
Thanks to Dortania for their amazing guides!
-
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.