Opencore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7

macOS on Thinkpad X1 Carbon 7th Generation

OpenCore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7. This guide has been generated for both the model numbers specified below.

Usage

This OpenCore config comes with empty PlatformInfo / SMBIOS!

Follow Dortania's OpenCore Install Guide to generate your own: Laptop Coffee Lake and Whiskey Lake > Platforminfo. If you own a Lenovo 20R1 (Intel 10th gen) also note the hint at Hardware Compatability

Overview

Summary

This X1C7 Hackintosh project aims to be an all-in-one maintained hub for Opencore-based hackintoshes on the Thinkad X1 Carbon Gen 7. In short, this x1c7-hackintosh is very stable and is currently our daily driver (Simon and Aidan). We fully recommend this project to anyone looking for a MacBook alternative. There are also multiple contributors to this project who have all helped in various fashions - see credits.

This repo is meant to serve as a hub and guide for users of the X1C7 and X1Cx community in general.

Functional Overview

What works, what doesn't and why.

WHAT IS WORKING

Install

working Device / Step Comment
Booting macOS installer
Installed to HD
Installed to HD and Dualbooting Windows on the same drive Windows Use this guide to setup dualboot on the same drive

Post-Install

working Device / Step Comment
Graphics Requires WhateverGreen.kext
Touchpad Requires VoodooGPIO, VoodooI2CServices,VoodooInput This was very trial-and-error based and I reccomend looking at our config.plist. Order and location matter.
Trackpoint Requires VoodooPS2
Keyboard Requires VoodooPS2
Keyboard-Multimedia Fn keys Requires YogaSMC.kext + TODO: Add ACPI here and YogaSMC-App
WiFi Native WiFi with AirportItlwm.kext - no companion app required
Bluetooth IntelBluetoothFirmware.kext and IntelBluetoothInjector.kext
⚠️ audio input (e.g. of headset) is not working, see #3
WWAN DISABLED at BIOS to conserve power
Ethernet IntelMausi.kext for bundled USB-C adapter
Hibernation hibernatemode=3
HDMI output Requires WEG?
USB A / USB C
Thunderbolt 3 Tested with a Vega 64 EGUP in a Razer Core X Enclosure, requires TB3 BIOS Assist to be ENABLED
Webcam checked on 2021-02-19
Audio Internal Speaker and Headphones / Line in
⚠️ Internal Microphone not working
Realtek ALC285, layout 11, 21, 31 (all seem to work equal) TODO supported layouts have changed ➡️ boot-args: alcid=71
iCloud (App Store, iMessage, FaceTime, etc) All iServices work
HiDPI, Handoff, Sidecar Handoff/sidecar sporadic function. Would not rely on these
Fingerprint Reader Disabled in BIOS to save power
Power Management Optimizations Fully working with CPUFriend and CPUFriendFriend, more options with YogaSMC to come
Intel SpeedStep Fully working (Higher performance when plugged in, lower when on battery, tested with GeekBench 5)

Fully functional; Untested/Intermittent (might work); Non-functional

LIMITATIONS

Limitations what is not working as expected or improvements:

Common Issues

gioLockscreenState error is a common one working with uncommon iGPUs (like our UHD 620) See issue #11 for solution


Hardware Compatability

Lenovo allows for many different hardware configurations and will update CPU generations while maintaining the same generation. This makes is somewhat confusing to tell exactly what hardware you have and exactly what this project was meant for. The Shared Hardware tab lists all common hardware info between different models of the X1C7. Following tabs for specific model numbers provide small modificaitons needed to the EFI for their respective model numbers, if needed.

Odds are your hardware will work with minor modifications to the EFI

Shared Hardware

Again: These are the hardware specs of 20QES01L00 and 20QD-000SUS: Refer to ThinkPad_X1_Carbon_7th_Gen_Spec.PDF for possible stock ThinkPad X1 7th Gen configurations.
Source: Lenovo Product Specification Reference (PSREF) [psref.lenovo.com]

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.4b (Max 4096x2160 @24Hz)
Ethernet via ThinkPad Ethernet Extension Adapter Gen 2: I219-LM Ethernet (vPro)
WLAN + BT Intel Wireless-AC 9560, Wi-Fi 2x2 802.11ac + Bluetooth 5.0
WWAN(optional) Nothing else supported, no adapters, nothing. Locked by BIOS
Display 14.0" (355mm) HDR HD (1920 x 1080)
Camera IR and HD720p camera with ThinkShutte. Chicony manufacturer
Audio Realtek ALC3286 codec
Linux: Realtek ALC285, layout 11, 21, 31 ; @acidanthera/AppleALC > Supported codecs [Github]
Fingerprint reader ✔️
NFC (optional) ✔️

Further Specs:

  • Keyboard: PS/2
  • TrackPoint: PS/2, included alongside te PS2 Keyboard
  • TrackPad: Synaptics enabled i2c
  • Thunderbolt: Intel JHL6540 (Alpine Ridge 4C) Thunderbolt 3 Bridge with what appears to be native MacOS Support

NOTE: The WWAN M.2 slot does NOT support SSDs. "If you do manage to fit something in there, you'll be presented with this whitelist error when you try and power the laptop on" source and photos by @acoutts [Github] You can modify the bios if you really need the extra SSD.

20QD-000SUS Tested functioning as expected with provided EFI (Aidan's Machine)
Processor Number Code Name # of Cores # of Threads Base Frequency Max Turbo Frequency Cache Memory Types Graphics
i7-8665U Whiskey Lake
(based on Coffee Lake)
4 8 1.9 GHz 4.8 GHz 8 MB LPDDR3-2133 Intel UHD 620
20QE-S01L00 Tested functioning as expected with provided EFI (Simon's Machine)
Processor Number Code Name # of Cores # of Threads Base Frequency Max Turbo Frequency Cache Memory Types Graphics
i7-8565U Whiskey Lake
(based on Coffee Lake)
4 8 1.8 GHz 4.6 GHz 8 MB LPDDR3-2133 Intel UHD 620
20R1-S05B00 (20R1/20R2) Tested functioning as expected with the FOLLOWING MODIFICATIONS
Cpuid1Data: EC060800 00000000 00000000 00000000
Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000

(Credit to @muhchaudhary)

Processor Number Code Name # of Cores # of Threads Base Frequency Max Turbo Frequency Cache Memory Types Graphics
i7-10710u Whiskey Lake
(based on Coffee Lake)
6 12 1.1 GHz 4.7 GHz 12 MB LPDDR3-2133 Intel® UHD Graphics for 10th Gen Intel® Processors


Credits

OTHER REPOSITORIES
CREDITS

Acidanthera
For bringing us OpenCore and maintaining all the essential kexts, like VirtualSMC, Lilu, WhateverGreen, and many many more!

Tyler Nguyen @tylernguyen

Dortania
for his awesome OpenCore guides - here to mention Dortania's OpenCore Install Guide and OpenCore Post-Install

Owner
Aidan Chandra
Undergraduate at Stanford pursuing EE and CS on temporary leave of absence Intern at Thirdwave.ai Founder of Gardensense.net
Aidan Chandra
Comments
  • Big Sur: prohibitory symbol on bootup [20QD0000US]

    Big Sur: prohibitory symbol on bootup [20QD0000US]

    I created a Big Sur 11.2.3 USB using an M1 mac and copied over the files from the release, however on bootup the progress bar advances for a bit but then I get hit with a prohibitory symbol and support.apple.com/mac/startup. Is this expected?

  • Trackpad randomly jumps cursor

    Trackpad randomly jumps cursor

    Bug Trackpad is very slow, and un-responsive, difficult for tap to touch, while scrolling sometime the cursors is jumped

    Configuration

    • Opencore
    • Thinkpad x1 carbon 7th gen with IceLake CPU
    • Extension:
      • VoodooI2C
      • VoodooInput
      • VoodooPS2Controller
      • VoodooRMI
  • Working With X1C7 10710u model

    Working With X1C7 10710u model

    After applying:

    Cpuid1Data: EC060800 00000000 00000000 00000000 Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000

    Everything is working perfectly aside from the internal microphone and some skipping on the trackpad

  • Audio Layout for 4 speakers

    Audio Layout for 4 speakers

    I tried 11, 21, 31, 52 and 71 none of these layout work for 4 speaker

    If you report a problem, provide at least these information and if so the device:

    Lenovo Model
    Thinkpad x1 carbon gen 7 20R1 R2
    
    CPU
    i5 10210U
    
    
  • Doesn't boot with Intel iGPU spoof enabled

    Doesn't boot with Intel iGPU spoof enabled

    Hi,

    I'm trying to launch Catalina installer on 20QE-SP40U (that is almost the same as 20QE-S01L00), but with default config it doesn't boot (it stucks after "IOConsoleUsers: gIOScreenLock..."). I already followed the guide without any success.

    If I disable the Intel iGPU spoof it boots, with in VESA mode

    Any clue?

  • HDMI  output doesn't work

    HDMI output doesn't work

    Lenovo Model: Yoga X1 20QG-S1630J

    CPU: Intel i7-8665U Graphic: UHD 620 Device HDMI output doesn't work with external DELL display 2560x1440

    I used your latest version.

    Thanks

  • Sleep wake issue

    Sleep wake issue

    Just saw sleep wake failure in EFI error.

    State info:

    • PC plugged in for a long time
    • No power button wake, no keyboard wake
    • USB efi boot was unplugged prior to going to sleep
    • Hibernatemode was 3
  • [Kext] ECEnabler  - Instant battery status - no more ACPI patches?

    [Kext] ECEnabler - Instant battery status - no more ACPI patches?

    ECEnabler is a Lilu plugin which allows macOS to read any size of EC field, meaning that no more ACPI patches are needed to split EC fields up within ACPI.

    I have been using it for a while and it works great. Thinkpad x1 7th 20R1

  • AAPL: [EB|#LOG:EXITBS:START] Issue

    AAPL: [EB|#LOG:EXITBS:START] Issue

    AAPL: [EB|#LOG:EXITBS:START] Issue

    Lenovo Model Lenovo X1 Carbon 7th Gen - 20R1-S05B00

    CPU Intel i7-10710u

    I have tried everything I can think of to fix this issue, I have followed all recommended fixes from https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/extended/kernel-issues.html#stuck-on-eb-log-exitbs-start and none of them work, I keep getting stuck at the same error no matter what I change. I am brand new to the Hackintosh world so I would appreciate any feedback or fixes you can think of.

    Opencore log file: https://drive.google.com/file/d/1TNrxsvectsB39jicnVk58lF_cRgO23p7/view?usp=sharing

    Config.plist: https://drive.google.com/file/d/1zNo-lhZ4pvlEbJe0zAHoPV8H3kc0lD5H/view?usp=sharing

    If you need anymore information from me I will try my best to get it. Thanks.

  • Question About X1 Carbon 7th 20QD001VUS

    Question About X1 Carbon 7th 20QD001VUS

    Hello!

    I was wondering if it is possible to boot a 20QD001VUS with this EFI ? I've tried MacOS from 12 all the way to 10 with this EFI and I get stuck at the Apple logo. Would be awesome if there is a way to get this to work on my laptop.

    Please let me know!

  • How to use this EFI

    How to use this EFI

    I downloaded your EFI, generated SMBIOS and wrote it into config. But when I use EFI, I get stuck in the apple log interface. Is there any other work after modifying config

  • Installing big sur stuck at 13 minutes remaining

    Installing big sur stuck at 13 minutes remaining

    20QE-S01L00 i7 8565U

    Using efi in this repo with platformInfo added, BIOS configuration referred to tylernguyen/x1c6-hackintosh, however, I got stuck when installing big sur with 13 minutes remaining. Does this might be caused by my wrong configuration or incompatible os version? Thanks a lot.

  • Unable to boot installation usb. Stuck at [EB]#LOG:EXITBS:START]

    Unable to boot installation usb. Stuck at [EB]#LOG:EXITBS:START]

    I had a 20R1 model and my laptop stuck at booting process. I googled the error code [EB]#LOG:EXITBS:START], and it seems to related to CFG Lock. I could not find the option to disable CFG lock in bios, and neither AppleCpuPmCfgLock nor AppleXcpmCfgLock in config.plist works for this issue.

  • Headphone sound weird

    Headphone sound weird

    Describe your issue here. Lorem ipsum...

    If you report a problem, provide at least these information and if so the device: Lenovo Model < Your Lenovo Model, e.g.: 20QE-S01L00 > 20R1 CPU < Your exact(!) CPU model, e.g.: Intel i7-8565U > Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz Device Headphone sound weird with layout 71, im using multi-output for internal speaker, but when i change to headphone, the headphone sound weid

pre-built coreboot images and documentation on how to flash them for Thinkpad Laptops
pre-built coreboot images and documentation on how to flash them for Thinkpad Laptops

Skulls - not quite Heads pre-built coreboot images with an easy installation process Skulls makes it easy to install an unlocked, up-to-date and easy

Jan 3, 2023
This repository provides you the material of installation the Catalana Hackintosh

VivoBook Asus X542UQ laptop Catalina 10.15.7 Hackintosh This repository provides you the material of installation the Catalana Hackintosh with Opencor

Oct 9, 2021
A WMI driver for Lenovo Legion series of laptops

Problem The Legion line of laptops from Lenovo come with the ability to switch power modes between "quiet", "balanced" and "performance." On Windows t

Aug 20, 2022
Next-gen Rowhammer fuzzer that uses non-uniform, frequency-based patterns.

Blacksmith Rowhammer Fuzzer This repository provides the code accompanying the paper Blacksmith: Scalable Rowhammering in the Frequency Domain that is

Nov 16, 2022
Next gen. of NekoCal: An open-source hackable and programmable e-paper display

NekoInk NekoInk is an open-source, programmable, and versatile E-paper display platform. It offers connectivity options to various type of E-paper scr

Nov 16, 2022
A Gen implementation in C. With memory efficiency, portability and speed in mind

A Gen implementation in C. With memory efficiency, portability and speed in mind

Jul 31, 2022
Create VCV Rack modules from gen~ exports
Create VCV Rack modules from gen~ exports

gen-rack Export gen~ patches to VCV Rack modules. How to use First, you'll want to grab a copy of this repository (clone/download/etc). Then take a lo

Dec 24, 2022
Simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled (faking secure boot)
Simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled (faking secure boot)

SecureFakePkg is a simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled. In other words, it fakes secure boot status.

Dec 30, 2022
fortnite cheat external that uses efi drivers and is updated

fortnite-external-efi-drivers fortnite cheat external that uses efi drivers and is updated ALL CREDITS TO CHASE: https://github.com/Chase1803 i just u

Dec 18, 2022
Macos-arm64-emulation - A guide for emulating macOS arm64e on an x86-based host.

macos-arm64-emulation Use the following guide to download and configure all of the necessary tools and files for emulating the macOS arm64e kernel. Th

Jan 7, 2023
Hide SMBIOS/disk/NIC serials from EFI bootkit
Hide SMBIOS/disk/NIC serials from EFI bootkit

Rainbow Rainbow is a bootkit like HWID spoofer for Windows. It abuses several hooks in EFI runtime services and uses clever DKOM to hide hardware seri

Jan 6, 2023
ThatOS64 is for the youtube series on 64-Bit Kernel Development pre-loaded by the EFI
ThatOS64 is for the youtube series on 64-Bit Kernel Development pre-loaded by the EFI

Step by Step Tutorials on how to code a 64-Bit loader and kernel for OS Development NOTES Starting with CODE5, the resolution from the EFI file sets t

Dec 25, 2022
GNU-EFI fork without the bs.

reduced-gnu-efi =============== reduced-gnu-efi is a fork of GNU-EFI that strips out all code save for the relocation assembly stubs and the EFI head

Dec 1, 2022
A guide and set of tools for working with TinyML powered Audio Sensors
A guide and set of tools for working with TinyML powered Audio Sensors

Audio Sensor Toolkit This is a guide on how to build an Audio Sensor using Machine Learning, and helpful tools. Audio Sensor Guide Audio Tools Acceler

Sep 21, 2022
Step-by-step guide through the abstract and complex universe of Fragment Shaders.

The Book of Shaders by Patricio Gonzalez Vivo and Jen Lowe This is a gentle step-by-step guide through the abstract and complex universe of Fragment S

Jan 2, 2023
V4L0R4NT 0V3RL4Y 3XT3RN4L 35P CH34T -- Guide written in Indonesian Language~

V4L0VL4Y V4L0R4NT 0V3RL4Y 3XT3RN4L 35P CH34T K4L4U M4U N908R0L M45UK 4J4! H3H3 C4R4 C0MP1L3 DR1V3R 1N5T4L W5L K4L4U 94K PUNY4 L1NUX 9UN4K4N L1NUX Y4N9

Oct 25, 2022
A comprehensive guide to 50 years of evolution of strict C programming, a tribute to Dennis Ritchie's language
A comprehensive guide to 50 years of evolution of strict C programming, a tribute to Dennis Ritchie's language

42 School Cheat Sheet by agavrel ?? Intended for 42 alumni, current students and candidates Truth can only be found in one place: the code – Robert C.

Jan 3, 2023
Guide to Cross Compiling on a Raspberry Pi

Guide to Cross Compilation for a Raspberry Pi > Start Setup XCS and RPi Setup RPi Network and SSH Setup RPi Peripherals Setup Cross-compile environmen

Oct 4, 2022
A guide that teach you build a custom version of Chrome / Electron on macOS / Windows / Linux that supports hardware / software HEVC decoding.

enable-chromium-hevc-hardware-decoding A guide that teach you build a custom version of Chrome / Electron on macOS / Windows / Linux that supports har

Jan 1, 2023