Code Monkey home page Code Monkey logo

lenovo-yoga-710-14ikb-hackintosh's Introduction

Lenovo Yoga-710-14IKB Hackintosh

macOS macOS OpenCore License

Disclaimer

This repository is meant to serve as rough documentation of the steps I followed to turn my Yoga-710-14IKB into a working Hackintosh. The documentation and the files listed here should be used as a reference only. If you choose to use the documentation and/or the files for your personal use, you are allowed to do so on your responsibility. Under no circumstances will I be held responsible for any data loss or bricked device or other disasters that might strike your PC. Also, create your own SMBIOS. I've removed my SMBIOS details from the config.plist.

Update

Monterey-EFI will no longer be updated. The Ventura EFI should keep on working on Monterey systems, but there is no way for me to test.

screenshot.png

Configuration

Specification Details
Laptop Model Lenovo Yoga 710 (14") - 14IKB (without dGPU)
Display 14.00 inch 16:9, 1920 x 1080 pixel 157 PPI, Multitouch, AU Optronics B140HAN03.0, a-Si WLED TFT, IPS, glossy: yes
Processor Intel i5-7200U (4) @ 2.50GHz (IKBL)
GPU Intel HD Graphics 620 (Integrated)
Motherboard Intel Kaby Lake-U Premium PCH
Memory 1x8GB - G.SKILL Ripjaws DDR4-2400MHz-CL16-16-16 (F4-2400C16S-8GRS)
Storage Crucial MX500 M.2 SATA SSD (CT500MX500SSD4)
Card Reader Realtek RTS5229 PCI Express Card Reader
Sound Codec ALC236 (layout-id: 15)
WLAN & Bluetooth BCM94352Z - Lenovo China 4352+20702 NGFF [0489:e07a]
BIOS/UEFI 2XCN38WW (V2.12)

NOTE: When I first got this laptop, I upgraded the RAM from 4GB to 8GB. The included 240GB LITE-ON SSD died within two years, so I replaced it with a Crucial MX500 M.2 SSD. When I first installed High Sierra on this laptop, I swapped the Intel 8260NGW card with a Lenovo branded BCM94352Z. To enjoy basic functionalities, replacement of the WLAN+Bluetooth combo card is probably unnecessary because of successful efforts to support Intel WiFi cards under macOS. All the details of these replaced components are in the above list.

Important

  • I own an iGPU-only variant of Yoga 710. There was another variant that came with discrete Nvidia 940MX GPU which is unsupported by macOS. The discrete GPU must be disabled using one of these ways for proper functioning (e.g., sleep, brightness etc.) of hackintosh.
  • You have to replace BlueToolFixup.kext with BrcmBluetoothInjector.kext if you want to boot Big Sur.
  • XhciPortLimit is broken in Big Sur 11.3 and above, so you can't boot Big Sur (11.3+), Monterey (and Ventura) without properly configured USBMap.kext. You must properly map your USB ports using an older macOS (Catalina, for example) before you attempt booting Big Sur 11.3+.

Working

  • Graphics (with QE/CI)
  • Proper CPU Power Management
  • Sleep/Wake
  • Audio and Brightness Fn keys
  • Brightness
  • Keyboard
  • Trackpad (full gestures support.)
  • Battery Status
  • Audio
  • Siri
  • WiFi
  • Bluetooth
  • HDMI output (along with audio)
  • Touchscreen (with a caveat)
  • Webcam
  • iServices (iMessage, FaceTime, AppStore etc.)
  • Card Reader

Not Working

  • Physical Trackpad buttons
  • DRM (iGPU only systems are unsupported.)

Untested

  • Anything that requires owning a real Apple device i.e., Handoff, AirDrop etc.

BIOS/UEFI Settings

An important element of having power management in Hackintosh is disabling CFG-Lock in BIOS. The problem is most laptop BIOS keeps this setting hidden from users. Yoga 710 is no different, so you can't find this option in the BIOS. But, fortunately, there is a way to unlock the Advanced setting in our BIOS without invasive procedures. We will use a bunch of key combinations to get access to the Advanced settings.

  • Press Power Button → Press Fn+F2 to enter BIOS → Now press the Power Button again to turn off the laptop. → Now press the following keys in the order in which they appear below.
    • F11QAZ
    • F22WSX
    • F33EDC
    • F44RFV
    • F55TGB
    • F66YHN
  • Now press Power Button → Press Fn+F2 to enter BIOS, Advanced tab should be visible.

Now you can configure your BIOS freely. Guide

To disable CFG-Lock:

  • AdvancedPower & PerformanceCPU - Power Management ControlCPU Lock ConfigurationCFG LockDisabled

Required Drivers/Kexts

  • VirtualSMC.kext
  • SMCBatteryManager.kext (Required for working battery status.)
  • SMCProcessor.kext
  • SMCSuperIO.kext
  • Lilu.kext
  • WhateverGreen.kext
  • VoodooPS2Controller.kext
  • AirportBrcmFixup.kext (Delete AirPortBrcm4360_Injector.kext or disable using config.plist)
  • BlueToolFixup.kext
  • BrcmFirmwareData.kext
  • BrcmPatchRAM3.kext
  • AppleALC.kext
  • BrightnessKeys.kext
  • VoodooInput.kext
  • VoodooRMI.kext
  • VoodooSMBus.kext
  • VoodooI2C.kext
  • VoodooI2CHID.kext
  • USBMap.kext (Needs to be generated manually.)
  • RealtekCardReader.kext
  • RealtekCardReaderFriend.kext
  • ECEnabler.kext
  • FeatureUnlock.kext (Unlocks AirPlay to Mac. Thanks @iT0G)

CPUFriend (Optional)

  • CPUFriend.kext (must be paired with CPUFriendDataProvider.kext)

Note: Don't use CPUFriend.kext (and CPUFriendDataProvider.kext) during installation.

Preparation

I can't stress enough how important it is to take note of the hardware and device/vendor ids before you even attempt to proceed further. Guide

Use SSDTTime to dump your DSDT and SSDTs in Linux (or Windows). Make sure to take a copy of those in an external drive. While you will not use the whole DSDT with OpenCore, you may have to refer to it for manually patching other SSDTs. You will also need a 16GB+ USB flash drive to make the bootable USB installer. I will assume that you already have access to a mac or a Hackintosh machine.

If you plan on installing Ventura or Monterey or Big Sur 11.3+, make sure that you install a prior version of macOS and create your USBMap.kext. You may try the USBMap.kext available in this repository and place it inside EFI > OC > Kexts folder. Alternatively, if you are still on windows, you may give this a go.

Installation

For installation, refer to Dortania's OpenCore install guide. Ideally, you should read the whole guide thoroughly. Once you are done, lots of things make sense.

In OpenCore, some kexts are required to be loaded before some other kext(s) to function properly. So make sure that you understand the kext loading order. You can also refer to the config.plist available in this repository to see the order in which they must be loaded.

Useful Tips

  1. Pay attention to VoodooRMI kexts loading order. There are redundant kexts that must be disabled. ProperTree does this automatically when you take OC Snapshot, but you should verify it manually.
  2. To increase VRAM and get HDMI to work properly, you must patch the framebuffer using Hackintool. Guide
  3. I2C devices must be GPIO pinned for VoodooI2C to work properly. Guide
  4. The touchscreen works only after waking up from sleep (it has been this way since High Sierra). To get it working, you need Windows patches (which is often discouraged) using SSDT-XOSI.aml, and you also need to add XOSI renames in your config.plist. Since I do not use the touchscreen, I have not included the files in this repository. Guide
  5. Bluetooth situation does not look too good in macOS Monterey. You have to use BlueToolFixup.kext. Currently, it shows up as THIRD_PARTY_DONGLE. You can read up about current limitations here.
  6. Using prebuilt SSDTs is fine, but try to create SSDTs manually. It teaches you a lot in the process. SSDTTime generated SSDTs that I ended up using are–
    • SSDT-EC.aml
    • SSDT-HPET.aml
    • SSDT-PLUG.aml
  7. Using CPUFriend.kext (OPTIONAL) This should be the last thing in your Hackintosh building process, and it is optional. Guide (No need to download the Data.zip at Olarila. That zip contains required configurations for Coffee Lake users. And you should opt for the kext version i.e., CPUFriendDataProvider.kext)

Credits

  • Apple for macOS.
  • Acidanthera team for OpenCorePkg, VirtualSMC, Lilu, AppleALC, BrcmPatchRAM, VoodooPS2, WhateverGreen, AirportBrcmFixup, VoodooInput, CPUFriend, BrightnessKeys.
  • VoodooSMBus team for VoodooRMI.
  • 0xFireWolf for RealtekCardReader and RealtekCardReaderFriend.
  • dortania for awesome OpenCore Install Guide.
  • CorpNewt for USBMap.kext, GenSMBIOS, SSDTTime, MountEFI and ProperTree.
  • 1Revenger1 for ECEnabler.kext and other contributions.
  • alexandred and other VoodooI2C team for VoodooI2C.
  • daliansky for the original guide on unlocking the Advanced menu in the BIOS.
  • Headkaze for Hackintool.
  • Piker-Alpha for ssdtPRGen.sh.
  • RehabMan for awesome guides and tools.

lenovo-yoga-710-14ikb-hackintosh's People

Contributors

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