Daasin / Lenovo-ThinkPad-L13-Yoga-Hackintosh

OpenCore configuration for the Lenovo ThinkPad L13 Yoga - Hackintosh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ThinkPad-L13-Yoga-Hackintosh

Status: Success | Stable

L13 Yoga macOS

OpenCore 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 ⚠️ - see Monterey or Ventura below.

This is not a guide!

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 F12 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.
This is a guide!

To install macOS follow the guides provided by Dortania 🤔

Shout out and credits

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:

Other Repositories
Hardware

UEFI

ThinkPad L13 Yoga

Category Component Note
Type 20R5, 20R6
CPU Intel Core i5-10210U
GPU Intel UHD
SSD WD 512GB Replaced cursed PM 981 which still doesn't work reliably
Screen 13" FHD 1920x1080 Multi touch and pen support working
Memory 8GB / 2666MHz DDR4
Battery Integrated Li-Polymer 46Wh Single battery
Camera 720p Camera and 5MP camera Both cameras working
Wifi & BT Intel Wireless-AC 9560 Use AirportItlwm for your macOS version and enjoy native Wi-Fi control.
Input PS2 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.
Main software
Component Version
macOS Monterey 12.6.6
OpenCore v0.9.3
ACPI Files
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
Kernel extensions
Kext Version
AirportItlwm 2.2.0
AirportItlwmV (Ventura) 2.2.0
AppleALC 1.8.3
BrightnessKeys 1.0.3
CPUFriend 1.2.7
IntelBluetoothFirmware 2.2.0
BlueToolFixup.kext 2.6.7
IntelMausi 1.0.7
Lilu 1.6.6
Sinetek-rtsx 9.0
SMCBatteryManager 1.3.2
SMCProcessor 1.3.2
SMCSuperIO 1.3.2
USBMap 1.0.1
VirtualSMC 1.3.2
VoodooI2C 2.6.5
VoodooI2CHID 2.6.5
VoodooPS2Controller 2.3.5
WhateverGreen 1.6.5
YogaSMC 1.5.3
UEFI drivers
Driver Version
HfsPlus.efi 1.0.0
OpenRuntime.efi OpenCorePkg 0.9.3
ResetNvramEntry.efi OpenCorePkg 0.9.3
Screenshot

Monterey

Before installation

UEFI settings

Config

  • Keyboard/Mouse
    • Trackpoint Enabled
    • Trackpad Enabled
  • Display
    • Boot Display Device ThinkPad LCD
    • Total Graphics Memory 512MB
    • Boot Time Extension Disabled
  • CPU
    • Intel Hyper-Threading Technology Enabled

Security

  • Password Disabled
  • Security Chip Disabled
  • Memory Protection -> Execution Prevention Enabled
  • Virtualization -> Intel Virtualization Technology Enabled
  • Virtualization -> Intel VT-d Feature Disabled
  • Virtualization -> Enhanced Windows Biometric Security Disabled
  • I/O Port Access -> FingerPrint Reader Disabled
  • I/O Port Access -> Memory Card Slot Disabled
  • Secure Boot -> Secure Boot Disabled
  • Intel SGX -> Intel SGX Control Disabled
  • Device Guard Disabled

Startup

  • UEFI/Legacy Boot UEFI Only
  • CSM Support No
  • Boot Mode Diagnostics (This can be changed to "Quick" once you know your system is running properly)
Own prev-lang-kbd

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:

  • NVRAM
    • 7C436110-AB2A-4BBB-A880-FE41995C9F82

Format is lang-COUNTRY:keyboard

  • 🇺🇸 | [0] en_US - U.S --> en-US:0 --> (656e2d55 533a30 in HEX)
Key Type Value
prev-lang:kbd String en-US:0

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

AppleKeyboardLayouts

Monterey or Ventura

The EFI folder is setup for both Monterey and Ventura. 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 but there are still some issues:

  1. To use the stylus you need VoodooI2C-2.6.5 (last version where stylus was working). I still haven't had time to examine this fully. 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 Monterey 12.6.6 at the moment.

Post-Install

TrackPad - Disable force touch

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.

Generate your own SMBIOS

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

  • MacBookPro16,3 -What I used

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.

CPUFriend power management

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.

USB Port Mapping

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.

Audio Setup

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:

Key Value
boot-args alcid=15

DeviceProperties

Key Type Value
PciRoot(0x0)/Pci(0x1F,0x3) Dictionary
layout-id Data 0f000000

Status

What's working ✅
  • Battery percentage
  • Bluetooth - Intel Wireless-AC 9560
  • Wifi - Intel Wireless-AC 9560
  • CPU power management
  • GPU UHD hardware acceleration / performance
  • iMessage, FaceTime, App Store, iTunes Store. Generate your own SMBIOS
  • Intel I219-V Ethernet port -works with the Lenovo dongle
  • Keyboard Volume and brightness hotkeys, with YogaSMC and BrightnessKey kexts
  • Audio - Conexant CX8070 -"alcid=15" - or see setup above
  • Microphone
  • Sleep/Wake
  • TrackPoint Works perfectly. Just like on Windows or Linux.
  • USB Ports USB map created.
  • Web camera Both cameras are working after the USB mapping was done.
  • TouchPad 1-3 fingers swipe gestures
  • Multi-Touch Screen Pen also working
  • Graphical Boot menu OpenCanopy (It does work. Not included in OC folder as I generally skip the boot menu.)
  • HDMI
  • SD Card reader
  • SmartCard Reader not available on all units
What's not working ⚠️
  • Fingerprint reader - No. Don't expect macOS driver any time soon.
  • Samsung PM 981 NVME drive - Still unstable. Could work for some, not for others.
  • Intel Optane - It causes Kernel Panic in boot (see issue #14)
Untested
  • Boot chime should work I just haven't tried it
  • FileVault should work I just haven't tried it
  • Sidecar wired
  • Sidecar wireless
  • Windows/Linux from OC boot menuI'm not dual booting my system but there's no reason it shouldn't work.

About

OpenCore configuration for the Lenovo ThinkPad L13 Yoga - Hackintosh

License:MIT License


Languages

Language:ASL 100.0%