Skip to content

wu-hongjun/macOS-Thinkpad-X1-Extreme

Repository files navigation

Thinkpad X1 Extreme Gen I - macOS Configuration

macOS Clover BIOS MODEL LICENSE

Critter

Oh! This thing you guys made, excited! ——— The Elder.

Current Release: 10.15-V3.7 LTS

Developer: @Errrneist

READ THE ENTIRE README.MD BEFORE YOU TAKE ANY ACTION.

英语并非你的首选语言?中文版文档

Update

  • [20200523] Re-Translated the Chinese version of the Readme.MD.
  • [20200522] Made 10.15-V3.7 the LTS stable version.

Instructions

Please read the Post-Install section.

Pre-Install
FORK the project to your own repository and clone it to your machine using Github Desktop to make changes.
Issue Report
  • We welcome people to submit issue and report them! This will help all of us to figure out what can be done to the laptop. Please file a issue in the Issues module.
  • I recognize that there are a lot of Chinese speaking people participating in the discussion which is good! But if you can, please also leave an English version of your message when you post your discussion so we can have the world solve problems together.
Clover Bootloader

Post-Install

Customize "About this Mac":

Wifi & Wireless Card Adaptors:

Memory:

  • Normally, your memory on your machine should just work. However, with machines that has 64G of memory (ughhhh you rich people!!), you might need some workaround.(Issue #34)
  • Presented by oreziam, he gave a brief description of his solution in the above issue.
    • Note that I do not know, and cannot help you with this issue since I have 32G of memory. You should contact oreziam if you have questions.
    • In order to make this work, you need to inject info of the system memory, but with one more sockets than usual.
    • That means you need to inject 4 channels and 5 sockets for memory info, 16G * 5.
    • When you boot into the system, it would detect 64G correctly.

Sound & AppleALC:

  • If your AppleALC.kext does not load using (for example, V3.0), then read the following passage.
    • V3.0 and many versions in the previous releases uses a special AppleALC.kext with alcid=7.
    • Note: In many cases, a simple restart will reload AppleALC and your audio will come back to normal.
    • There is also a kext that is saved as a .bak file that you can try if newer AppleALC.kext doesn't work for you.
    • However, if this does not work with you, you should try the following:
      • Download the newest AppleALC.kext from github.
      • Delete the old AppleALC and replace it with the new one.
      • Change boot argument alcid=7 to alcid=21.

32 Bit Program Incompatibilities:

  • 32 bit program is no longer supported in macOS 10.15.0 Catalina.
  • Using 32 bit programs on macOS Catalina would cause reboot shortly after login.
  • Most common killer programs: Tuxera NTFS 2018 and Steam.
    • Tuxera NTFS 2019 still does the same thing. Hmmmmm. Be careful you have been warned.
  • Solution:
    • Keep rebooting until you can get into the system somehow.
    • I used Appcleaner to uninstall Tuxera, ans it is effective. So I would recommend that.

Battery:

  • There is an Hibernation battery drain issue (Issue #36) of battery draining and the machine does not fully hibernate when I want it to, for example, closing the lid. (It also makes a little bit of heat, not too much as fully turned on), approximately 5% per hour. You can read more in the link above.
  • To my knowledge, you only need to patch your own DSDT, and since this problem hasn't bothering me much and I am busy, fixing this issue has not been implemented.
    • Even if it is implemented, since everyone have different DSDT, it probably won't work for you anyway.
    • If you are curious, I am using zysuper's DSDT (Which might be the reason that caused this issue) since it just works on my laptop and I don't need to spend extra time in my busy life to make my own. Netflix and chill is much more fun...or Panopto and chill?

Bluetooth:

Fan:

  • Some people experienced fan issues that the fan does not turn on during load. (Issue #32)
  • This can be solved by applying a BIOS update (1.17 -> 1.23).

Windows:

  • Let me emphasize it again, do not boot Windows using Clover! It will cause weird problems.
  • Touchpad in WINDOWS:
    • People are experiencing weird touchpad issues when boot windows from CLOVER. So far not much can be done, so I recommend you to just set auto boot time in clover be 2sec or -1sec, and just use F12 to switch OS.
  • Time sync issues: Some might also experience between Windows and macOS. Here is a Fix (cr. SwampFox82).

Boot:

  • Special Simplified Edition: Many people are experiencing unknown issues to boot into macOS.
  • I released a EFI configuration to at least boot into the OS and see what we can do. Read more in the release comment. (It is for 10.14.3 idk if it works in 10.14.4 or newer).

Touchpad, Touchscreen and Multi-Gesture:

  • Turns out Acidanthera's VoodooPS2Controller.kext is good enough for enabling multigesture and touchscreen.

    • No need for VoodooI2C.kext! (Change merged in the 10.15.0.3.2 release)
  • I was requested to make a video on how it works on the touch screen, link below.

  • VoodooI2C.kext:

    • NOTE: I used to say VoodooI2C is not working and unuseful, I was wrong. It works to enable gesture on the touch display.
    • A interesting discussion with jamesxxx1997 implies that (At least on 10.14) you can use VoodooI2C.kext to achieve touch screen and touchpad gesture support.
      • Optional Reading: A more through guide for VoodooI2C is here: Guide(Chinese).

OpenGL:

  • For video editors who use FinalCutPro and Davenci be aware that updating to 10.14.3 might cause OpenGL issue that makes rendering take forever. (cr. cthetoy).
  • However, with macOS 10.15 going all in with Metal 2 I do not suspect this will be an issue from now on. Programs using OpenGL will soon switch to Metal on macOS Catalina.

Samsung PM981 SSD:

  • Recently, people on TonyMacX86 are having issue with PM981. PM981 is troublesome for Hackintosh and I am not using it for install. I'm using a Toshiba XG3. However, you can check out zysuper's repo on ACPI files to get rid of PM981.
  • However, I have no problem accessing my Windows disk (PM981) from macOS (XG3).

GPU Compatibility:

  • AMD Radeon GPU and Intel UHD/Iris Pro Graphics are supported by macOS 10.14.0 and above.
  • NVIDIA GPU is no longer supported from macOS 10.14.0 and requires a Web Driver to run in macOS 10.13.5 or below.
    • Pascal (GTX10XX series) are supported by the web driver, Turing or earlier (RTX20XX series/GTX16XX series) are not supported by the web driver even in macOS 10.13 (They didn't esist at that time).
  • Mainly because there are some issues between NVIDIA and Apple (on the executive level) and they refuse to cooperate. This is such a shame given there now exists a modular Mac Pro and many professionals wanting to use eGPU on a rMBP so let's hope Apple and NVIDIA can get this resolved as soon as possible.

External Graphics Processing Unit (eGPU):

  • I finally solved eGPU. It is running smooth as hell using a RX570 in a Razer Core X.
    • Pictures of my setup and eGPU
    • All you need to do in BIOS is:
      1. Enable Thunderbolt 3 support for Linux
      2. Disable iGPU so switch Display from "Hybrid" to "Discrete".
    • Then plug in your AMD eGPU, boot my EFI as usual, no extra steps.
    • If you are having problems, try boot in verbose mode (-v).
  • Now that I disabled my iGPU, what do I do when I don't use an eGPU?
    • Well, you enable iGPU in BIOS when you need it. Disable it again in BIOS when you need eGPU.
    • Or you kinda just don't use it on the go (Or until one day Apple work themselves out with NVIDIA then 1050Ti will work).
    • It is a trade off for eGPU, but it is something you can easily tolerate. I don't think it is a big deal.
    • What if I am in emergency and I want to use it on the go?
      • Well, you can. Just boot macOS normally. You will only have a 3MB since your NVIDIA card now serves as a basic display controller and 1024x768 resolution, but everything else than the graphics card should work. Use that to tackle your macOS emergencies. Shouldn't be a big deal.
  • Thanks for desmomarco999's guide, he worked it out on his XPS 13, but I used a different way.

USB Dongle with Display (HDMI/DP) Output (NOT eGPU):

  • Long story short, it won't work. If it works, let me know.
  • Why? Because all X1E display output is hard wired to the NVIDIA GPU. You can confirm this by going into NVIDIA controler panel in Windows and see PhysX, and you can see all display output is wired to the NVIDIA card, while the eDP in screen display is wired to the iGPU.
  • Therefore, since NVIDIA card won't work, also Optimus won't work, USB dongle display output just won't work because the output is not wired to the iGPU. Not to mention you disabled dGPU in SSDT.
  • Note this also applies to any USB-C to DP/HDMI/DVI cables. These also does not work since they are essentially a dongle mentioned above.

USB External DisplayLink Output (NOT eGPU):

  • Plugable USB3-6950-HDMI: Inspired by Issue #13 I bought an adapter and was able to achieve 4K60P via USB3.0 and HDMI2.0. Now output issue is solved. You can download the driver here:
  • Relative question:
  • Alternative Lenovo USB Dock (Issue #13), a dock by Lenovo and I believe darkal tested it. (cr. darkal)
  • However, it has its own limitations of not being able to scale 4K into 1080P with 60FPS. This is a known issue and we can only hope future update fix this.
    • New discovery (20190920):
      • There is actually one way to have the external display to do 4K60 with scaling. Here's how:
      • Use the two screens as separate displays:
        • One, make sure that both display is on (so the laptop screen is flipped up and open)
        • Two, make sure that the laptop is the main display (aka the dock is in the laptop's screen), and if you go to System Preference -> Display Preferences -> Arrangement you can see that the menu bar is in the laptop's internal screen.
        • As long as the menu bar is in the internal screen and use the external 4k display as secondary, 4k60 works.
      • Use the two screens as one display (Recommended):
        • Also, another way is by clicking the [Mirror Displays] checkbox and leave the laptop screen on, and that will also work with 4k60. I find this most useful! And a much better experience.
        • Animation might lag a bit (Especially launchpad) but by looking at the mouse pointer move speed the display is running at 4K60.

Camera:

  • Issue #33 discussed about that macOS would use the integrated IR camera to make video calls which does not quite work.
  • This is fixed in v10.15.0.1.2, credit to flymin, kk1987, and ColeXJ.

Undervolting:

  • By undervolting the computer, the fan is MUCH quieter and more pleasant to use.
  • I am using an app called volta.
    • You can also google for undervolting using script which I hasn't tried so do it in your own risk.
    • Unfortunately intel does not have a XTU software for macOS.
  • It is not free, but it is cheap. Just two cups of coffee gives you a much better experience.
    • You can download a "trial version" and try it out on your laptop.
    • I didn't get money for advertising this...it just works.

Replace Thermal Paste:

  • Recently I replaced my X1E's thermal paste and by doing so it gained significant performance.
    • About 5-7 degrees cooler. Now the fan doesn't even turn on under normal daily use.
  • I used Thermal Grizzly Kryonaut Thermal Grease Paste. (Note: I have no business relationship with them)
    • But if Thermal Grizzly sees this send me your advertising money plzzzzzzzzz
  • This is the teardown and repasting guide I used when I repasted my machine.
  • WARNING: It is possible for you to toast your machine if you replace your thermal paste!
    • If you are not sure how good your craftmanship is, give it to a 3rd party repair shop.

OpenCore & Legacy Components:

  • Since I developed using the Clover Bootloader and is currently complete, there is no plan to move the development to another bootloader platform like OpenCore.
  • However, there are some support for OpenCore and patches (Issue #62) provided by 1Revenger1 Link.
  • I also have no plan to deprecate the legacy FakeSMC and use VirtualSMC in the future unless it becomes a problem. I made some attempt though in 2.X builds you can check them out if you are interested but I decided to just stay with what works best for me.

About This Machine:

  • System Report: If you want to see system specs.
  • IORegistry: For researchers who want to see my IORegistry, updated 20191018, EFI version v10.15.0.3.3.

Other Configurations:

Owner CPU Model Link
zysuper Core i7-8850H X1EG1 Link
xuzhao9 Core i7-8750H X1EG1 Link
darkal Core i7-8750H X1EG1 Link
ergonyc Core i7-8850H X1EG1 Link
flymin Core i7-8750H X1EG1 Link
denerworator Core i7-9750H X1EG2 Link
p4555555555 Xeon E-2176M P1G1 Link

More Hackintosh EFI Resource:

  • Hackintosh Laptop Index: EFI for other laptop might help as a useful reference. Navigate to here (cr. daliansky) if you need more reference from other laptops. Note: The word “链接” in Chinese means “link” so click on it it will take you to the repo you are looking for.

Other Contributors

  • Note: There is no order in the ranking of names. This list may not be complete! Feel free to let me know. Sorry for any inconvience.
Name Contributions
Rehabman Many kernel extensions and guides.
Acidanthera Lilu.kext and WhateverGreen.kext.
zysuper Original development and M.2 Adapter order.
darkal USB external display via DisplayLink issues and minor debugging.
SwampFox82 Time sync issue solution.
cthetoy OpenGL issue.
jamesxxx1997 Touchscreen and Multi-touch gesture.
alexandred Voodool2C.kext and its satellites.
flymin IR Camera ACPI patching.
kk1987 IR Camera ACPI patching methods.
ColeXJ IR Camera issue.
daliansky Hackintosh index maintainer.
Joaquim Barbosa Guide to customize "About this Mac".
oreziam Solution for memory that exceeds 64G.
xuzhao9 i7-8750H Config & AppleALC layout-id=21
Techtubers Teardown and repaste guide.

Discussions and News

  • zysuper's Work: Here is another helpful alternative Thinkpad X1 Extreme Clover EFI configuration repository. Please check out his work as well as some some issues are addressed in both of our repositories. Star his work too!
  • Apple won't work with NVIDIA to release graphics card driver for 10.14. Currently, there is nothing we can do. We also have not tweaked on Thunderbolt 3 since we don't have proper hardware to test it.

License

Donate

  • Donating to this project is OPTIONAL.
  • However, if you would like to buy me a coffee, you can do that using QR codes (WechatPay or Venmo).

donate

Cheers, Errrneist.