14 KiB
macOS on Thinkpad X1 Carbon 6th Generation, Model 20KH*
*Last Clover version suppported, OpenCore is now my preferred bootloader.
Check out my blog tylerspaper.com
READ THE ENTIRE README.MD BEFORE YOU START.
I AM NOT RESPONSIBLE FOR ANY DAMAGES YOU MAY CAUSE.
IF YOU IMRPOVE UPON ANYTHING HERE, PLEASE CONTRIBUTE BY OPENING AN ISSUE OR A PULL REQUEST.
I AM A ONE MAN TEAM, AND A FULL TIME STUDENT. SO, I MIGHT NOT BE ABLE TO RESPOND OR HELP YOU IN A TIMELY MANNER. BUT, I PROMISE I WILL GET TO YOU EVENTUALLY. PLEASE UNDERSTAND.
Lastly, if my work here helped you. Please consider donating, it would mean a lot to me.
CHANGELOG
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
2020-3-29
Added
SSDT-ALS0 hotpatch for faking ambient light sensor ALS0 per Catalina's brightness preservation.
SSDT-GPRW hotpatching for fixing instant wake (0D/6D patch).
Changed
SSDT-Keyboard with the exception of F7 and F12, now maps all hotkeys to a Fn value that can be remapped within macOS. In addition, PrtSc is now remapped to F13. SSDT-PLNF to a cleaner version. Similarly, battery patch has been simplified.
Deprecated
Removed
Some unused patches within OpenCore config.plist has now been removed.
2019-12-22
Added
Project website: https://tylernguyen.github.io/x1c6-hackintosh/
ACPI dump for BIOS-v1.43
.
CHANGELOG.md to keep track of the project's developments.
OpenCore bootloader, version 0.5.3
.
Better SSDT patching with hotpatches under patches
. Making sure to read patches/README
.
Changed
Switched completely to hotpatching through OpenCore. Credits to daliansky and jsassu20.
Updated main README, made it look more visually appealing and organized.
Deprecated
Clover bootloader. Clover r5100 is the last version I used on this machine. Moving forward, OpenCore is my preferred bootloader. See EFI-Clover/README.md
.
Reorganized folder/project structure. Setup instructions and references now under docs
.
Removed
Old static patches.
Old IORegistryExplorer dump.
ACPI Patches
Hotpatching Notes
Credits and a huge thank you to daliansky for the great work and documentation, as well as to jsassu20 for the excellent translations.
Some patches here may be unused. Refer to the current OpenCore-EFI folder to see which one I am currently using.
Some Thinkpad machines are LPC
and some are LPCB
. Please examine your own DSDT and modify patches as needed.
SSDT-OCBAT0-TP_re80_tx70-80_x1c5th-6th_s12017_p51
Need OpenCore Patches/ TP Battery Basic Rename.plist
if OpenCore. preferred
Need OpenCore Patches/ TP battery Mutex is set to 0 and renamed.plist
if OpenCore. preferred
- Single battery system: only
BAT0
in ACPI, noBAT1
.
SSDT-PLUG-_PR.PR00
Why?: Processor
in DSDT
Scope (\_PR)
{
Processor (PR00, 0x01, 0x00001810, 0x06){}
Processor (PR01, 0x02, 0x00001810, 0x06){}
Processor (PR02, 0x03, 0x00001810, 0x06){}
Processor (PR03, 0x04, 0x00001810, 0x06){}
Processor (PR04, 0x05, 0x00001810, 0x06){}
Processor (PR05, 0x06, 0x00001810, 0x06){}
Processor (PR06, 0x07, 0x00001810, 0x06){}
Processor (PR07, 0x08, 0x00001810, 0x06){}
Processor (PR08, 0x09, 0x00001810, 0x06){}
Processor (PR09, 0x0A, 0x00001810, 0x06){}
Processor (PR10, 0x0B, 0x00001810, 0x06){}
Processor (PR11, 0x0C, 0x00001810, 0x06){}
Processor (PR12, 0x0D, 0x00001810, 0x06){}
Processor (PR13, 0x0E, 0x00001810, 0x06){}
Processor (PR14, 0x0F, 0x00001810, 0x06){}
Processor (PR15, 0x10, 0x00001810, 0x06){}
}
SSDT-PNLF-SKL_KBL
Why?: Skylake/ KabyLake/ KabyLake-R
.
Used in conjufction with WhateverGreen.kext
SSDT-HPET_RTC_TIMR-fix
- This patch cannot be used with the following patches:
- SSDT-RTC_Y-AWAC_N of the "Preset Variable Method"
- OC official SSDT-AWAC
- "Counterfeit Device" or OC official SSDT-RTC0
- SSDT-RTC0-NoFlags for CMOS Reset Patch
SSDT-Keyboard
Keyboard path is \ _SB.PCI0.LPCB.KBD
.
- Remap 1:
- Remap 2:
- Remap 3:
- Remap 4: F8 (Network) to F18
- Remap 5: F9 (Settings) to F19
- Remap 6: F10 (Bluetooth) to F20
- Remap 7: F11 (Keyboard) to F17
- Remap 8:
- Remap 9:
- Remap 10: PrtSc to F13
SSDT-PTSWAK
SSDT-EXT3-LedReset-TP
SSDT-EXT4-WakeScreen
Need OpenCore Patches/ Comprehensive Patch Changed Its Name To.plist
if OpenCore. preferred
Need Clover Patches/ Comprehensive Patch Changed Its Name To.plist
if Clover.
Look up _PTS
and _WAK
and only apply the corresponding patches:
_PTS
is NotSerialized
in my DSDT
_WAK
is Serialized
in my DSDT
-
SSDT-PTSWAK —— Comprehensive Patch。
-
SSDT-EXT3-LedReset-TP —
EXT3
extension patch. Solve the problem that the breathing light does not return to normal after the TP machine wakes up。 -
SSDT-EXT4-WakeScreen —
EXT4
extension patch. Solve the problem that some machines need to press any key to light up the screen after waking up. When using, you should inquire whether thePNP0C0D
device name and path already exist in the patch file, such as_SB.PCI0.LPCB.LID0
. If not, add it yourself.
SSDT-SBUS
Why?: 0x001F0004
under Device (SBUS).
SSDT-DMAC
Why?: PNP0200
is missing in DSDT.
SSDT-MCHC
Why?: MCHC
is missing in DSDT.
SSDT-PMCR
Why?: PMCR
, APP9876
missing in DSDT.
SSDT-PWRB
Why?: PNP0C0C
missing in DSDT.
SSDT-ALS0
Why?: ACPI0008
missing in DSDT.
SSDT-GPRW
Why?: Fix instant wake by hooking GPRW (0D/6D Patch)
Getting Started
SUMMARY:
Fully functional | Non-functional | Semi-functional. Additional pulls needed and welcomed. |
---|---|---|
Wifi and Bluetooth *need card replacement ⚠️ | Fingerprint Reader (not needed, DISABLED at BIOS) ❌ | HDMI, currently only outputs at 1080p.Though capable of 4K 4096x2150. ⚠️ |
USB A, USB C, Webcam, Audio Playback/Recording Sleep, Ethernet, Intel Graphics, TrackPoint and Trackpad ✅ | Wireless WAN (DISABLED at BIOS) *ENABLED if you have a 2nd drive connected❌ | Function keys, F1-F6 work. The rest need to be mapped and patched via DSDT/SSDTs. ⚠️ |
iCloud suite: App Store, iMessage, FaceTime, iCloud Drive, etc... ✅ | Hibernation ❌ | Power management and optimizations. See Issue #28 ⚠️ |
HiDPI, Handoff, Sidecar ✅ | USB power property injection - unsure of real values. ⚠️ | |
MicroSD card reader ✅ | Thunderbolt 3 Hotplug: partially working More details ⚠️ |
NEEDED:
A macOS machine would be VERY useful: to create install drives, and for when your ThinkPad cannot boot. Though it is not completely necessary.
Clover Configurator, if Clover is your bootloader.
Flash drive, 16GB or more.
Xcode works fine, but I prefer PlistEdit Pro.
MaciASL, for patching ACPI tables.
IOJones, for diagnosis.
Hackintool, for diagnosis.
WHERE TO START:
Explore links included this README, especially those in references and other x1c6-hackintosh repos.
Once you are ready, follow the series of README files included docs/
.
1_README-HARDWAREandBIOS: Requirements before starting.
2_README-installMEDIA: Creating the macOS install drive.
3_README-POSTinstallation: Settings and tweaks post installation.
4_README-ACPIpatching: The hardest and most time consuming part, patching the system ACPI table for battery status, brightness, sleep, thunderbolt, thunderbolt hotplugging, etc...
- While you can plug-and-play most of my hotpatches if you have an x1c6, I still suggest that you dump and disassemble your own DSDT. This is imprortant as your DSDT maybe different from mine. And furthermore, you get to learn more about what's actually going on.
MY SPECIFICATIONS:
Refer to x1c6-Platform_Specifications for possible stock ThinkPad X1 6th Gen configurations.
Processor Number | # of Cores | # of Threads | Base Frequency | Max Turbo Frequency | Cache | Memory Types | Graphics |
---|---|---|---|---|---|---|---|
i7-8650U | 4 | 8 | 1.9 GHz | 4.2 GHz | 8 MB | LPDDR3-2133 | Intel UHD 620 |
Peripherals:
Two USB 3.1 Gen 1 (Right USB Always On)
Two USB 3.1 Type-C Gen 2 / Thunderbolt 3 (Max 5120x2880 @60Hz)
HDMI 1.4b (Max 4096x2160 @30Hz)
Ethernet via ThinkPad Ethernet Extension Cable Gen 2: I219-LM Ethernet (vPro)
No WWAN
TrackPoint: PS/2
TrackPad: PS/2
Display:
14.0" (355mm) HDR WQHD (2560x1440)
Audio:
ALC285 Audio Codec
Thunderbolt:
Intel JHL6540 (Alpine Ridge 4C) Thunderbolt 3 Bridge
REFERENCES:
- The Vanilla Laptop Guide
- Daliansky's Hackintool tutorial.
- An iDiot's Guide To Lilu and its Plug-ins
- General Framebuffer Patching Guide (HDMI Black Screen Problem)
- Intel Framebuffer patching using WhateverGreen
OTHER x1c6-hackintosh REPOSITORIES:
zhtengw/EFI-for-X1C6-hackintosh
Colton-Ko/macOS-ThinkPad-X1C6
Create a pull request if you like to be added, final decision at my discreation.
OPTIMIZATIONS:
- Repaste the machine with thermal Grizzly Kryonaut.
- Undervolt the machine with Volta.
- If you must dual boot with Windows or Linux, I advise against paritition. What I recommend, instead, is getting a second compatible hard drive that fits in the WWAN card slot (I have the WDC PC SN520 NVMe 2242), install Windows/Linux onto that drive. Finally, boot into it with Clover or OpenCore.
- If your laptop did not come with WWAN, you can purchase additional antennas to add to your laptop. This is useful when using Wifi/Bluetooth cards that have 3 antennas.
CONTACT:
https://tylerspaper.com/contact
Signal: (202)-644-9951 *This is a Signal ONLY number. You will not get a reply of you text me at this number.
DONATE AND SUPPORT:
https://tylerspaper.com/support/
Credits and Thank You:
@Colton-Ko for the great features template.
@stevezhengshiqi for the one-key-cpufriend script.
@corpnewt for CPUFriendFriend.
@xzhih for one-key-hidpi.
@daliansky for all the hotpatches.
@jsassu20 for translating daliansky's documentations.
@velaar for your continual support and contributions.
And the greatest thank you and appreciation to @Acidanthera, without whom's work, none of this would be possible.
Please let me know if I missed you.