US English, 中文版請見此
The README.md guide for OpenCore is being worked on. It will be published once the README.md for OpenCore is ready.
Last update: 2020-01-12 (Taipei Time)
This repository provides some necessary resources to install a copy of macOS on ThinkPad X1 Carbon 6th. There is no guarantee of success, therefore you are expected to find extra resources to meet your needs, and be responsible for any consequences. For Machine Type 20KH Only.
This is the hardware specification of my ThinkPad X1 Carbon 6th.
Item | Description |
---|---|
Processor | Intel Core i7-8550U |
Graphics | Intel UHD Graphics 620 |
Memory | Onboard 16GB LPDDR3 2133MHz |
Audio Codec | Realtek ALC 285 (ALC3286) |
WWAN | Sierra Wireless EM7455 (Qualcomm Snapdragon X7 LTE-A Modem) |
PCI Ethernet | Intel I219V4 PCI Express Gigabit Ethernet |
WLAN/ Bluetooth Module | Dell DW1560 |
Bluetooth | BCM20702A0 |
Wi-Fi | Broadcom BCM94352Z |
Media Card Reader | Realtek USB3.0 Card Reader |
Built-in Display Resolution | 2560x1440 (2K) |
UEFI Firmware Version | 1.43 (N23ET68W) |
Storage | Samsung 860 EVO M.2. SATA 6Gb/s SSD |
Thunderbolt Controller | Intel Alpine Ridge DSL6540 Thunderbolt 3 NHI |
Only listing values that matters. Feel free to configure other values to suit your needs.
Path | Value | Remarks |
---|---|---|
Config/Network/Wake On LAN | Disabled | Only 100M Ethernet if enabled |
Config/USB/USB UEFI BIOS Support | Enabled | Enable UEFI USB boot |
Config/Power/8254 Timer Clock Gating | Auto | - |
Config/Power/Sleep State | Linux | - |
Config/Thunderbolt (TM) 3/Thunderbolt Security Level | No Security | No Thunderbolt 3 if enabled |
Config/Thunderbolt (TM) 3/Thunderbolt 3 BIOS Assistant | Disabled | No Thunderbolt 3 if enabled |
Config/Thunderbolt (TM) 3/Support in Pre Boot Environment: Thunderbolt (TM) device | Pre-boot ACL | No Front Thunderbolt 3 (Type-C port) if changed to other values |
Security/Intel (R) SGX/ Intel (R) SGX Control | Disabled | - |
Security/Secure Boot Configuration/SecureBoot | Disabled | Unable to boot macOS if enabled (Requires digitally signed executables) |
Security/Device Guard/Device Guard | Disabled | - |
Feature | Status | Dependency | Remarks |
---|---|---|---|
macOS (10.14.x or 10.15.x) | ✅ | VirtualSMC.kext , Lilu.kext , Clover Bootloader |
Clover v2.5k R5100 |
iMessage/ FaceTime | ✅ | Apple ID, Valid SMBIOS | Guide |
App Store | ✅ | Apple ID | - |
iMessage/ FaceTime | ✅ | Apple ID, Valid SMBIOS | Guide |
iCloud | ✅ | Apple ID | - |
Siri | ✅ | Apple ID, Working audio recorder | Needs AppleALC.kext |
iTunes Video Playback | ✅ | WhateverGreen.kext , Apple ID (Optional) |
- |
Filesystem (APFS/HFS+) | ✅ | Use SATA M.2. SSD or a Compatiable M.2. PCIe SSD | No NVMe Power Management |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Micro SD Card Reader | ✅ | Patched AppleUSBCardReader.kext |
- |
USB 3.1 | ✅ | USBInjectAll.kext , SSDT-UAIC.aml |
- |
DisplayPort on Thunderbolt 3 Dock | ✅ | SSDT-TB3.aml , IOElectrify.kext |
- |
Thunderbolt 3 Dock (Port Replicator) | ✅ | SSDT-TB3.aml , IOElectrify.kext |
- |
Thunderbolt 3 Hotplug | ⚠️ | SSDT-TB3.aml , IOElectrify.kext |
Only the Type-C port next to the ethernet port supports hot-plugging |
Wake on LAN | ✅ | IntelMausiEthernet.kext included in this repo (I re-compiled it to support WoL) |
- |
ThinkPad TB3 Dock Ethernet | ✅ | ThinkPad Thunderbolt 3 Dock (40AC), AppleRTL815XComposite109.kext , AppleRTL815XEthernet109.kext |
Item page |
Feature | Status | Dependency | Remarks |
---|---|---|---|
AirDrop | ✅ | BT4LEContiunityFixup.kext , Working Blutetooth and WiFi setup |
- |
Bluetooth | ✅ | BrcmFirmwareRepo.kext , BrcmPatchRAM3.kext , BrcmBluetoothInjector.kext |
- |
Continuty | ✅ | BT4LEContiunityFixup.kext , Working Blutetooth and WiFi setup |
- |
Sidecar | ✅ | iPad with iPadOS 13 | Tested with iPad Pro with iPadOS 13.1.2 |
PCIe Ethernet | ✅ | IntelMausiEthernet.kext |
- |
Wi-Fi | ✅ | Swapping Intel WLAN card with Dell DW1560, AirportBrcmFixup.kext , Lilu.kext |
- |
Sierra Wireless EM7455 | ❌ | Legacy_Sierra_QMI.kext |
No internet |
Feature | Status | Dependency | Remarks |
---|---|---|---|
TrackPoint | ✅ | Patched VoodooPS2Controller.kext |
- |
TrackPad | ✅ | VoodooPS2Controller.kext |
- |
Built-in Keyboard | ✅ | VoodooPS2Controller.kext |
- |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Battery life | ✅ | Non-NVME SSD, proper power management setup (CPU Power Management, GPU Power Management) | Drops 10% per hour for light programming tasks |
Battery Percentage Indication | ✅ | Patched DSDT.aml |
Use MaciASL |
CPU Power Management (SpeedShift) | ✅ | XCPM |
- |
IGPU Power Management | ✅ | XCPM |
- |
Hibernation | ❌ | - | Disabled |
Sleep | ❌ | - | Disabled |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Audio Recording | ✅ | AppleALC.kext with Layout ID = 11 |
- |
Audio Playback | ✅ | AppleALC.kext with Layout ID = 11 |
- |
Full Graphics Accleration (QE/CI) | ✅ | WhateverGreen.kext , Custom device properties in config.plist |
- |
HiDPI (Optional) | ⚠️ | Shell Script from xzhih Click Here | May have werid scaling issues after wake up |
diskutil
diskutil list
diskutil mount disk3s1
EFI
volume appeared in Finder, that is the EFI System partition of the USB.EFI
folder of this repositoryEFI
Folder to the root of the EFI System partition of the USB.Enter
to boot.Enter
Install macOS Catalina
for macOS CatalinaInstall macOS Mojave
for macOS MojaveAPFS
(Apple File System)post
folder in this repositorykexts
Kext
folder inside post
folder in this repository
post/Kext
kexts
kext
files from post/kext
to your desktop/Library/Extensions
as the package to installdiskutil
diskutil list
diskutil mount disk0s1
EFI
volume appeared in Finder, that is the EFI System partition of the installation drive.EFI
folder of this repositoryEFI
Folder to the root of the EFI System partition of the installation drive.iMessage Guide: Link to Tonymacx86
Know your hardware, the following configuration is tested for the following CPUs only
Use WhateverGreen
In Config.plist/DeviceProperties/Add/PciRoot(0x0)/Pci(0x2,0x0), add the following
Key | Type | Value |
---|---|---|
AAPL,GfxYTile |
Data | 01000000 |
AAPL,ig-platform-id |
Data | 04002759 |
device-id |
Data | 16590000 |
framebuffer-con1-enable |
Data | 01000000 |
framebuffer-con1-type |
Data | 00080000 |
framebuffer-fbmem |
Data | 00009000 |
framebuffer-patch-enable |
Data | 01000000 |
framebuffer-stolenmem |
Data | 00003001 |
Result (Xcode as plist editor)
Reboot
Dependency
Original Guide for the patch
Gather Information
Open System Report in About this Mac
Go to Hardware/USB/USB3.0-CRW
Pay attention to Product ID and Vendor ID, convert them to decimal
Item | Value (Hex) | Value (Dec) |
---|---|---|
Product ID | 0x0328 | 808 |
Vendor ID | 0x0bda | 3034 |
Update idVendor
and idProduct
in Apple_internal_SD_Card_Reader_1_00
and Apple_internal_SD_Card_Reader_2_00
dictionary found in /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext/Contents/Info.plist
.
Update Physical Interconnect Location
field from Internal
to External
in Apple_internal_SD_Card_Reader_1_00
and Apple_internal_SD_Card_Reader_2_00
dictionary found in /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext/Contents/Info.plist
.
Run the following in terminal
sudo kextcache -v -i /
Reboot
Feel free to open an issue on Github.
/L/E stands for /Library/Extensions
EFI stands for EFI/OC/Kexts and an entry in Config.plist/Kernel/Add
/L/E or EFI stands for those kexts can be installed in either location
Kext name | Purpose | Arguments | Location |
---|---|---|---|
AirportBrcmFixup.kext | Enable DW1560 Wi-Fi function | - | /L/E |
AppleALC.kext | Enabling sound | APPL,layout-id=11 | /L/E or EFI |
BT4LEContinuityFixup.kext | /L/E | ||
BrcmBluetoothInjector.kext | Enabling bluetooth | - | EFI |
BrcmFirmwareData.kext | Enabling bluetooth | - | EFI |
BrcmPatchRAM3.kext | Enabling bluetooth | - | EFI |
CPUFriend.kext | CPU Power Management | - | /L/E or EFI |
CPUFriendDataProvider.kext | Customize CPU Power Management Scheme | Configured by: one-key-cpufriend | /L/E or EFI |
HibernationFixup.kext | Eliminate sleep wake issues | - | /L/E |
IntelMausiEthernet.kext | Enabling PCI Ethernet and Wake on Lan | - | /L/E or EFI |
IOElectrify.kext | Enabling thunderbolt 3 Hotplug | - | /L/E or EFI |
Lilu.kext | Kext patcher | Lilu plugins | /L/E or EFI |
NoTouchID.kext | Prevent password prompt delays | - | /L/E |
SMCBatteryManager.kext | SMC Emulation | - | /L/E or EFI |
SMCLightSensor.kext | SMC Emulation | - | /L/E or EFI |
SMCProcessor.kext | SMC Emulation | - | /L/E or EFI |
SMCSuperIO.kext | SMC Emulation | - | /L/E or EFI |
Thunderbolt3Unblocker.kext | Allow all thunderbolt 3 devices to be used | - | /L/E |
USBInjectAll.kext | Inject all usuable USB ports on macOS | SSDT-UIAC.aml | /L/E or EFI |
USBMap.kext | Configured by: USBMap | /L/E or EFI | |
VirtualSMC.kext | SMC Emulation | - | /L/E or EFI |
VoodooInput.kext | TrackPad gesture recognization | Configured by SSDT-X1-Carbon-Trackpoint.aml , SSDT-Keyboard-X1C6.aml |
/L/E or EFI |
VoodooPS2Controller.kext | Enabling Built-in Keyboard, TrackPoint and TrackPad | - | /L/E or EFI |
WhateverGreen.kext | Fixes Graphics problems in macOS | Device properties in Config.plist | /L/E or EFI |
SSDT | Purpose |
---|---|
SSDT-ALS0.aml | Creates emulated light sensor to save Backlight information |
SSDT-BATT.aml | Enable battery percentage indication |
SSDT-DMAC.aml | Expose DMA Controller on macOS (More like real Mac) |
SSDT-EC.aml | Configures Embedded Controller, related to USB power |
SSDT-EXT3-LedReset-TP.aml | - |
SSDT-EXT4-WakeScreen.aml | - |
SSDT-HPET.aml | Fixes HPET on macOS |
SSDT-Keyboard-X1C6.aml | Configures Keyboard mapping on macOS |
SSDT-MCHC.aml | Expose Memory Controller on macOS (More like real Mac) |
SSDT-PLUGIN_TYPE.aml | Enables XNU CPU Power Management and HWP |
SSDT-PNLF.aml | Enables brightness adjustment |
SSDT-PTSWAK.aml | Fixes Sleep, wake issues |
SSDT-SBUS.aml | Allow correct identification of SMBus on macOS |
SSDT-TB3.aml | Enable Thunderbolt 3 functionality and hot-plug support |
SSDT-UIAC.aml | Unblock all USB ports |
SSDT-USBX.aml | Configures USB Power |
SSDT-X1-Carbon-Trackpoint.aml | Configures TrackPoint speed |
Last update: 2020-01-12 (Taipei Time)