Skip to content

yusufklncc/Lenovo-Legion-5-Hackintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 

Repository files navigation

macOS on Lenovo Legion 5 15IMH05H

OpenCore config for Hackintosh Lenovo Legion 5 15IMH05H

Contents

Screenshots πŸ“·

CPU Frequency and Temperature

  • Normal

  • While Geekbench

Geekbench

  • CPU

  • OpenCL

  • Metal

Big Sur

Original Hardware πŸ’»

Type Spec Status
Model Name Lenovo Legion 5 15IMH05H βœ…
CPU Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz Comet Lake βœ…
RAM 16 GB 2933 MHz DDR4 βœ…
Internal Graphics Card Intel(R) UHD Graphics 630 (1 GB) βœ…
External Graphics Card NVIDIA GeForce RTX 2060 ❌
Wi-Fi Intel AX201 Wi-Fi 6 (802.11ax) βœ…
Ethernet Realtek RTL8111H βœ…
Audio Realtek ALC257 βœ…

macOS Update History

  • βœ… macOS Sonoma 14.0 (not tested)
  • βœ… macOS Ventura 13.4
  • βœ… macOS Monterey
  • βœ… macOS Big Sur

What's working πŸ’»

Type Status
Turbo boost and CPU frequency stage βœ…
Intel UHD Graphics 630 βœ…
Brightness control βœ…
Audio Realtek ALC257 - layout-id: 11 βœ…
Realtek Ethernet RTL8111H βœ…
Intel AX201 Wi-Fi and Bluetooth, Handoff, iMessage... βœ…
USB 3.0 and Type-C (with Port Map) βœ…
Touchpad (14 gestures are working) βœ…
Battery status βœ…
Camera βœ…
S3 Sleep / Wake βœ…
S4 Hibernation / Wake βœ…
Shutdown / Reboot βœ…
Fn shortcut keys βœ…

What's not working πŸ’»

Type Info Status
HDMI Beacuse it connected to RTX2060 ❌
Airdrop, Sidecar Beacuse Intel Wi-Fi Doesn't Support ❌

Kexts Used

Kext Info MinKernel MaxKernel
Lilu An open source kernel extension bringing a platform for arbitrary kext, library, and program patching throughout the system for macOS. 8.0.0
VirtualSMC Advanced Apple SMC emulator in the kernel. Requires Lilu for full functioning. 8.0.0
SMCBatteryManager Battery Status Monitoring. 8.0.0
SMCProcessor Processor Temp Monitoring. 11.0.0
WhateverGreen Various patches necessary for certain ATI/AMD/Intel/Nvidia GPUs. This is needed for Intel UHD 630. 10.0.0
AppleALC An open source kernel extension enabling native macOS HD audio for not officially supported codecs without any filesystem modifications. 8.0.0
VerbStub Fixes jack headphone audio and microphone. 8.0.0
CPUFriend A Lilu plug-in for dynamic power management data injection. 10.0.0
CpuTscSync Needed for syncing TSC on some of Intel's HEDT and server motherboards, without this macOS may be extremely slow or even unbootable. 12.0.0
NoTouchID Lilu plugin for disabling Touch ID support. 17.0.0 19.5.9
NVMeFix NVMeFix is a set of patches for the Apple NVMe storage driver, IONVMeFamily. 18.0.0 22.9.9
FeatureUnlock Lilu Kernel extension for enabling: Sidecar, NightShift, AirPlay to Mac, Universal Control. 16.5.0
RestrictEvents Lilu Kernel extension for blocking unwanted processes causing compatibility issues on different hardware and unlocking the support for certain features restricted to other hardware. 16.0.0
HibernationFixup An open source kernel extension providing a sync between RTC variables and NVRAM. 16.0.0
VoodooI2C VoodooI2C is a project consisting of macOS kernel extensions that add support for I2C bus devices. 18.0.0
VoodooI2CHID Multitouch HID. Can be used with I2C/USB Touchscreens and Trackpads 18.0.0
VoodooPS2Controller Contains updated Voodoo PS/2 Controller, improved Keyboard & Synaptics TouchPad. 15.0.0
itlwm An Intel Wi-Fi Adapter Kernel Extension for macOS. + Heliport 23.0.0 23.9.9
AirportItlwm An Intel Wi-Fi Adapter Kernel Extension for macOS. 22.9.9
IntelBTPatcher Bluetooth modules that support Bluetooth 5.X be able to connect to Bluetooth 4.X devices. 21.0.0
IntelBluetoothFirmware Kernel Extension that uploads Intel Wireless Bluetooth Firmware to provide native Bluetooth in macOS.
IntelBluetoothInjector Injecting bluetooth firmware. 20.9.9
BlueToolFixup Injecting bluetooth firmware. 21.0.0
RealtekRTL8111 OS X open source driver for the Realtek RTL8111/8168 family.
HoRNDIS9.2 Android USB Tethering.
USBPorts Kext to inject mapped USB Ports.

SSDTs Used

SSDT Info Status
SSDT-PTSWAK Comprehensive Sleep and Wake Patch. Functional
SSDT-EXT4 Comprehensive Sleep and Wake Patch. Functional
SSDT-AC Attaches an AC Adapter Device existing in a Laptop's DSDT to the AppleACPIACAdapter service in the IORegistry of macOS. Cosmetic
SSDT-ARTC Adds ARTC device to IORegistry in macOS. Cosmetic
SSDT-AWAC Hotpatches for enabling RTC and disabling AWAC system clock at the same time. Functional
SSDT-DGPU Disables NVIDIA GPU for better battery performance. Functional
SSDT-DMAC Adds Direct Memory Access Controller (DMAC) device to IORegistry. Cosmetic
SSDT-EC-USBX Adds a fake Embedded Controller (SSDT-EC) and enables USB Power Management (SSDT-EC-USBX). Functional
SSDT-FWHD Adds Fake Firmware Hub Device (FWHD) device to the IORegistry in macOS. Cosmetic
SSDT-HPET Fixes IRQ conflicts. Required for on-board sound to work. Functional
SSDT-GPRW Fixes instant wake if either USB or power states change while sleeping. Functional
SSDT-I2C Fixes Touchpad Functional
SSDT-OCGPI0-GPHD The presence of a GPIO device is usually required for a I2C TrackPads to function properly. Functional
SSDT-OC-XOSI OS Check Fix patch to simulate a version of Windows for Darwin. Functional
SSDT-PLUG Allow the kernel's XCPM(XNU's CPU Power Management) to manage CPU's power management. Functional
SSDT-PNLF-CFL Adds Backlight Control for Laptop Screens. DISABLED Functional
SSDT-PS2K Enable Brightness Key Shortcuts. Functional
SSDT-SBUS-MCHC Fixes System Management Bus and Memory Controller in macOS. Functional
SSDT-SLPB Enabling Sleep Button. Functional
SSDT-XSPI Adds Platform Controller Hub (PCH) to IORegistry. Cosmetic

boot-args Used

boot-arg Info
-v Enables verbose.
darkwake=2
swd_panic=1 Avoids issue where going to sleep results in a reboot
-noDC9 Fixes sleep issues.
-lilubetaall Required for macOS Sonoma right now.

Installation Steps

Downloading OSX Image

Writing OSX Image

  • Unzip the zip file to desktop.
  • Download balenaEtcher.
  • Open program and click to Flash from file.
  • Select the OSX image .raw file from the popup window.
  • Click to Select target and select OSX image.
  • Click to Flash! and allow app in popup window.

  • When writing is finished, remove the USB stick and plug it back in.

Setting EFI Folder

  • When you plug USB back, you can see EFI partition in "My Computer"
  • Open EFI partition.
  • Delete default files.
  • Copy downloaded EFI folder to EFI partititon.
  • Download compatible AirportItlwm kext and put it OC/Kexts folder.
  • Now you can boot from USB.

Setting BIOS Settings

  • Before you start, reset your BIOS settings to default.
  • Disable
    • Secure Boot
    • Intel Thermal Framework (DPTF)
  • Graphic Device
    • Dynamic Graphics

macOS Installation

  • Now let's turn off our computer and boot from USB. Choose the Install macOS Monterey (whatever you have) option on OpenCore menu and go to the installation screen.
  • What to do on the following screens:
    • Select language and continue.
    • Open Disk Utility from the menu to prepare our disk.
    • Select Show All Devices from the Display option and select the name of our disk and click Erase.
    • Rename the disk and erase as APFS/GUID.
    • Now close Disk Utility and select Install macOS Monterey then next next next.
    • Select renamed disk and click continue.
    • When the installation is finished, macOS Installer option will be selected automatically every boot step until this option is gone.
    • After last boot, the language selection screen will welcome us. Select language and continue.
    • Don't login iCloud account and continue. Because we need to set our serial numbers and ROM for iCloud and iMessage.
    • Now we can see Desktop.

Post Installation

  • Open config file with Text Edit.
    • Search HideAuxiliary and change false value to true.
    • Search SecureBootModel and change Disabled value to Default.
    • Search boot-args and delete -v argument.
  • Now we have to set our serial numbers and ROM value.
    • Download GenSMBIOS and open .command file. If program asks Download Python download it. After that select option 3.
    • Now list 5 SMBIOS first.
    • Select and copy first Serial.
    • Go check serial number. Your serial should be like this. If not, try second serial.
    • Search MacBookPro15,3 and replace Serial > SystemSerialNumber, Board Serial > MLB and SmUUID > SystemUUID values. Now we will set our ROM value.
    • Go System Setting > Netwotk > Ethernet > Details > Hardware. If our MAC adress is 54:1A:AF:43:70:CA remove : characters = 541AAF4370CA. Convert it to Base64.
    • Now we have VBqvQ3DK. Replace this with ROM value and save config file.
    • Restart computer and press Space key on OpenCore menu. Then enter ResetNVRAM. After that BIOS settings may change. Check it and boot macOS.
    • Now you can login iCloud, iMessage or other apple services and you can use macOS.

Credits

  • Dortania for developing OpenCore.
  • Apple for macOS.
  • Acidanthera for most of the kexts.
  • RehabMan for battery patches.
  • Sniki for USB kext.
  • Technopat Youtube for Installation images.
  • And anyone else that helped to develop and improve hackintoshing.

Donate - Bağış