Skip to content
This repository has been archived by the owner on May 6, 2022. It is now read-only.

README, OpenCore 0.6.3 Configurations, Patches for ThinkPad X1 Yoga Gen3 Hackintosh

License

Notifications You must be signed in to change notification settings

EigenTom/ThinkPad-X1-Yoga-3rd-Hackintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macOS on ThinkPad X1 Yoga 3rd Gen, Model 20LE

macOS version BIOS MODEL OpenCore LICENSE

machine-logo

READ THE ENTIRE README.MD BEFORE YOU START.

I am not responsible for any damages you may cause.

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.


Recent

2021-1-5

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

2020-9-22

  • 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).

2020-9-4

  • Fine tuned config.plist 's file structure

2020-8-24

  • 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.

2020-8-23

  • Corrected .plist file structure problem, now the EFI file can be used as Installation Boot file.
  • Added DW1560 Wireless Card Support

2020-8-22

  • 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 the DEBUG version of VoodooRMI.

  • 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 of VoodooRMI.kext to 5 to enable ForceTouch Support

2020-8-20

  • Solved CPU C-Storm problem by removing IOEletricity.kext and SSDT-TB3.aml and turn "Thunderbolt BIOS Assist Mode" in BIOS from DISABLE to ENABLE.
  • Uploaded detailed BIOS Modding Settings and the OC folder for USB installation

2020-8-19

  • Initial Post

SUMMARY:

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

Note:

(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)

  1. Change hibernation mode from 0 to 25 can drastically decrease the possibility of sleep failure.
  2. 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.


(2020-8-19) Currently the biggest problem of this post that I cannot solve by myself is the abnormally high power consumption of this machine.

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.


NOTICE:

  1. If you encountered any problem while booting, you may want to add -v in config.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.
  2. 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.
  3. The network card I prefer and used in this post is DW1820A, which is far cheaper than DW1830, and working flawlessly in X1 Yoga 3rd. If you are using a different network card such as DW1560, please choose the right config.plist to power your card correctly.
  4. 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.
  5. 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.
  6. HIDPI (1680*945)can be enabled through One-Key HIDPI
  7. 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:
    1. Force USB-C controller power on all the time, which cause CPU-C storm, and consume a large amount of battery.
    2. 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'.
  8. 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.

NEEDED:

  • 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.

PROCEDURES

  1. Download .dmg installation file of macOS 10.15.6 Catalina.

  2. Use Balena Etcher to flash the .dmg file into your USB disk.

  3. Mount the EFI partition of the USB disk, replace the entire EFI Folder with EFI-Install.

  4. Reboot and install macOS 10.15.6 Catalina.

  5. Put /EFI-Opencore/OC to "Your SSD's EFI Partition"/EFI, done.


SPECIFICATIONS

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:


OTHER

Create a pull request if you like to be added, final decision at my discreation.


CONTACT:

Luyi1720839132@Gmail.com


Credits and Thank You:

  • 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.

About

README, OpenCore 0.6.3 Configurations, Patches for ThinkPad X1 Yoga Gen3 Hackintosh

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages