Contribute
Register

[Guide] Lenovo Legion Y520/Y720 using Clover UEFI

Status
Not open for further replies.
Your complete IOReg report is missing, are you sure you let the script run uninterrupted?
Do all Y720s come with custom software controlled keyboard backlight?
My Y520 only has red backlight with 3 brightness options (off, medium, full).

EDIT: I doubt there is control for your keyboard backlight under macOS.
=====================================
+ macOS DEBUG REPORT GENERATOR +
-------------------------------------
+ SCRIPT VERSION 4.3.3 +
=====================================
=====================================
+ AUTHOR: black.dragon74 +
=====================================

Hold on for a moment....
System report will be included in the dump as requested.
EFI Mount Script (RehabMan) found. No need to download.
IORegistryExplorer found at /Applications/IORegistryExplorer.app
Verifying if correct version of IORegistryExplorer is installed.
Your version of IORegistryExplorer.app passed the check. Good to go!
Found patchmatic at /usr/local/bin/patchmatic
Dumping loaded ACPI tables.
Dumped loaded ACPI tables.
Dumping clover files.
Mounted EFI at /Volumes/EFI (credits RehabMan)
Verifying your EFI files...
ACPI files were dumped recently. Great!
Preboot log was dumped recently. Great!
All checks passed. Copying CLOVER files...
Removing theme dir from the dump.
Removing tools dir from the dump.
Masking your System IDs
Dump of CLOVER files completed successfully.
Unmounted /Volumes/EFI
Dumping System log.
Dumping kernel panic logs...
Dumping kernel log.
Dumping kextstat.
Dumping kextcache
Dumping IOREG.
IOREG dump failed. Retrying by increasing delays...
Increased delay by x2 times. Retrying...
IOREG dump failed. Retrying by increasing delays...
Increased delay by x3 times. Retrying...
IOREG dump failed. Retrying by increasing delays...
IOREG dump has failed 3 times. Dumping generic IOREG report instead.
Generating system info, this may take a while.
Generating report in txt format as requested.
Dumping Boot log
Dumping NVRAM values...
Zipping all the files

I did not touch my computer until the script ended.

I did another dump. Lenovo does have a program in windows which sets the color of the LED for keyboard. During cold boot, when the BIOS boots, the keyboard starts with the last know settings. Clover seems to wipe the settings and turn off the LED of the keyboard. When I do a restart from Windows, Clover keeps the settings of the LED for keyboard. Could it be my nvram is screwed up?
 

Attachments

  • debug_15010.zip
    1.9 MB · Views: 76
Last edited:
HI again,
thank you kindly for updating and add y530 plist, helped a lot. Question do you know which audio codec to use on y530 ? cause i've tried using AppleAlc onto other in EFI's kext folder, but no audion, help would be appreciated
Attach Problem Reporting Files

Also, you shouldn't quote the whole guide to ask a question.
Current layout used for the Y530 seems to be layout 18.
Try booting without caches and running kextcache -i /, restart multiple times if needed.

=====================================
+ macOS DEBUG REPORT GENERATOR +
-------------------------------------
+ SCRIPT VERSION 4.3.3 +
=====================================
=====================================
+ AUTHOR: black.dragon74 +
=====================================

Hold on for a moment....
System report will be included in the dump as requested.
EFI Mount Script (RehabMan) found. No need to download.
IORegistryExplorer found at /Applications/IORegistryExplorer.app
Verifying if correct version of IORegistryExplorer is installed.
Your version of IORegistryExplorer.app passed the check. Good to go!
Found patchmatic at /usr/local/bin/patchmatic
Dumping loaded ACPI tables.
Dumped loaded ACPI tables.
Dumping clover files.
Mounted EFI at /Volumes/EFI (credits RehabMan)
Verifying your EFI files...
ACPI files were dumped recently. Great!
Preboot log was dumped recently. Great!
All checks passed. Copying CLOVER files...
Removing theme dir from the dump.
Removing tools dir from the dump.
Masking your System IDs
Dump of CLOVER files completed successfully.
Unmounted /Volumes/EFI
Dumping System log.
Dumping kernel panic logs...
Dumping kernel log.
Dumping kextstat.
Dumping kextcache
Dumping IOREG.
IOREG dump failed. Retrying by increasing delays...
Increased delay by x2 times. Retrying...
IOREG dump failed. Retrying by increasing delays...
Increased delay by x3 times. Retrying...
IOREG dump failed. Retrying by increasing delays...
IOREG dump has failed 3 times. Dumping generic IOREG report instead.
Generating system info, this may take a while.
Generating report in txt format as requested.
Dumping Boot log
Dumping NVRAM values...
Zipping all the files

I did not touch my computer until the script ended.

I did another dump. Lenovo does have a program in windows which sets the color of the LED for keyboard. During cold boot, when the BIOS boots, the keyboard starts with the last know settings. Clover seems to wipe the settings and turn off the LED of the keyboard. When I do a restart from Windows, Clover keeps the settings of the LED for keyboard. Could it be my nvram is screwed up?
Seems to be an issue with your IOReg app, regardless, I am unsure how to help you in this case. Perhaps you could try debugging the EC queries from the backlight controls?
 
Attach Problem Reporting Files

Also, you shouldn't quote the whole guide to ask a question.
Current layout used for the Y530 seems to be layout 18.
Try booting without caches and running kextcache -i /, restart multiple times if needed.


Seems to be an issue with your IOReg app, regardless, I am unsure how to help you in this case. Perhaps you could try debugging the EC queries from the backlight controls?
How do I debugger EC queries?
 
Last edited:
Hello all,

I had a working hackintosh on Y520 with Sierra (with some known limitations as trackpad etc...)
I tried to update Mojave last week and since then I'm fighting with the system due I'm not able to boot since it was updated. I get a panic quite similar to the message I quoted below (hessi) (in fact the details go up and what remains on the screen is a screenshot like that -> pic)

I tried also to create a USB stick with Mojave's installation and copied the file config_install.plist (overwriting the CLOVER config.plist, obviously) but not even the USB stick booted.

I read that some people have had problems with Y520 models that did not seem to be the same as the one of the guide creator. Mine is Y520-15IKBN. The difference between the original is I changed wifi card with another supported, and installed a Samsung EVO 860 NVMe. Keep in mind that all of this stuff were working on Sierra.

Any clue that may be happening to me and how to solve it?

Thanks in advance!!

Hi this is my first hackintosh, so probabily I'm doing some things wrong, because I'm getting stuck into the same problem all the time. I followed the Main guide, and I think I have a graphics kernel error. I attach my clover and the image error.

Note: I can't reach the installer
 
Last edited:
Hello all,

I had a working hackintosh on Y520 with Sierra (with some known limitations as trackpad etc...)
I tried to update Mojave last week and since then I'm fighting with the system due I'm not able to boot since it was updated. I get a panic quite similar to the message I quoted below (hessi) (in fact the details go up and what remains on the screen is a screenshot like that -> pic)

I tried also to create a USB stick with Mojave's installation and copied the file config_install.plist (overwriting the CLOVER config.plist, obviously) but not even the USB stick booted.

I read that some people have had problems with Y520 models that did not seem to be the same as the one of the guide creator. Mine is Y520-15IKBN. The difference between the original is I changed wifi card with another supported, and installed a Samsung EVO 860 NVMe. Keep in mind that all of this stuff were working on Sierra.

Any clue that may be happening to me and how to solve it?

Thanks in advance!!

Attach Problem Reporting Files
(in this case upload a zip of the zip you're using to boot Mojave)

I can't really tell you what you are doing wrong solely by looking at that kp screenshot.
What I can tell you, is that it is very unlikely that you can do a major macOS update without preparing first, and even then there is a chance of failure.
 
Overview

The purpose of this guide is to provide a step-by-step guide to installing Mojave, High Sierra, or Sierra (10.12.6) on the Lenovo Legion Y520/Y720 laptop series.

Note: This series of laptops doesn't appear to have a WiFi whitelist, so you don't need any BIOS modifications.


What you need

- Lenovo Legion Y520 (or Y720).
- Mojave, High Sierra, Sierra, or El Capitan downloaded from the Mac App Store.
- 8GB USB stick.
- Broadcom BCM94352Z for native WiFi.


BIOS settings

To start, set BIOS to defaults.

Then insure:
- UEFI boot is enabled.
- Secure boot is disabled.
- Fast boot is disabled.
- SATA mode is set to AHCI.


Preparing USB and initial Installation

This guide for creating USB and installing using Clover UEFI works well for this laptop: [Guide] Booting the OS X installer on LAPTOPS with Clover

Special notes:

- Definitely copy RealtekRTL8111.kext to Clover/kexts/Other as having network support during post-install is helpful. The rest of this guide depends on it. An alternate is to copy Lilu.kext and AirportBrcmFixup.kext to Clover/kexts/Other. This will enable WiFi, provided you have the BCM94352Z WiFi card already installed.

Note: Lilu.kext and AirportBrcmFixup.kext are available here: https://github.com/acidanthera/Lilu/releases, https://github.com/acidanthera/AirportBrcmFixup/releases.

- Use the 'createinstallmedia' approach. It works well, and there is little chance for pilot error. This method also gives you a recovery partition.

- Use the config_install.plist from the Y520 repo here: https://github.com/the-braveknight/Lenovo-Y520-macOS.


Post Installation

Install Clover UEFI as described in the guide linked by the previous section (post #2). After installing Clover, and configuring it correctly (config.plist, kexts, etc) you should be able to boot from the HDD/SSD.

But there are still many issues and devices that won't work correctly. For that, we need to patch DSDT, provide a proper config.plist, and install the kexts that are required.

Since you have RealtekRTL8111.kext already injected by Clover, you should have internet access simply by using an Ethernet cable to your router. Plug it in and make sure you have internet access before continuing. Or if you're using Lilu.kext and AirportBrcmFixup.kext, you can connect to your WiFi router before continuing.

Installation of the tools and patching is easy provided the scripts and tools at the Lenovo Y520 repository: https://github.com/the-braveknight/Lenovo-Y520-macOS.

To start, the developer tools must be installed. Run Terminal, and type:
Code:
git

You will be prompted to install the developer tools. Since you have internet working, you can choose to have it download and install them automatically. Do that before continuing.

After the developer tools are installed, we need to get a couple of projects from my github.

In Terminal:
Code:
mkdir ~/Projects
cd ~/Projects
git clone https://github.com/the-braveknight/Lenovo-Y520-macOS legion.git

Now it is time to install some more tools and all the kexts that are required...
Code:
cd ~/Projects/legion.git
./Y520.sh --download-requirements
./Y520.sh --install-downloads

Or if you have Y720:
Code:
cd ~/Projects/legion.git
./Y720.sh --download-requirements
./Y720.sh --install-downloads

The '--download-requirements' command will automatically gather the latest version of all tools (patchmatic, iasl, MaciASL) and all the kexts (VirtualSMC.kext, SMCBatteryManager.kext, etc) from their release points. The '--install-downloads' will automatically install them to the proper locations.

Note: The current repo can be considered somewhat experimental. It uses the new SMC kext (VirtualSMC.kext) instead of FakeSMC.kext. If you have any problem with VirutalSMC.kext, replace it with RehabMan's FakeSMC.kext available here: https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/.
Also make sure to remove SMCBatteryManager.kext too and install RehabMan's ACPIBatteryManager.kext available here: https://bitbucket.org/RehabMan/os-x-acpi-battery-driver/downloads/.

Note: My Y520 has a Synaptics trackpad. But some of these Y520 laptops are coming with an ELAN trackpad instead. I'm not going to link the ELAN trackpad kext due to the author's disregard for the open source license, but you can find it on the internet. Also keep in mind that the ELAN kext has not been updated in more than a year, so do not expect it to work properly.

The Y520's DSDT USB ports have correct _UPC/_PLD objects so USBInjectAll.kext is not needed. However, the Y720's DSDT port configuration aren't correct, so the current repo corrects those ports by injecting the the right _UPC configuration for each port.

Note: The Y720 appears to have I2C trackpad and USB keyboard. For those machines, I suggest looking at VoodooI2C project here: https://github.com/alexandred/VoodooI2C.

If you wish, you can reboot to verify a few more items are working (many only partially).

To finish the setup, we need a correctly patched ACPI.

In Terminal:
Code:
make
make install_y520

Or for the Y720:
Code:
make
make install_y720

The 'make' causes the patched files to be compiled (with iasl), the results placed in ./build.

Finally, 'make install_y520' or 'make install_y720', mounts the EFI partition, and copies the built files where they can be loaded by Clover (to EFI/Clover/ACPI/patched).

Note: No actual patching of DSDT/SSDT is happening here. We are simply building an add-on SSDT (SSDT-Y520.aml or SSDT-Y720.aml) which provides the necessary changes. This is because these machines require only minimal patching so a full patched DSDT is not needed.

Power Management

Everything required for CPU/IGPU power management is already installed with the steps above.
There is no longer any need to use the ssdtPRgen.sh script.

Be aware that hibernation (suspend to disk or S4 sleep) is not well supported on hackintosh.

You should disable it:
Code:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

Always check your hibernatemode after updates and disable it. System updates tend to re-enable it, although the trick above (making sleepimage a directory) tends to help.


Final config.plist

Up to now, you've been using the same config.plist we were using for installation. After all the ACPI files are in place (previous two steps), you're ready to use the final config.plist from the y520 repo.

In Terminal:
Code:
cd ~/Projects/legion.git
./Y520.sh --install-config

Or if you have Y720:
Code:
cd ~/Projects/legion.git
./Y720.sh --install-config

You could also copy the file using Finder.

After copying the config.plist from the repo to EFI/Clover/config.plist, you should customize the SMBIOS so you have a unique serial. You can use Clover Configurator to do this (use google to find/download it). DO NOT use Clover Configurator to edit your actual config.plist. Instead edit a "dummy" config.plist to create the SMBIOS data and then use copy/paste with a plist editor (I use Xcode) to copy the SMBIOS section into my active config.plist. Clover Configurator is too buggy and cannot be trusted with edits to your real config.plist.

Repeat: DO NOT edit your config.plist with Clover Configurator. Clover Configurator will erase important settings from the config.plist, and as a result, it will not work.

Note: The config.plist in the repo is using MacBookPro14,1. It works. You could also use MacBookPro11,1 to avoid problems related to HWP.

Note regarding HDMI/DP ports: These ports are connected to the Nvidia GTX1050 (or GTX1060) card, which is disabled. Therefore those ports will never work on macOS. The provided config_y520.plist/config_y720.plist completely disables all the external framebuffer ports.


Do not stop reading

Although most of the post-install tasks are done, continue to read this guide. It has important information you should know about.

Be sure to visit "Known Problems", especially the instructions in the "Audio:" section. Typically, even after completing all the above tasks, audio will not work on the first reboot. You must follow the specific instructions in that section in order to get the audio kexts in cache.

In the case of a problem, don't bother asking about with without all files requested in "Problem Reporting".


Updates to the patch repositories

From time to time, updates may become available to the NUC repository. In the event of such updates, you may want to update your copies, and re-patch ACPI with the updates.

Since you're using git, it is easy...

In Terminal:
Code:
cd ~/Projects/legion.git
./Y520.sh --update # or ./Y720.sh --update # to save any local changes you might have made and update repo to latest
./Y520.sh --download-requirements # or ./Y720.sh --download-requirements
./Y520.sh --install-downloads # or ./Y720.sh --install-downloads
./Y520.sh --update-config # or ./Y720.sh --update-config
make clean
make
make install_y520 # or make install_y720


What works

- UEFI booting via Clover.
- Built-in keyboard (with special function keys).
- Built-in trackpad (basic gestures).
- AirPlay mirroring to AppleTV.
- Native WiFi via BCM94352Z.
- Bluetooth (with handoff) using BCM94352Z.
- Native USB3/USB2/USB-C.
- Native audio with AppleHDA, including headphones.
- Built-in camera.
- Native power management.
- Battery status.
- Backlight controls.
- Accelerated graphics for HD630 including OpenCL.
- Wired Ethernet.
- Mac App Store working.
- Messages/FaceTime.


Not tested/not working

- USB 3.1 Type-C port on the Y720 doesn't work properly because it's connected to the TB device (not XHC). It works only if the device is plugged in prior to booting, hotplug is not working/not reliable. There are current solutions being worked on, but no 100% solution AFAIK.
- HDMI/DP video/audio don't work because those ports are connected to the Nvidia card, which is disabled.


Known Problems

Find My Mac/Locking: Find My Mac does not work properly. Don't lock your mac because it's difficult (or impossible) to unlock again.

Slow WiFi after sleep/wake cycle: Disable "Wake for network access" in SysPrefs->Energy Saver.

Audio: After installing new/updated kexts or after the initial installation, you may lose audio.

To fix:
- reboot without caches (hit space at Clover, select without caches)
- rebuild cache
Code:
sudo kextcache -i /

- Reboot normally (if needed, two times)


Other post-install tasks

Trackpad: Be sure to visit the options in SysPrefs->Trackpad and change them to your liking.

Trackpad three finger support: You can configure three finger swipes in SysPrefs->Keyboard->Shortcuts. Instead of pressing keys for a given function, do the three finger swipe (up/down/left/right).

Disable trackpad when using an external mouse: The latest script installs the latest VoodooPS2Controller.kext. It allows you to disable the built-in trackpad when a USB mouse is plugged in. Just check the box in SysPrefs->Accessibility->"Mouse & Trackpad".

Bluetooth: If you get the Bluetooth Setup Assistant popup, go to SysPrefs->Bluetooth->Advanced, uncheck the boxes.


Problem Reporting

Read the FAQ here: [FAQ] READ FIRST! Laptop Frequent Questions.


Credits

@RehabMan: his repos, guides, kexts, tools, and scripts.
Question, i replaced my wifi+bluetooth card with BCM94352Z, yet when i finally get both wifi and bluetooth working then my airpods doesn't connect with my legion's bluetooth or can't find my bluetooth, am i doing something wrong?
 
Question, i replaced my wifi+bluetooth card with BCM94352Z, yet when i finally get both wifi and bluetooth working then my airpods doesn't connect with my legion's bluetooth or can't find my bluetooth, am i doing something wrong?
Please refrain from quoting whole original post.
Attach Problem Reporting Files

Does your Airdrop and Handoff work properly?
 
sorry about that, and no both airdrops and handoff doesn't work with BCM94352Z, only wifi works and blutooth seems on but can't connect nor find any bluetooth device near especially my airpods
 

Attachments

  • config.plist
    9.8 KB · Views: 292
sorry about that, and no both airdrops and handoff doesn't work with BCM94352Z, only wifi works and blutooth seems on but can't connect nor find any bluetooth device near especially my airpods
Attach All Problem Reporting Files

Are you even following the guide? Your config.plist doesn't match the one from github.
 
Status
Not open for further replies.
Back
Top