Skip to content

HJebbour/ThinkPad-X1C8-Hackintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

macOS on Lenovo Thinkpad X1 Carbon Gen 8 (20U9)

OpenCore-based EFI for Lenovo Thinkpad X1 Carbon 8th Generation | Model 20U9 Lenovo ThinkPad X1 Carbon Gen 8

Status: Work In Progress | Stable | Daily driver

macOS Version OpenCore Model

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.

Summary

WORKING βœ…

Video and Audio

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 -

Power Management

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

Connectivity

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

Display, TrackPad, TrackPoint, Keyboard, and Webcam

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 -

macOS Continuity

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 βœ… - -

Miscellaneous

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

Introduction

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:

  1. Generate SMBIOS values and add them in the config.plist (Use MacBookPro16,3)
  2. Ensure the value of showpicker is true in the config.plist file to provide the opencore menu when booting.
  3. Prepare your install USB
  4. Move the entire EFI folder (with your modifications) to the proper partition on your USB (or SSD once the install is complete).
  5. 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.
THIS IS A GUIDE!

The one and only guide to install macOS, provided by Dortania

HARDWARE

Lenovo ThinkPad X1 Carbon Gen 8 (Core i7)

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
CREDITS

Credit to all these great people whom I don't know but have made my hackintosh dreams a reality:

SCREENSHOTS

Neofetch Blackmagic Disk Speed Test

Before Installation

UEFI SETTINGS

Config

  • Keyboard/Mouse
    • Trackpoint Enabled
    • Trackpad Enabled
  • Display
    • Boot Display Device ThinkPad LCD
    • Total Graphics Memory 256MB
    • Boot Time Extension Disabled
  • CPU
    • Intel Hyper-Threading Technology Enabled
  • Thunderbolt
    • Thunderbolt BIOS Assist Mode Disabled
    • Security Level No Security
    • Support in Pre Boot Environment -> Thunderbolt(TM) device Disabled

Security

  • Memory Protection
    • Execution Prevention Enabled
  • Virtualization
    • Kernel DMA Protection Disabled
    • Intel Virtualization Technology Enabled
    • Intel VT-d Feature Disabled
    • Enhanced 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 Only
  • CSM Support No
  • Boot 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:

AppleKeyboardLayouts.txt

Post-Install

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