Home

Awesome

ThinkPad-L13-Yoga-Hackintosh

Status: Success | Stable

<img align="right" src="./Other/README_Resources/l13-yoga2.png" alt="L13 Yoga macOS" width="430">

OpenCore macOS-Unstable macOS-Unstable macOS-Unstable

**DISCLAIMER: ** As you embark on your Hackintosh journey you are encouraged to READ the entire README and Dortania guides before you start, or check out some Youtube videos to get an understanding of the install process. It will save many a message instructing you to read the manual. I am not an expert, I haven't forced you to do anything, so put on your big boy pants and take responsibility for any mess you get yourself into.

With that said I'm happy to help when/where I can. When you encounter bug or want to improve this repo, consider opening an issue or pull request. You can also find a wealth of knowledge on Reddit, TonyMacX86 or Google.

Introduction

⚠️ Still issues with Ventura & Sonoma ⚠️ - see MacOS Selection below.

<details> <summary><strong>This is not a guide!</strong></summary>

This is not a guide. It shoud only be used as a reference. I provide some tips and tricks I learned on my journey in building a hackintosh. The best way of using this is as a supplement to the OpenCore guide; if you have questions about how to setup your specific hardware, are unclear about what to do, or would like to see the settings I've used.

I understand that some may simply copy the EFI folder to their EFI partition. For clarity the EFI folder needs to go into the EFI partition.

EFI (partition)
	EFI
	├── BOOT
	├── OC

It should work and your ThinkPad L13 Yoga should boot and work fine. You will at minimum need to generate SMBIOS values if you want Apple services to work. Note that all error reporting/logging has been turned off in the config.plist. You will have a difficult time trouble shooting with the setup provided. You can easily turn on the error reporting and logging if you follow the Dortania guide. Best of luck.

NOTE if you simply wish to copy my EFI please do the following:

  1. Generate SMBIOS values and add them in the config.plist (Use MacBookPro16,3)
  2. Ensure the value of showpicker is true in the config.plist file to provide the opencore menu when booting.
  3. Prepare your install USB
  4. Move the entire EFI folder (with your modifications) to the proper partition on your USB (or hard drive once the install is complete).
  5. Install - You'll need to select <kbd>F12</kbd> to get the boot menu options and boot from the USB each time the computer restarts until you've copied the EFI folder onto the hard drive. You may also need to select the correct boot option during install.
</details> <details> <summary><strong>This is a guide!</strong></summary>

To install macOS follow the guides provided by Dortania 🤔

</details> <details> <summary><strong>Shout out and credits</strong></summary>

Shout out to oddish_enthusiast who pointed me in the right direction and let me know when OpenCore 0.6.7 fixed booting on 10^th^ gen processors. (He actually had it working before that).

Shout out toDAlexis74 for the DevicesProperties patches to enable HDMI.

Shout out to alexjaixd for enabling Built-in SmartCard Reader #20

Credit to all these great people whom I don't know but have made my hackintosh dreams come true:

</details> <details> <summary><strong> Other Repositories </strong></summary> </details> <details> <summary><strong>Hardware</strong></summary>

UEFI

ThinkPad L13 Yoga

CategoryComponentNote
Type20R5, 20R6
CPUIntel Core i5-10210U
GPUIntel UHD 630
SSDWD 512GBReplaced cursed PM 981 which still doesn't work reliably
Screen13" FHD 1920x1080Multi touch and pen* support working
Memory8GB / 2666MHz DDR4
BatteryIntegrated Li-Polymer 46WhSingle battery
Camera720p Camera and 5MP cameraBoth cameras working
Wifi & BTIntel Wireless-AC 9560Use AirportItlwm for your macOS version and enjoy native Wi-Fi control.
InputPS2 Keyboard & I2CHID TrackPad (touchscreen and pen)I'm using YogaSMC for media keys. The kext is in the folder but you'll need to install the app.
</details> <details> <summary><strong>Main software</strong></summary>
ComponentVersion
macOS Sonoma14.2.1
OpenCorev1.0.0
</details> <details> <summary><strong>ACPI Files</strong></summary>
Component
ssdt_data.aml
SSDT-AWAC.aml
SSDT-EC-USBX-LAPTOP.aml
SSDT-OCBAT1-lenovoPRO13.aml
SSDT-PNLF-CFL.aml
SSDT-RHUB.aml
SSDT-XOSI
</details> <details> <summary><strong>Kernel extensions</strong></summary>
KextVersion
AirportItlwm2.2.0
AirportItlwmV (Ventura)2.2.0
AirportItlwmS (Sonoma)2.3.0 alpha
AppleALC1.8.8
BrightnessKeys1.0.3
CPUFriend1.2.7
IntelBluetoothFirmware2.3.0
BlueToolFixup.kext2.6.8
IntelMausi1.0.7
Lilu1.6.7
RealtekCardReader0.9.7
RealtekCardReaderFriend1.0.4
SMCBatteryManager1.3.2
SMCProcessor1.3.2
SMCSuperIO1.3.2
USBMap1.0.1
VirtualSMC1.3.2
VoodooI2C*2.8 custom
VoodooI2CHID2.8 custom
VoodooPS2Controller2.3.5 custom
WhateverGreen1.6.6
YogaSMC1.5.3

*VoodooI2C issues have been fixed. Custom addition means that files have been altered to work properly(not from main github)

</details> <details> <summary><strong>UEFI drivers</strong></summary>
DriverVersion
HfsPlus.efi1.0.0
OpenRuntime.efiOpenCorePkg 1.0.0
ResetNvramEntry.efiOpenCorePkg 1.0.0
</details> <details> <summary><strong>Screenshot</strong></summary> <br> <p float="left"> <img src="./Other/README_Resources/ScreenShot1.png" alt="Monterey" width="427"> </p> </details>

Before installation

<details> <summary><strong>UEFI settings</strong></summary>

Config

Security

Startup

</details> <details> <summary><strong>Own prev-lang-kbd</strong></summary>

In the config.plist file you set the default language as outlined in the guide. You can either add it as a string or as a hex data using ProperTree

The setting is found in the config.plist under:

Format is lang-COUNTRY:keyboard

KeyTypeValue
prev-lang:kbdStringen-US:0

It is set to English but you can find alternatives here:

AppleKeyboardLayouts

</details> <details> <summary><strong>MacOS Selection</strong></summary>

The EFI folder is setup for both Monterey, Ventura, and Sonoma. I used MinKernel and MaxKernel values in the config.plist to load the proper kexts based on which OS is being used. It kinda works with Ventura and Sonoma but there are still some issues:

  1. To use the stylus you need VoodooI2C-v2.6.5 (last version where stylus was working). Unfortunately this creates kernel panics when shutting down or rebooting in Ventura.
  2. When shutting down Ventura with VoodooI2C-2.6.5 kexts installed the computer reboots.
  3. If you upgrade to newer version of VoodooI2C then Ventura works (touch works with finger) but the stylus doesn't.

I'm primarily using this EFI with Sonoma 14.2.1 at the moment.

</details>

Post-Install

<details> <summary><strong>TrackPad - Disable force touch</strong></summary>

If the Battery management doesn't show up in the System Preferences after the SSDT-OCBAT1-lenovoPRO13.aml file is added to your ACPI folder and config.plist file. You will not be able to change any trackpad settings. You may experience the annoying behaviour of clicking on the touchpad and it doing a Force Touch where the preview of the file is shown. I found this very annoying. You can disable force touch by modifying the file in ~/Library/Preferences/com.apple.AppleMultitouchTrackpad.plist Opened it with Propertree and changed ForceSuppressed to True

Another trick to manage your trackpad, if you can't get the battery to work, is to connect a bluetooth trackpad. Once the bluetooth trackpad is connected you can adjust the settings. Disconnect the bluetooth trackpad and your built in one will maintain those settings.

I used these methods prior to adding the SSDT-OCBAT1-lenovoPRO13.aml from hagenest/thinkpad-l13-yoga-hackintosh repo.

</details> <details> <summary><strong>Generate your own SMBIOS</strong></summary> <br>

Use GenSMBIOS to create your own serial #... based off of your preferred model.

Note: If you use a different SMBIOS model than the MacbookPro16,3 that I've used. The provided USB mapping will not work. You will need to edit the USBMap.kext file. You can right click on the file and select Show Package Contents. From there you can open the Info.plist file in ProperTree and change MacBookPro16,3 to whatever Model ID you've chosen. This should provide a working USBMap.kext.

</details> <details> <summary><strong>CPUFriend power management</strong></summary> <br>

Generate CPUFriendDataProvider or ssdt_data.aml (choose one) for your machine here or use the ssd_data.aml file provided. My files are set for power conservation over performance. Highly recommended that you use power management.

</details> <details> <summary><strong>USB Port Mapping</strong></summary>

While first port mapping I followed the Dortania guide here with USBInjectAll.kext install... when doing so the internal USB ports did not show up and the cameras, touch screen, and bluetooth did not function. I noticed on the USBmap tool screen that RHUB was showing so I Googled it and it brought me back to the Dortania guide here. I added the SSDT-RHUB.aml to the APCI folder rebooted and all the ports showed up. I then mapped the USB ports creating the included USBMap.kext file.

</details> <details> <summary><strong>Audio Setup</strong></summary>

The L13 Yoga has CX8070 for audio which requires the boot-arg or device property below. You can use the boot-args to initially setup your config.plist file as suggested in the guide or simply add the device property. Everything should work, built-in microphone, speakers, headphone jack and microphone.

NVRAM:

KeyValue
boot-argsalcid=15

DeviceProperties

KeyTypeValue
PciRoot(0x0)/Pci(0x1F,0x3)Dictionary
layout-idData0f000000
</details>

Status

<details> <summary><strong>What's working ✅</strong></summary> </details> <details> <summary><strong>What's not working ⚠️</strong></summary> </details> <details> <summary><strong>Untested</strong></summary> </details>