Giter VIP home page Giter VIP logo

legion-5-hackintosh's Introduction

macOS on Lenovo Legion 5 15IMH05H

Table of Contents

Screenshots ๐Ÿ“ท

CPU Frequency and Temperature

  • Normal

  • While Geekbench

Geekbench

  • CPU

  • OpenCL

  • Metal

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 โœ…

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.

Downloading OSX Image

  • go here for options [Download](https.

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.
  • Open EFI/OC and set your config file.
    • If you have Qualcomm Wi-Fi card. Delete default config and rename other one.
  • Now you can boot from USB.

Setting BIOS Settings

  • Before you start, reset your BIOS settings to default.
  • Disable
    • Secure Boot
  • Enable
    • CSM

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 View 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 Sonoma 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.
      • If you have patched your system with OCLP, do not do this step.
    • 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. MacBookPro14,1
    • Select and copy first Serial.
    • Go check serial number. Your serial should be like this. If not, try second serial.
    • Search MacBookPro15,1 and replace Type > SystemProductName, 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.
    • Delete default USBPorts kext in OC/Kexts and rename other one to USBPorts.
    • 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.

How to make it better?

Advanced Resolution

Credits

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

legion-5-hackintosh's People

Contributors

deepanshpandey avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.