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 a full time student, who has limited knowledge about hackintosh. any help or improvement towards the existing problem of this hackintosh patch is appreciated.
Completely Rebuilt based on Tyler Nguyen's ThinkPad X1 Carbon 6th OC Patch thanks to the two machine's hardware similarities:
- Applied The latest TB3 Patch: Theoretically TB3 can be recognized right in the System Information App, and hotplug will work fine.
- NOTE: all USB 3.1 functionalities & TB3 hotplug is EXCLUSIVE at the moment, make your own choice!
- Now the default patch is for non-BIOS modded machines.
- Applied YogaSMC and updated all other patches to the latest version. Now you can ctrl battery wear level, yogamode and FANSPEED right inside the OS!
- Implemented smooth screen brightness adjustment.
- Added Support for Hibernation Mode 25. As with normal macOS machines, mode 3 is default, but if you want, mode 25 is now also an option.
- Updated OC to 0.6.3
- Completely fixed sleeping issues in theory
- Enabled ASPM for all PCI devices, overall power consumption reduced about 1W, Estimated longest battery life = 9.5h.
- Updated new USB implement method. Please turn on "Charge on Battery Mode" in BIOS-Config-USB to make perfect USB-C hotplug and proper power supply to work as expected. Now some machine's sleep problem may be solved.
- Updated VoodooRMI.kext to the latest version (1.1.0 Release).
- Fine tuned
config.plist
's file structure
Added Experimental USB-C "Hotplug" Support (I'll explain it in /EFI-OC 0.6.0/README.md)Due to the hardware design and USB-C/TB3 driving policy of macOS, this patch may be the only possible way to implement USB-C hotpatch without compromising battery life.
- Corrected .plist file structure problem, now the
EFI
file can be used as Installation Boot file. - Added
DW1560 Wireless Card Support
-
With the help of @Jamesxxx1997 , we successfully completed the adaptation of the patch to Non-BIOS Modded Machines, and introduced a new way to enable TB3 support.
However, this new method still need you to turn off Thunderbolt 3 BIOS Assist Mode, which cut the battery life at about 50%.
We are continuing investigating the ways to enable USB-C support without the cost of battery life.
Besides, the notification center gesture problem has successfully solved by using theDEBUG
version ofVoodooRMI
. -
Requested by @Jamesxxx1997, I'm now diving in to fix touchscreen support. -
TouchScreen successfully driven. Now both fingertouch and pentouch can work flawlessly.
-
Adjust
ForceTouchMinPressure
in the configuration file ofVoodooRMI.kext
to5
to enable ForceTouch Support
- Solved CPU C-Storm problem by removing
IOEletricity.kext
andSSDT-TB3.aml
and turn "Thunderbolt BIOS Assist Mode" in BIOS fromDISABLE
toENABLE
. - Uploaded detailed BIOS Modding Settings and the OC folder for USB installation
- Initial Post
x1y gen3-hackintosh is currently stable and fully functioning except for USB-C and Thunderbolt 3 Support.
Fully functional | Non-functional | Semi-functional. Additional pulls needed and welcomed. |
---|---|---|
Native Power Management✅ *Need BIOS modding | - | Thunderbolt 3 hotplug (Must disable TB3 BIOS assist mode, No TB3 Device for testing)⚠ |
Wi-Fi, Bluetooth, All Apple Continuity Functions including Sidecar, iCloud Suite(Generate your own SMBIOS information)✅ *Network Card Replacement (DW1820A) Needed | Fingerprint Reader and WWAN Card❌ (Disable them in BIOS) | |
USB-A 3.0/2.0 Ports, WebCam and Complete Audio Functions, Sleep, Ethernet, iGPU, MicroSD Card Reader✅ | - | Thunderbolt and full USB-C Support ⚠*(TB3 Hotpatch Can be enabled at the cost of Battery life, Turn them on at your own risk; USB-C partial support is present) |
Full TouchScreen Support, Full TrackPoint and TrackPad Support, Up to 5 finger gestures, Ultra Smooth Experience ✅*Using Voodoo RMI | - | |
BIOS Mod, unlocking Advanced Menu. ✅ |
Unable to patch WWAN Whitelist❌ | |
HIDPI (1680*945) using One-key HIDPI, HDMI Output & Hotplug✅ | - | 4K UHD via HDMI Port and USB-C port: currently displays cannot recognize the output signal correctly, need further diving |
(2021-1-5)
The latest patch dropped support for other wireless cards. If you are using a different card, you need to edit the config file by YOURSELF to make the card recognized by the OS.
For BIOS-Modded users, you simplly need to delete these two lines inside the patch: (These patches are for stealing mem for more vram). Since you have already set DVMT to 64MB in BIOS Advanced Setting tab, that patches are redundant for you.
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>framebuffer-fbmem</key>
<data>AACQAA==</data>
<key>framebuffer-stolenmem</key>
<data>AAAwAQ==</data>
</dict>
(2020-9-4)
- Change hibernation mode from 0 to 25 can drastically decrease the possibility of sleep failure.
- Sometimes DW1820A seems to cause boot halt or auto restart. If possible, consider purchase DW1560.
(2020-8-20)
By completely removing Thunderbolt 3 support, I was able to achieve less than 0.9W CPU Package idle power consumption and 8W overall power consumption of the system (7h+ Battery Life).
Now the goal turns to achieve full USB-C support, while keeping Thunderbolt 3 from preventing deeper CPU C-States.
The Power Consumption Problem remain to be solved. Under my current Hardware & Software settings, the typical idle power consumption with Wi-Fi and Bluetooth ON is around 8.5-9 Watt, results in merely 5-6hrs Battery life, While in Windows 10 1903, The figure is usually around 5-6W.
Under this circumstance, The CPU Package Power Consumption is around 2W when idle and 3.3-3.6w with Wechat in the background and Safari Opening 4 tabs + playing Online Video, almost exactly the same as the initial circumstance described in THIS POST.
Although X1Y3 shares almost the same hardware spec with X1C6, turning on "Thunderbolt 3 BIOS Assist Mode" has barely no effect on CPU Package consumption, and turning it off cause completely NO USB-C functionality in macOS. The 2W average CPU Packge power consumption is the best case I can achieve via BIOS Modding (Undervolt, Disabling CFG Lock, set FCLK Frequency to 400Mhz, Enabling PCIe ASPM, etc. ).
Besides, I have already applied USB Mapping and using NVMeFix.kext to enable ASPM of the NVMe SSD. The temperature of the ssd under macOS is identical to Windows 10. Without appropriate knowledge and experience, I'm unable to continue discovering which hardware is consumpting extra power or preventing the processer from entering deeper C-States.
- If you encountered any problem while booting, you may want to add
-v
inconfig.plist
-NVRAM
-Add
--7C436110-AB2A-4BBB-A880-FE41995C9F82
--boot-args
to figure out what is going on. This variable is present in every config files I provided, you can manually delete it after everything is all set. - For Private reasons, I erased my SMBIOS Serials in the post. Please generate your SMBIOS using GenSMBIOS to enjoy iCloud Suite and Apple Continuity Functions.
- The network card I prefer and used in this post is
DW1820A
, which is far cheaper thanDW1830
, and working flawlessly in X1 Yoga 3rd. If you are using a different network card such asDW1560
, please choose the rightconfig.plist
to power your card correctly. - For best performance and bettery life, you may want to do BIOS Modding to unlock the Advanced menu of the BIOS. Detailed BIOS modding instructions and Modded BIOS Configs can be found at HERE.
- The reason why I prefer using
BIOS Ver1.30
is that for me it is the only BIOS version that can drive touchscreen after S3 sleep. (There is a hardware designing flaw in X1 Yoga 3rd that the WACOM Touchscreen will disapper from the Device Manager in Windows 10 after recovering from S3 Sleep). You may apply BIOS Modding to any BIOS version, as it is not dependent on BIOS versions. - HIDPI (1680*945)can be enabled through One-Key HIDPI
- The explaination of implementing USB-C hotpatch to ThinkPad X1 (8th Gen Kaby Lake CPU) laptops:
X1 Yoga Gen3's TB3 controller also act as USB-C (USB 3.1) controller. However, macOS require TB3 controller to be always online to maintain USB-C hotpatch. There are two ways to achieve USB-C hotpatch:- Force USB-C controller power on all the time, which cause CPU-C storm, and consume a large amount of battery.
- Mask USB-C controller as an ExpressCard expansion USB-C card. The controller will be powered on when using USB-C port, and can be turned off manually to save battery life. The cost is described in the first part of the document.
Therefore, it is not possible to get USB-C working 'as perfect as real macs'.
- You can use the EFI patch as to do installations. I've enabled boot selection menus by default. After the install and troubleshooting, you may want to disable them.
- A macOS machine would be VERY useful: to create install drives, and for when your ThinkPad cannot boot. Though it is not completely necessary.
- A Flash Drive with no less than 16G storage.
- XCode or ProperTree for editing plist files.
- MaciASL, for patching ACPI tables.
- MountEFI to quickly mount EFI partitions.
- IOJones, for diagnosis.
- Hackintool, for diagnostic ONLY, Hackintool should not be used for patching, it is outdated.
-
Download
.dmg
installation file of macOS 10.15.6 Catalina. -
Use Balena Etcher to flash the
.dmg
file into your USB disk. -
Mount the EFI partition of the USB disk, replace the entire
EFI
Folder withEFI-Install
. -
Reboot and install macOS 10.15.6 Catalina.
-
Put
/EFI-Opencore/OC
to"Your SSD's EFI Partition"/EFI
, done.
My ThinkPad X1 Yoga 3rd Gen configurations:
Processor Number | # of Cores | # of Threads | Base Frequency | Max Turbo Frequency | Cache | Memory Types | Graphics |
---|---|---|---|---|---|---|---|
i7-8650U | 4 | 8 | 1.9 GHz | 4.2 GHz | 8 MB | LPDDR3-2133 | Intel UHD 620 |
Peripherals:
Two USB 3.1 Gen 1 (Left USB Always On)
Two USB 3.1 Type-C Gen 2 / Thunderbolt 3 (Max 5120x2880 @60Hz)
HDMI 1.4b (Max 4096x2160 @30Hz)
Ethernet via ThinkPad Ethernet Extension Cable Gen 2: I219-LM Ethernet (vPro)
WWAN: Fibocom L850-GL (Intel XMM7360 LTE-A WWAN Modem)
TrackPoint: Synaptics PS/2
TrackPad: Synaptics PS/2
SSD: WD Black SN720 NVMe SSD
Display:
14.0" (355mm) WQHD (2560x1440) AUO B140QAN02.0 500nit HDR
Audio:
ALC285 Audio Codec
Thunderbolt:
Intel JHL6540 (Alpine Ridge 4C) Thunderbolt 3 Bridge
Additional used resources:
- dortania's Hackintosh guides
- dortania/ Getting Started with ACPI
- dortania/ vanilla laptop guide
- dortania/ opencore
laptop
guide - dortania/ opencore
desktop
guide - dortania/ opencore
multiboot
- dortania/
USB map
guide - Daliansky's Hackintool tutorial.
- WhateverGreen Intel HD Manual
- OpenCore Sanity Checker
- OpenCore Driver for ThinkLED Blinking patch
- Fix iGPU Crashing after Updating to Catalina 10.15.6
- Adapting DW1820A Wireless Card
Create a pull request if you like to be added, final decision at my discreation.
- VoodooRMI Team for providing outstanding touchpad driver for ThinkPad series
- @Jamesxxx1997 for friendly discussion and the testing the config for non-BIOS Modding Machines
- @Colton-Ko for the great features template and OpenCore Configuration Reference.
- @tylernguyen for Power Consumption Improvement reference and BIOS Modding Reference.
- @daliansky for all the hotpatches.
- @corpnewt for GibMacOS, EFIMount, and USBMap.
- @Sniki and @goodwin for ALCPlugFix.
- @xzhih for one-key-hidpi. paranoidbashthot and \x for the BIOS mod to unlocked Intel Advance Menu.
- @FlasHRender for CPU Friend Preference file from - here
The greatest thank you and appreciation to @Acidanthera, without whom's work, none of this would be possible.