OpenCore-based EFI for Lenovo Thinkpad X1 Carbon 8th Generation | Model 20U9
Status: Work In Progress | Stable | Daily driver
This repo is forked from several X1C7-Hackintosh repositories (See OTHER REPOSITORIES)
DISCLAIMER: As you embark on your Hackintosh journey you are encouraged to READ the entire README and Dortania guides before you start.
This X1C8 Hackintosh project aims to be an all-in-one maintained hub for Opencore-based hackintoshes on the Thinkad X1 Carbon Gen 8. In short, this X1C8-Hackintosh is very stable and is currently my daily driver. I fully recommend this project to anyone looking for a MacBook alternative.
You can find a wealth of knowledge on Reddit, TonyMacX86 or Google.
Should you find an error, or improve anything, be it in the config itself or in the my documentation, please consider opening an issue or a pull request to contribute.
I am not responsible for any damages you may cause.
WORKING ✅
Feature | Status | Dependency | Remarks |
---|---|---|---|
Full Graphics Accleration (QE/CI) | ✅ | WhateverGreen.kext & AAPL,ig-platform-id = 0900A53E & device-id = C89B0000 |
- |
Audio Output | ✅ | AppleALC.kext with Layout ID = 71 |
- |
Audio Speakers | ✅ | AppleALC.kext with Layout ID = 71 |
You have to manually aggregate the two output using "Audio MIDI Setup" to have 4 speakers working |
Audio Input | ✅ | AppleALC.kext with Layout ID = 71 |
Headset microphone is inconsistent and needs more testing |
Automatic Headphone Output Switching | ✅ | AppleALC.kext with Layout ID = 71 |
- |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Battery | ✅ | ECEnabler.kext |
- |
CPU Power Management (SpeedShift) | ✅ | CPUFriend.kext with CPUFriendDataProvider.kext |
- |
iGPU Power Management | ✅ | SSDT-PLUG.aml |
- |
NVMe Drive Battery Management | ✅ | NVMeFix.kext |
Improve NVMe drive power management |
S3 Sleep / Hibernation Mode 3 | ✅ | - | Needs more improvement, exit Sleep mode with CMOS error |
Feature | Status | Dependency | Remarks |
---|---|---|---|
WiFi | ✅ | AirportIltwm.kext |
- |
Bluetooth | ✅ | IntelBluetoothFirmware.kext , BlueToolFixup.kext , and USBMap.kext |
Mouse and Keyboard not working via Bluetooth |
Ethernet | ✅ | IntelMausi.kext |
- |
HDMI 1.4 | ✅ | BusID patching | Hotplug with 4K Resolution |
USB 2.0 / USB 3.0 | ✅ | USBMap.kext |
Create your own USBMap.kext using CorpNewt |
USB 3.1 (Type-C) | ✅ | USBMap.kext and enable Thunderbolt 3 in BIOS |
Hotplug is working |
USB Power Properties in macOS | ✅ | - | - |
ThinkPad USB-C Docking Station | ✅ | - | Work smoothly |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Brightness Adjustments | ✅ | WhateverGreen.kext , SSDT-PNLF.aml , enable-backlight-smoother property, and BrightnessKeys.kext |
enable-backlight-smoother property is optional for smoother birghtness adjustments |
TrackPoint | ✅ | VoodooPS2Controller.kext |
- |
TrackPad | ✅ | VoodooI2C.kext and VoodooI2CHID.kext |
- |
Built-in Keyboard | ✅ | VoodooPS2Controller.kext |
- |
Webcam | ✅ | USBMap.kext |
- |
Feature | Status | Dependency | Remarks |
---|---|---|---|
iCloud, iMessage, FaceTime | ✅ | Whitelisted Apple ID, Valid SMBIOS | See Dortania / OpenCore-Install-Guide |
Handoff | ✅ | - | - |
Universal Clipboard | ✅ | - | - |
SMS & Phone Call via iPhone | ✅ | - | - |
AirPlay to Mac | ✅ | - | - |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Dual Boot | ✅ | - | Windows & macOS (Use this guide to setup dual boot on the same drive) |
NOT WORKING ❌
Feature | Status | Dependency | Remarks |
---|---|---|---|
Fingerprint Reader | ❌ | - | Will never work |
Wireless WAN | ❌ | DISABLED in BIOS to save power. |
Unable to investigate as I have no need and my model did not come with WWAN |
DRM | ❌ | iGPU | DRM is broken with iGPUs |
Internal Microphone | ❌ | - | I hope it will work one day |
Fan Control / Multimedia Keys | ❌ | YogaSMC.kext |
YogaSMC.kext needs to be updated in order to work with X1C8 Hardware |
Continuity Camera | ❌ | - | Not working with Intel cards |
AirDrop | ❌ | - | Not working with Intel cards |
Apple Watch Auto Unlock | ❌ | - | Not working with Intel cards |
Instant Hotspot | ❌ | - | Not working with Intel cards |
UNTESTED ⚠️
Feature | Status | Dependency | Remarks |
---|---|---|---|
Thunderbolt 3 | - | No device to test | |
Boot chime | - | Not yet configured | |
FireVault 2 | - | Not yet tested | |
Sidecar | - | No device to test | |
Continuity Markup and Sketch | - | No device to test |
TO-DO ⏳
Feature | Status | Remarks |
---|---|---|
Battery Life | ⏳ | Between 3 and 4 hours but it still takes time to thoroughly test the battery life and compare it with Windows 11 |
THIS IS NOT A GUIDE!
This is not a guide. It shoud only be used as a reference. I provide some tips and tricks I learned on my journey in building a hackintosh. The best way of using this is as a supplement to the OpenCore guide. If you have questions about how to setup your specific hardware, are unclear about what to do, or would like to see the settings I've used.
I understand that some may simply add the OC and Boot folders to their EFI folder. For clarity the EFI partition needs a folder called EFI that contains the Boot and OC folder.
EFI (drive)
EFI
├── BOOT
├── OC
It should work and your X1C8 should boot and work fine. You will at minimum need to generate SMBIOS values if you want Apple services to work. Note that all error reporting/logging has been turned off in the config.plist. You will have a difficult time trouble shooting with the setup provided. You can easily turn on the error reporting and logging if you follow the Dortania guide. Best of luck.
NOTE if you simply wish to copy my EFI please do the following:
- Generate SMBIOS values and add them in the config.plist (Use MacBookPro16,3)
- Ensure the value of
showpicker
istrue
in the config.plist file to provide the opencore menu when booting.- Prepare your install USB
- Move the entire EFI folder (with your modifications) to the proper partition on your USB (or SSD once the install is complete).
- Install - You'll need to select F12 to get the boot menu options and boot from the USB each time the computer restarts until you've copied the EFI folder onto the hard drive. You may also need to select the correct boot option during install.
HARDWARE
These are relevant components on my machine which may differ from yours, keep these in mind as you will need to adjust accordingly, depending on your machine's configuration.
Category | Component | Note |
---|---|---|
Type | 20U9 | - |
CPU | Intel Core i7-10510U | - |
GPU | Intel UHD Graphics | - |
SSD | WDC PC SN720 SDAQNTW-512G-1001 | Swapped for better compatibility, the laptop came with a Toshiba SSD |
Screen | 14" FHD - 1920 x 1080 | - |
Memory | 8GB / 2133MHz LPDDR3 | - |
Battery | Integrated Li-Polymer 51Wh | - |
Camera | 720p Camera | - |
Wi-Fi & BT | Intel Wi-Fi 6 AX201 | - |
Input | PS2 Keyboard & Synaptics I2C HID TrackPad | - |
Ports | 2x USB 3.1 Gen 1 (Right USB Always On) 2x USB 3.1 Type-C Gen 2 / Thunderbolt 3 (Power Delivery and DisplayPort) [Max 5120x2880 @60Hz] HDMI 1.4 (Max 4096x2160 @24Hz) |
- |
Refer to ThinkPad X1 Carbon Gen 8 Specs for possible stock configurations.
SOFTWARE
Component | Version |
---|---|
OpenCore | 0.7.7 |
macOS Monterey | 12.2 |
Windows 11 | 21H2 |
ACPI
Component |
---|
SSDT-AWAC |
SSDT-PLUG |
SSDT-PNLF |
SSDT-USBX |
SSDT-XOSI |
KEXT
Kext | Version |
---|---|
AirportItlwm | 2.1.0 |
AppleALC | 1.6.8 |
BlueToolFixup | 2.6.1 |
CPUFriend | 1.2.4 |
CPUFriendDataProvider | 1.0.0 |
ECEnabler | 1.0.2 |
IntelBluetoothFirmware | 2.1.0 |
IntelMausi | 1.0.7 |
Lilu | 1.5.9 |
NVMeFix | 1.0.9 |
SMCBatteryManager | 1.2.8 |
SMCProcessor | 1.2.8 |
SMCSuperIO | 1.2.8 |
USBMap | 1.0.0 |
VirtualSMC | 1.2.8 |
VoodooI2C | 2.6.5 |
VoodooI2CHID | 2.6.5 |
VoodooPS2Controller | 2.2.7 |
WhateverGreen | 1.5.6 |
UEFI DRIVERS
Driver | Version |
---|---|
OpenCanopy.efi | OpenCorePkg 0.7.7 |
OpenHfsPlus.efi | OpenCorePkg 0.7.7 |
OpenRuntime.efi | OpenCorePkg 0.7.7 |
OTHER REPOSITORIES
-
X1C7-Hackintosh repositories:
-
X1C6-Hackintosh repositories:
CREDITS
- The guys from Acidanthera that make this possible
- ben9923 for VoodooI2C
- Apple for macOS
- CorpNewt for USBMap and CPUFriendDataProvider
- headkaze for Hackintool
- Mieze for IntelMausiEthernet
- OpenIntelWireless for IntelBluetoothFirmware, itlwm and HeliPort
- People at r/hackintosh for their advice and help
- And every other contributor
UEFI SETTINGS
Config
- Keyboard/Mouse
Trackpoint
EnabledTrackpad
Enabled
- Display
Boot Display Device
ThinkPad LCDTotal Graphics Memory
256MBBoot Time Extension
Disabled
- CPU
Intel Hyper-Threading Technology
Enabled
- Thunderbolt
Thunderbolt BIOS Assist Mode
DisabledSecurity Level
No SecuritySupport in Pre Boot Environment -> Thunderbolt(TM) device
Disabled
Security
- Memory Protection
Execution Prevention
Enabled
- Virtualization
Kernel DMA Protection
DisabledIntel Virtualization Technology
EnabledIntel VT-d Feature
DisabledEnhanced Windows Biometric Security
Disabled
- I/O Port Access
Wireless WAN
Disabled
- Secure Boot
Secure Boot
Disabled
- Intel SGX
Intel SGX Control
Disabled
- Device Guard
Device Guard
Disabled
Startup
UEFI/Legacy Boot
UEFI OnlyCSM Support
NoBoot Mode
Quick
KEYBOARD LAYOUT
Either add as a String
or as a Data
(HEX Data ProperTree)
Format is lang-COUNTRY:keyboard
🇺🇸 | [0] en_US - U.S --> en-US:0 --> (656e2d55 533a30 in HEX)
Key | Type | Value |
---|---|---|
prev-lang:kbd | String | en-US:0 |
Pick your keyboard layout here:
TRACKPAD
To improve the Trackpad in macOS, you have to disable Force Click and haptic feedback
in System Preferences -> Trackpad
SMBIOS
Use GenSMBIOS to create your own serial # based off of your preferred model.
- MacBookPro16,3 -
What I used
- MacBookPro16,2 -
Used by others
Note: If you use a different SMBIOS model than the MacbookPro16,3 that I've used. The provided USB mapping will not work. You will need to edit the USBMap.kext
file. You can right click on the file and select Show Package Contents. From there you can open the Info.plist file in ProperTree and change MacBookPro16,3 to whatever Model ID you've chosen. This should provide a working USBMap.kext.
POWER MANAGEMENT
Generate CPUFriendDataProvider for your machine here or use those I've provided. Highly recommended that you use power management.
AUDIO
Using the Layout ID 71 will enable the 4 speakers (Top front & Bottom rear) in System Preferences>Sound allowing you to select either set of speakers (Two Output). To combine the two you'll need to open Audio MIDI Setup and create Multi-Output Device
with both sets of speakers. Unfortunately you can't control natively the volume of an Aggregate Device with the volume keys. You'll need to install AggregateVolumeMenu