Contribute
Register

[Guide] Lenovo Thinkpad X1 Carbon (Gen 3, 2015 Model) using Clover UEFI

Status
Not open for further replies.
Joined
Dec 28, 2014
Messages
149
Motherboard
Lenovo X1 Carbon (Gen 3 20BS) - Clover
CPU
i7-5600U
Graphics
HD 5500, 1920x1080
thinkpad x1 carbon smaller.png

Overview

Welcome to my Lenovo Thinkpad X1 Carbon (Gen 3) detailed guide, this guide is based on macOS High Sierra. A significant portion of this guide including content, layout, and supporting files, kexts, ssdt patches, and more have been stolen from @Sniki so I want to give credit to him before continuing. This laptop is a solid Hackintosh machine since it offers almost 100% real Macbook Pro experience & functionality.


The X1C is very similar to the T440, L440, L440s… if you have questions/problems feel free to ask in this thread but your problem may already be covered in one of those if you want to quickly take a look.


My Laptop Specs
Intel Core i7 5600U 2.6GHz (turbo boost up to 3.2GHz)
Intel HD 5500 Graphics
Samsung 860 EVO SATA M.2 - 500GB Solid state drive
8GB DDR3 Ram Clocked at (1600MHz)
Realtek ALC3232 Audio (Realtek ALC292)
LCD Display 1920x1080 14"
Intel AC7265 Wireless/Bluetooth Card (Replaced with DW1830 – BCM943602BAED Wireless / Bluetooth Card)
Trackpoint/Trackpad with physical buttons for Trackpoint

What Doesn't Work
(Looking at this list you will understand that everything does work except those listed below)
  • Docking Port (Completely untested, assume it’s not working and never will.)
  • Wifi/Bluetooth After Restart (Works fine after a shutdown, but not restart.)


Upgrades
BCM943602BAED Wireless / Bluetooth Card – Specifically a Dell DW1830

The Intel Wifi/Bluetooth card that comes with the X1 Carbon will NOT WORK within OSX, therefore you must upgrade your wireless card if you want native wifi.

I tried multiple DW1560s AND the Lenovo BCM94352 variant, they worked fine in OSX but did not work at all in Windows or Linux… The DW1830 works for me, try other cards at your own risk.

As far as I know this machine does not have any whitelist whatsoever, therefore there is no need to try to patch the bios.




Lenovo ThinkPad X1 Carbon Guide
Please note, this guide is for the 3rd Generation, 2015 model X1C. Following this guide with older or newer hardware may result in a non-functional machine.

BIOS
  • Disable Security Chip
  • Disable Anti Theft Module
  • Disable TPM
  • USB3 Mode -> Enabled

All of these settings if left enabled will cause problems with the macOS and especially with sleep, in order to have a fully functional setup you are required to disable those settings in BIOS.


Creating USB Installer
Everything is covered at @RehabMan guide on how to create a USB Installer, go read his guide first then come back here to continue with the creation of USB Installer. Link to his guide:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

Download latest MacOS High Sierra from AppStore
Download Latest Clover Bootloader (use Rehabman’s build!) - Link
Create Installer USB

Clover Bootloader customizations to choose:
  • Install for UEFI Booting Only
  • Install Clover in ESP
  • Drivers64UEFI > OsxAptioFixDrv-64
  • BGM Theme

Finally, we need one EFI driver not included in the Clover installer, HFSPlus.efi:
- it can be downloaded from here: https://github.com/JrCs/CloverGrowerPro/raw/master/Files/HFSPlus/X64/HFSPlus.efi.
- copy it to /EFI/Clover/drivers64UEFI

Note: Please, DO NOT forget HFSPlus.efi. Without it, you won't see any HFS+ partitions, including the HFS+ partition that the OS X installer is on.

Into EFI/Clover/kexts/Other add these kexts since they will be mandatory for macOS Installation:
- Copy my config_install.plist into EFI/Clover/ and rename it to config.plist (replace the old one)

Read this and decide whether or not you want to us APFS. If so you need to install APFS.efi file into the Clovers/Drivers64UEFI folder, if not then you don’t need that file but when installing OSX you will have to take extra steps.

https://www.tonymacx86.com/threads/...n-high-sierra-update-or-fresh-install.232855/


Reaching the High Sierra Installer
Follow steps 1, 2, and 3 in Rehabman’s guide here to reach the High Sierra installer. For the record, I used the createinstallmedia method to create the usb stick.


Partitioning the Disk (if you want to double/triple boot):
Open Disk Utility before proceeding with the install. Let’s setup our partitions. Create 3 partitions for each of the operating systems you want to have. The format of the Hackintosh partition should be HFS + J. You cannot create a NTFS partition right now for Windows, so make your Windows partition ExFat (this will be changed later). Finally, if you want a Linux OS then create one more partition for Linux now.


Organize your partitions in such a way that the most important/most permanent partitions are first. (This is because if you get rid of the least important you can expand the more important partitions can reclaim the empty space.) In my case I still prefer Windows over OSX and then OSX over Linux. Due to this my partition layout and order is as follows:

Windows (320gb) -> High Sierra (120gb) -> Ubuntu (30gb)

diskutility.png



Installing High Sierra
Continue following Rehabman’s steps 4 through 9 in the guide here to complete the High Sierra installation. I recommend sticking with the HFS + J file system for your High Sierra partition so follow his steps regarding how to bypass the automatic APFS conversion.

You should be able to reach the desktop now.


Dual/Triple Boot Note
If you’re also going to install Windows or Linux I recommend doing so now! If something is going to go wrong you’d prefer for it to happen now instead of after we finish setting up our hack. I installed Windows 10 + Ubuntu 17…. I originally tried Centos 7 but it didn’t ship with a working wifi driver by default for the DW1830 and installing Ubuntu seemed preferable to me than trying to fix that.


Windows Notes
If you replaced the Intel wifi chip with the DW1830 you might find that the default/auto installed driver doesn’t work very well. This driver is working great for me. (Will also attach to this post just in case Dell were to take their page down.)

You will also need to edit a field in the registry so the time doesn’t get messed up when switching between OSX and back to Windows. See here.


Post Install Steps
From this point forward we will be looking at the required steps in order to get our hack working well. We need to bring bluetooth online, get brightness controls working, remove the horrible graphic lag, and more.


Disable Blocking of Apps from Unknown Sources
It’s irritating when I cannot run the apps that I download, this quick terminal command will allow apps to run from anywhere.
Code:
sudo spctl --master-disable

Then go to System Preferences > Security & Privacy > General and "Allow apps downloaded from:" to Anywhere.


Install Clover to Boot Disk
After you reached desktop, now it's time to install Clover Bootloader into HDD/SSD, Install with Clover with same settings as above. Again, make sure to use Rehabman’s build here:

https://bitbucket.org/RehabMan/clover/downloads/

Clover Bootloader customizations to choose:
  • Install for UEFI Booting Only
  • Install Clover in ESP
  • Drivers64UEFI > OsxAptioFixDrv-64
  • BGM Theme

Finally, we need one EFI driver not included in the Clover installer, HFSPlus.efi:
- it can be downloaded from here: https://github.com/JrCs/CloverGrowerPro/raw/master/Files/HFSPlus/X64/HFSPlus.efi.
- copy it to /EFI/Clover/drivers64UEFI

Note: Please, DO NOT forget HFSPlus.efi. Without it, you won't see any HFS+ partitions, including the HFS+ partition that the OS X installer is on.


Install Required Kexts
Use your favorite kext installer, I personally use Terminal like described below.
Install into "Library/Extensions". Copy all the kext into a folder on desktop name like "kext".
Open Terminal
Code:
cd ~/Desktop/kexts
sudo cp -R *.kext /Library/Extensions/
With this command all the kexts will be installed into Library/Extensions.

List of the kexts:

Rebuild Caches with:
Code:
sudo kextcache -i /

Hotpatching ACPI
For ACPI patching we use the hotpatching. It's my understanding that hotpatches are files that describe what changes Clover should make to your DSDT/SSDTs at runtime. I could write a long guide on how to patch your DSDT/SSDTs but I could never share a pre-patched file because they change based on model numbers, firmware versions, etc. Hotpatches will do the patching for you based on DSDT/SSDTs for your device. This is so much better than static patching, just follow the steps below and we'll be done:

You will need a recent build of iasl to disassemble them properly. There is an appropriate version available here: https://bitbucket.org/RehabMan/acpica/downloads/. It is a good idea to copy the iasl binary to your path (eg. /usr/bin), so it is easily accessed from Terminal.

For example, if you downloaded it to ~/Downloads/iasl.zip, you can extract and copy it in Terminal:
Code:
cd ~/Downloads
unzip iasl.zip
sudo cp iasl /usr/bin

Download my patches.zip attachment and throw the containing files into a folder on the desktop called “patches”.

Open terminal and into the terminal window enter the command(s):
Code:
cd ~/Desktop/patches
then
Code:
iasl SSDT-X1CG3.dsl
This will create the compiled hotpatch file named SSDT-X1CG3.aml which you should copy it into HDD/SSD EFI/Clover/ACPI/Patched. Once that file is present you're done!

For more information about hotpatching and to better understand it you are welcome to read the guide:
https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/


Copy over the config.plist provided for your laptop:
Now copy my config_post_install.plist into "HD/EFI/Clover/" of your HDD/SSD Partition which does have everything already setup. Make sure you rename the file to config.plist and overwrite the config.plist that’s there. You will need to choose the patch according to your laptop at Kernel & Kext Patches section:
For example:
  • If you have standard Bios and have standard 32/64 DVMT-prealloc then the patch is enabled by default on config.plist
  • If you have set 128MB DVMT-prealloc in Bios then that patch is already present but you will have to enable it manually, while disabling the 9mb cursor patch.

Restart Time!
Once clover it installed on the boot disk, the new config.plist is in place, the kexts and hotpatches are installed we need to restart a few times. (At least twice). Everything should start to come online, the mouse should work, and more! Everything from this point on will be about perfecting our system.


Disable Hibernation

Type the following commands in terminal in order to disable hibernation as it is not supported on Hackintosh.
Code:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage


Generate your own SMBIOS data for iMessage & FaceTime
Every device does have it's unique ID's and it's manadatory to create your Unique ID's before accessing Apple Services.
For more details i will add the links to the two respective guides from @jaymonkey & @P1LGRIM for iMessage

P1LGRIM -An idiot's guide to iMessage:
https://www.tonymacx86.com/threads/an-idiots-guide-to-imessage.196827/

JayMonkey - How to Fix iMessage:
https://www.tonymacx86.com/threads/how-to-fix-imessage.110471/


Audio
For audio we’re using an audio injector "ALC3232.kext" which @Sniki patched on his own from CodecDump in Ubuntu. Audio is implement via SSDT-HDEF & SSDT-HDAU + config.plist which contains Kernel and Kext Patches. In my guide we will use LayoutID 28 which is already injected on SSDT-HDEF & SSDT-HDAU - (for MiniDP Audio)
This kext should work for all the other Thinkpad Laptops that do have ALC3232 (ALC292) Audio Codec.

For this codec, it's required to use ALCplugFix in order to fix External Mic "Line-In".
What it does, it does automatically detect when you plug in headphones and does switch to the required verb for it.

Sniki also built a CustomSSDT for CodecCommander "SSDT-ALC3232" which is required for fixing issues after wake from sleep.
Audio is 100% working, All Inputs, Outputs & Even after wake from sleep.
  • Speakers
  • Internal Mic
  • Headphones
  • External Mic (Line-In) "even with headsets that have built in mic like EarPods etc without any issue.”
(I noticed earlier on when using my external headphones that the audio stopped working and was replaced with static. It sounds like @Sniki may have found a solution and will have an updated ALC3232.kext out at some point.)


Audio Installation
We have already installed "ALC3232.kext” and installed the DSDT/SSDT changes, the config_post_install.plist file already has the config.plist changes required for audio. The only remaining step is installing a sleep/wakeup fix. Download the alc_fix from @Snikis guide here.
  • Copy alc_fix folder into desktop and open terminal and enter:
    Code:
    cd ~/Desktop/alc_fix
    ./install.sh
Audio installation is done!


Keyboard
Keyboard is fully mapped and all buttons are working including audio/brightness keys, the print screen key and fn buttons. Most of these keys won’t do anything yet, here is how I assigned mine:
  • F4 (Mic On/Off) - Open Siri (Under SysPrefs -> Siri)
  • F7 (Projector) – Video/Mirror Toggle (Under SysPrefs -> Displays -> Arrangements [Only visible when a secondary monitor is plugged in.])
  • F8 (Radio On/Off) – Opens Notification Center (Under SysPrefs -> Keyboard -> Shortcuts -> Mission Control)
  • F9 (Settings) – Opens System Preferences (See the top answer here to see how)
  • F10 (Cortana/Search) – Opens Spotlight Search (Under SysPrefs -> Keyboard -> Shortcuts -> Services -> Searching)
  • F11 (Open Apps/AltTab) – Shows/Hides Dock (Under SysPrefs -> Keyboard -> Shortcuts -> Launchpad & Dock)
  • F12 (Start Menu) – Opens Launchpad (Under SysPrefs -> Keyboard -> Shortcuts -> Launchpad & Dock)
  • PrtSc (Print Screen) – Save Screen Cap to Desktop (Under SysPrefs -> Keyboard -> Shortcuts -> Screen Shots)
To see how these keys work, and how the functionality is implemented, you can have a look at SSDT-KBD.dsl attached in the patches archive.


Touchpad/TrackPad/TrackPoint
Rehabman’s official VoodooPS2Controller.kext finally plays nice with Thinkpads, or more specifically, the Trackpoint and its left, middle, and right physical buttons. There are flags that VoodooPS2Controller must read from the DSDT/SSDT patches, you can see the flags we use in SSDT-KBD.dsl file.


Wireless & Bluetooth
Wireless & Bluetooth won't work unless you replace your Wireless/Bluetooth card with a compatible one. As this laptop does use NGFF card you may want to look for "DW1830 BCM943602BAED" which has native IDs.

The DW1830 expects 3 antennas whereas the X1 Carbon only has 2, I am using the DW1830 with only 2 antennas is and it working great.

I tried to install multiple DW1560s. They both worked great in OSX but no matter what I did I could not get them to work in Linux or Windows. If you only want OSX then the DW1560 might be suitable, it just never worked for me.

You should already have the kexts installed to make these cards work.

Note: I have not tested universal clipboard, handoff, etc – those features don’t matter to me very much but I can’t think of a reason why they couldn’t be made to work (if they don’t already – search this site for more info if you are having trouble)


Rest of the "Important" fixes/patches
  • Power Management
  • Battery Status
  • Dual Battery Support
  • LED Blink after wake from Sleep
  • USB Ports
  • MiniDP Port & MiniDP Audio
  • Brightness/Backlight
  • Practically everything else

Are all fixed/patched & prebuilt on config.plist & hotpatches which are assembled on a single SSDT-X1CG3.aml SSDT.


Customization
A fully working hackintosh laptop also requires to have his Full real look in the system for eye satisfaction.

SystemLogo
I created a X1 Carbon SystemLogo for the About This Mac screen. This is the same logo at the top of this guide.

Installation:
  • Download SystemLogo.tiff from this posts attachments
  • Copy it and go to Applications/Utilities/System Information/ right click on it and click on "show package contents"
  • go to /Contents/Resources and paste the new logo there, Replace with the existing one, Enjoy your X1C Logo on “About this mac”!

Clover Theme
I am not a big fan of the BGM theme that we started with. I found a nice Lenovo/Thinkpad theme (pictured below) which appears to be by Kogen Mantis and modified or maintained by tluck. (Someone inform me if I'm wrong.) Anyways, if you want to use this theme (or find one online) feel free.

ThinkpadClover.png

Download Thinkpad_Clover_Theme.zip and extract it (or the theme of your choice from elsewhere). Mount your EFI partition and put the theme folder in the EFI/Clover/Themes directory.

Finally in the config.plist file change the Theme from BGM to ThinkPad or whichever theme you opt to use.


Problem Reporting
If you need help make sure you post your problem in detail below and include the required problem reporting files. Here is the easiest way to make sure you include everything we need to help you! If you don't include these files you probably won't receive any help!

Black.Dragon74's script to automatically compile problem reporting files.


Credits
@RehabMan: Everything, making it possible for us to use macOS on laptops like on real MacBooks. Special thanks for working with me to bring in extra Thinkpad specific code into his VoodooPS2Controller kext!

@Sniki: His T440 guide got me 95% of the way to a working Hackintosh alone.

@CoBrA2168: For testing changes I made to VoodooPS2Controller.kext prior to Rehabman pulling those changes into the official builds.

@Jos1984: for helping Sniki with USB Ports capture & testing.




Updates

Version 1.0 (April 30, 2018)

  • Copied the heck out of @Sniki's T440S guide to create this post :)
  • Basic X1C Hackintosh Guide is now available.. I will be making improvements over time and adding in customization notes.
 

Attachments

  • thinkpad x1 carbon.png
    thinkpad x1 carbon.png
    438.5 KB · Views: 2,078
  • config_install.plist
    13.2 KB · Views: 1,496
  • patches.zip
    13.8 KB · Views: 1,467
  • AppleBacklightInjector.kext.zip
    1.2 KB · Views: 828
  • config_post_install.plist
    14.5 KB · Views: 1,219
  • Windows Dell DW1830 Driver.zip
    26.2 MB · Views: 700
  • SystemLogo.zip
    241.7 KB · Views: 630
  • ThinkPad Clover Theme.zip
    694.8 KB · Views: 855
Last edited:
Hi, thanks for sharing.
 
Excellent guide @jcsnider , i like the additional informations that you added (which are missing on my guides), but im finally back.
I will soon resume my work at hackintosh during this week like:
- Update my guides
- Update the ALC3232.kext with correct configuration to fix sudden loss of audio after some period of time & higher volume with best found Sound Processing Elements for speakers on AppleHDA.kext layouts.
- etc.

BTW, i do have a DW1560 Wireless Card but i have no issues at all finding drivers on Windows.
Actually, on clean windows 10 installation the driver does get installed by Windows itself and then find Updated drivers via Windows Update.

Not sure if im allowed to post any link but you can search and find it very easy on the web.

Go find Driver Easy and see if it does find a compatible driver for your DW1560, what i assume is it's a clone of DW1560 from the Chinese companies and have different IDs otherwise i see no reason why it won't work.

Driver Easy is free and also premium, the free model limitations are only download speed slow and no automatic installation of drivers, the benefit is that you can update all your drivers without number limitations, if it finds driver for your DW1560:
you can click on manual installation > copy the downloaded driver folder on desktop, open device manager and manually search by searching on the downloaded driver folder directory.

BTW i also really like that theme that you found, congrats for that, do you mind if i add it into my guide as well ?.
 
Thanks for sharing, I followed your guidance, everything work well except the audio. So, except what you mentioned, anything else I need to do?

My Laptop Specs
Intel Core i7 5600U 2.6GHz (turbo boost up to 3.2GHz)
Intel HD 5500 Graphics
8GB DDR3 Ram Clocked at (1600MHz)
LCD Display 2560x1440 14"
 
Thanks for sharing, I followed your guidance, everything work well except the audio. So, except what you mentioned, anything else I need to do?

My Laptop Specs
Intel Core i7 5600U 2.6GHz (turbo boost up to 3.2GHz)
Intel HD 5500 Graphics
8GB DDR3 Ram Clocked at (1600MHz)
LCD Display 2560x1440 14"

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
I just got an X1 Carbon 3rd gen a few days ago and have been using High Sierra without issues (aside from the lack of hardware acceleration for the UI of course), and I'm seriously tempted to give this a shot. Before I get that deep into this - and I do need to order the Broadcom/Dell Wi-Fi card as well - is it possible to know if the Intel NIC actually works, meaning can the OP (jcsnider) check and see if that aspect works? I don't know if you happen to have the Ethernet dongle that the X1C3 came with, I got my laptop used so I just ordered one of those dongles from an eBay seller, now I have to order the Broadcom card as well later.

I don't mind tinkering around - I have the WQHD touch screen so I'm wondering how that will be affected by any of this if I do decide to give it a go and of course the scaling to the HiDPI display aspects will be of interest as well.

I'm not 100% committed to doing this just yet - making an image of my Win7 partition takes like 3 minutes so that's not an issue. It's a complicated process of course but it could be a fun project just to see if I can get it functional. :)

Thanks for sharing this very well researched and written guide, and if you can check on that with the Ethernet dongle - presuming you have one - I'd love to know. I have a Startech USB 3.0 to Gigabit Ethernet adapter and it says there's a macOS driver for it but I have my doubts, that would at least allow me to get online with the installation till the dongle or the Broadcom card arrives.

Anyway, we'll see what happens. Also, can you comment on the update (if you did it) to 10.13.5? Always curious about whether or not the official updates trash an installation for whatever reason.
 
The Intel wireless cards will never work on Hackintoshes, you must order a Broadcom card. I ordered 2 Dw1560s and they worked fantastically on Mac but never worked on Windows (I tried dozens of drivers including the one Win10 installs by default).

The DW1830 works well on Windows and Mac for wireless internet and Bluetooth but it’s a 3 antenna card that I’m using with 2 antennas. Connection quality could be better no doubt - at this point in time this would be the card that I recommend.

I can’t speak for the usb 3.0 Ethernet adapter, but the x1c Ethernet adapter from Lenovo works great.

You might make a change or two for the higher resolution screen (maybe not). I’d follow the guide and then post any problems you encounter. If I can’t help then others will be able to.

I have NOT done the update but I might give it a go (along with trying the DW1560 again) over the next couple of days.
 
Hey how did you manage to install the DW1830? I purchased the card but it seems like its way too wide to fit. The mobo connector + SSD blocks it from seating correctly.

I have the same 20BS configuration for the X1 Carbon
 
Following up to the following:
Also, can you comment on the update (if you did it) to 10.13.5? Always curious about whether or not the official updates trash an installation for whatever reason.
I have NOT done the update but I might give it a go (along with trying the DW1560 again) over the next couple of days.

I installed the DW1560 (again) and tried about a dozen of drivers ranging from those provided in Windows 10 by automatic searching/install, dells website, and other locations -- I am convinced that there is nothing that I could do to make the card work on Windows. The DW1560 continues to work great in OSX though.

Hey how did you manage to install the DW1830? I purchased the card but it seems like its way too wide to fit. The mobo connector + SSD blocks it from seating correctly.

It's a tight squeeze. I actually removed my SSD and comfortably got my 1830 card to fit. When installing the SSD again they overlap a little but it's been no problem for me.

I'm not sure if it's just my laptop/my card or if it'll be the same for everyone but my card would not detect/work if completely tightened down.

Pro Top: Before closing up your laptop, power it on and boot into Lenovo Diagnostics with F12, run the PCI test and make sure the # of offboard devices is 1. (Meaning that the card is being detected properly.)

Good luck!
 
@jcsnider Is it possible for you to write a guide like this for the X1 Carbon 2nd Generation? I plan on getting one soon and I would really enjoy macOS on it. Could I actually just follow this one (Except for the DSDT Patches)?
 
Status
Not open for further replies.
Back
Top