- Joined
- Nov 30, 2010
- Messages
- 155
- Motherboard
- Alienware 17 M1
- CPU
- i7-8750H
- Graphics
- GTX 2070
- Mac
- Classic Mac
- Mobile Phone
I - Overview
The purpose of this guide is to aid in the installation of OS X El Capitan, onto the Lenovo Yoga 2 Pro. The main issue with installation will be the QHD+ graphics of the Intel HD4400, where we need to set the DMVT Pre-Allocated value to 96MB. This setting is available in the bios, but not enabled by default. There is also a wi-fi whitelist in the bios, which will allow only Intel wi-fi adapters (none supported in OS X). This guide will assist in removing these roadblocks, and allow us to enjoy OS X on our Yoga 2 Pros
Most of the methods/kexts/scripts below were already available on this site, and just needed to be brought together. Thanks to RehabMan, as a majority of the work below is his. Also thanks to the-darkvoid, toleda, emueller, Austere.J, PeterQuinn (bios-mods), ryman95, and laurajuliette for their contributions. I apologize if I have left anyone out!
** This post assumes you are installing 10.11.6 - the final version of El Capitan **
II - Pre-Installation
Bios – The bios on the Yoga 2 Pro is locked, which means we can’t flash a modified bios. A modified bios would allow us to:
1) set DMVT Pre-allocated memory to 96MB
2) unlock the bios for future flashing
3) remove the whitelist wi-fi restriction
4) flash patched bios - optional, but required to use Broadcom WiFi. For flashing and patched BIOS, please see (https://www.bios-mods.com/forum/Thread-Request-Lenovo-Yoga-2-Pro-76cn31ww-Whitelist-Removal).
The most important thing for installing OS X will be setting the DMVT Pre-Allocated value. Luckily, this can be done without flashing the bios. This guide by Austere.J (http://www.insanelymac.com/forum/topic/305710-guide-intel-hd-graphics-5500-on-os-x-yosemite-10103/) will allow us to set the DMVT Pre-Allocated value to 96MB, using the EFI shell. While this will allow us to install OS X, this is not the process this guide will be using. Instead , we will unlock the bios and set this value in the bios.
Unlocking the Bios
Using the method by PeterQuinn from the bios-mods forum (https://www.bios-mods.com/forum/Thread-Request-Lenovo-Yoga-2-Pro-76cn31ww-Whitelist-Removal?page=9), we will use Linux (Ubuntu) to show the Advanced menu tab, which will allow us to set the DMVT Pre-Allocated value and also unlock the bios for future flashing (think white-list removal!).
Disclaimer #1 – I am not a linux expert, and likely will not be able to provide much support for Linux/Ubuntu.
Disclaimer #2 – although this method is safe, I am not responsible if this bricks your laptop! Anytime you modify the bios you will be assuming a certain amount of risk
The following are the steps to unlock your bios, and get us on our way to installing OS X on our Yoga 2 Pro
1 – Boot into Linux 14.04 using UEFI (F12 at startup of Yoga 2 Pro). I used a bootable USB with Ubuntu, and this guide will assume you know how to create a bootable USB for Linux (and also use Ubuntu). Once booted, you can install to the hard drive, but this guide will assume you will choose Try Ubuntu Without Installing. Also, only version 14.04 is supported, as other versions may not be able to unlock the bios
2 – Once in go to Files, select Computer , and verify the following exists: /sys/firmware/efi/efivars/SCUShowHiddenPage8be4df61-93ca-11d2-aa0d-00e098032b8c. This is what we will modify to show the Advanced menu tab in out bios
3 – open terminal (if you have installed Linux already, you may be able to proceed to step 4)
A – enable the Universe repository –
B – update the package list -
C- install ghex –
4 - Run the code provided by PeterQuinn -
. This will bring up the ghex GUI
5 – Change the last value from 00 to 01
6 – Save your work (File, Save).
7 – Restart laptop, enter bios (F2) and the Advanced menu tab should now be available
8 – In the Advanced menu tab, open Video Configuration
9 - Under IGD – DVMT Pre-Allocated change value to 96 MB
10 – Go back to the Advanced menu, and open Chipset Configuration
11 – Arrow down to the bottom, and set BIOS Lock to Disabled
12 – Exit saving changes (F10)
III - Installation
Follow the Clover guide (http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html) using version V3330 or better. As stated in the guide, install FakeSMC and VoodooPS2Controller to the EFI\Clover\kexts\other folder, on the USB Installer (and later to the HDD). Creation and installation should be standard, but until the graphics are patched you will need to boot without injecting Intel graphics. This can be done by editing the config.plist (enabled by default), or by unchecking the option during the boot process (during boot, select Options\Graphics Injector Menu\ uncheck InjectIntel)
IV - Post-Installation
1 - Install Clover to HDD (also covered in the Clover guide above)
2 - Install RehabMan’s config_HD4600_4400_4200plist from (https://github.com/RehabMan/OS-X-Clover-Laptop-Config)
- Change ig-platform-id of config.plist to 0x0a2e0008
- add the HD4400 Azul Framebuffer Size 96MB patch to config.plist, from emueller’s thread (http://www.tonymacx86.com/yosemite-...novo-yoga-2-pro-hd4400-qhd-qe-ci-working.html) ( or modify existing Enable 96MB DVMT-prealloc, 0x0a2e0008 patch)
- add AppleHDA patches from RehabMan U430 repo (https://github.com/RehabMan/Lenovo-U430-Touch-DSDT-Patch) (listed in config_install.plist)
- (optional) add Broadcom WiFi and BT patches from toleda’s guide (http://www.tonymacx86.com/network/104850-guide-airport-pcie-half-mini-v2.html)
3 - Install Kexts (all courtesy of Rehabman, with links to their repositories):
- (https://github.com/RehabMan/OS-X-Fake-PCI-ID) FakePCIID, FakePCIID_Intel_HD_Graphics, optional - FakePCIID_Broadcom_WiFi, FakePCIID_Intel_HDMI_Audio
- (https://github.com/RehabMan/OS-X-BrcmPatchRAM) BrcmFirmwareRepo, BrcmPatchRAM2 (if swapping Broadcom wifi/bt )
- (https://github.com/RehabMan/Lenovo-U430-Touch-DSDT-Patch) AppleHDA_ALC283 and Clover patches from the U430 repo – follow instructions!
- (https://github.com/RehabMan/OS-X-ACPI-Battery-Driver) ACPIBatteryManager
- (https://github.com/RehabMan/OS-X-Intel-Backlight) Intell Backlight for El Capitan
- (https://github.com/RehabMan/OS-X-Null-Ethernet) NullEthernet (optional, recommended if using USB WiFi)
4 – DSDT / SSDT
Follow the guide in the El Capitan Laptop Support (http://www.tonymacx86.com/el-capitan-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html). Extract files during Clover boot, by pressing the F4 key prior to boot. Also, extracted files may differ, due to laptop hardware and BIOS settings. The fixes below apply to my Yoga 2 Pro, with the i7-4500U and 8GB RAM.
As stated in the guide above, create a file called refs.txt, and enter this into file:
Place this file in your extracted DSDT/SSDT folder, and disassemble after removing non-DSDT/SSDT files:
DSDT:
• Remove _DSM methods
• Rename GFX0 to IGPU
• Rename B0D3 to HDAU
• Fix _WAK Arg0 v2
• Audio Layout 3
• IRQ Fix
• [bat] Lenovo Yoga 2 Pro
• SMBUS Fix
• HPET Fix
• RTC Fix
• OS Check Fix
• Fix Mutex with non-zero SyncLevel
• Fix PNOT/PPNT
• Add IMEI
• USB _PRW 0x6D (instant wake)
SSDT-0, SSDT-1, SSDT-3, SSDT-8
• Rename GFX0 to IGPU
SSDT-2 :
• Remove _PSS placeholders
• Rename GFX0 to IGPU
SSDT4x/5x/6x delete
SSDT7 :
• Rename GFX0 to IGPU
• Rename B0D3 to HDAU
• Brightness Fix (Haswell/Broadwell)
Generate SSDT.aml in MaciASL (Tools/Generate SSDT, use values 15W, 3000 max, 1800 min).
Install all .aml files to EFL/CLOVER/ACPI/patched, then check Drop OEM in the config.plist (ACPI tab)
5 – patching IOKit to remove pixel clock limitations
From the-darkvoid github:
Run the following code in order to patch IOKit in order to disable CheckTimingWithRange
*** The first boot with Inject/Intel=true needs to be 'without caches' because you're coming from a state where graphics drivers are not in cache. Clover can patch only things it loads. In the case of graphics drivers not in cache (due to booting without injection previously), the patches won't be applied unless you boot without caches.
After that you can rebuild cache:
And then boot normally... (thanks again RehabMan!) ***
V - Fun time!!!
At this point, you should be able to reboot, and everything should be working. The work can be done in multiple stages, but you will need to boot without injecting Intel until the last step is complete (framebuffer patch). Random notes from installs:
- I had to install VoodooHDA on one install, to get past a sound assertion error. was able to successfully load AppleHDA_ALC283 after this, but did not track down the issue
- until graphics are working properly, system boots at 3200x1800 resolution. Booting with micro-HDMI monitor attached, resolution was ~800x600, so might be easier to work at this resolution
- HDMI audio has not been tested
- brightness keys still need to be mapped (currently FN/Home +, FN/PgUp -)
- El Capitan installed as only OS on drive
The purpose of this guide is to aid in the installation of OS X El Capitan, onto the Lenovo Yoga 2 Pro. The main issue with installation will be the QHD+ graphics of the Intel HD4400, where we need to set the DMVT Pre-Allocated value to 96MB. This setting is available in the bios, but not enabled by default. There is also a wi-fi whitelist in the bios, which will allow only Intel wi-fi adapters (none supported in OS X). This guide will assist in removing these roadblocks, and allow us to enjoy OS X on our Yoga 2 Pros
Most of the methods/kexts/scripts below were already available on this site, and just needed to be brought together. Thanks to RehabMan, as a majority of the work below is his. Also thanks to the-darkvoid, toleda, emueller, Austere.J, PeterQuinn (bios-mods), ryman95, and laurajuliette for their contributions. I apologize if I have left anyone out!
** This post assumes you are installing 10.11.6 - the final version of El Capitan **
II - Pre-Installation
Bios – The bios on the Yoga 2 Pro is locked, which means we can’t flash a modified bios. A modified bios would allow us to:
1) set DMVT Pre-allocated memory to 96MB
2) unlock the bios for future flashing
3) remove the whitelist wi-fi restriction
4) flash patched bios - optional, but required to use Broadcom WiFi. For flashing and patched BIOS, please see (https://www.bios-mods.com/forum/Thread-Request-Lenovo-Yoga-2-Pro-76cn31ww-Whitelist-Removal).
The most important thing for installing OS X will be setting the DMVT Pre-Allocated value. Luckily, this can be done without flashing the bios. This guide by Austere.J (http://www.insanelymac.com/forum/topic/305710-guide-intel-hd-graphics-5500-on-os-x-yosemite-10103/) will allow us to set the DMVT Pre-Allocated value to 96MB, using the EFI shell. While this will allow us to install OS X, this is not the process this guide will be using. Instead , we will unlock the bios and set this value in the bios.
Unlocking the Bios
Using the method by PeterQuinn from the bios-mods forum (https://www.bios-mods.com/forum/Thread-Request-Lenovo-Yoga-2-Pro-76cn31ww-Whitelist-Removal?page=9), we will use Linux (Ubuntu) to show the Advanced menu tab, which will allow us to set the DMVT Pre-Allocated value and also unlock the bios for future flashing (think white-list removal!).
Disclaimer #1 – I am not a linux expert, and likely will not be able to provide much support for Linux/Ubuntu.
Disclaimer #2 – although this method is safe, I am not responsible if this bricks your laptop! Anytime you modify the bios you will be assuming a certain amount of risk
The following are the steps to unlock your bios, and get us on our way to installing OS X on our Yoga 2 Pro
1 – Boot into Linux 14.04 using UEFI (F12 at startup of Yoga 2 Pro). I used a bootable USB with Ubuntu, and this guide will assume you know how to create a bootable USB for Linux (and also use Ubuntu). Once booted, you can install to the hard drive, but this guide will assume you will choose Try Ubuntu Without Installing. Also, only version 14.04 is supported, as other versions may not be able to unlock the bios
2 – Once in go to Files, select Computer , and verify the following exists: /sys/firmware/efi/efivars/SCUShowHiddenPage8be4df61-93ca-11d2-aa0d-00e098032b8c. This is what we will modify to show the Advanced menu tab in out bios
3 – open terminal (if you have installed Linux already, you may be able to proceed to step 4)
A – enable the Universe repository –
Code:
sudo add-apt-repository universe
Code:
sudo apt-get update
Code:
sudo apt-get install ghex
4 - Run the code provided by PeterQuinn -
Code:
sudo ghex /sys/firmware/efi/efivars/SCUShowHiddenPage-8be4df61-93ca-11d2-aa0d-00e098032b8c
5 – Change the last value from 00 to 01
6 – Save your work (File, Save).
7 – Restart laptop, enter bios (F2) and the Advanced menu tab should now be available
8 – In the Advanced menu tab, open Video Configuration
9 - Under IGD – DVMT Pre-Allocated change value to 96 MB
10 – Go back to the Advanced menu, and open Chipset Configuration
11 – Arrow down to the bottom, and set BIOS Lock to Disabled
12 – Exit saving changes (F10)
III - Installation
Follow the Clover guide (http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html) using version V3330 or better. As stated in the guide, install FakeSMC and VoodooPS2Controller to the EFI\Clover\kexts\other folder, on the USB Installer (and later to the HDD). Creation and installation should be standard, but until the graphics are patched you will need to boot without injecting Intel graphics. This can be done by editing the config.plist (enabled by default), or by unchecking the option during the boot process (during boot, select Options\Graphics Injector Menu\ uncheck InjectIntel)
IV - Post-Installation
1 - Install Clover to HDD (also covered in the Clover guide above)
2 - Install RehabMan’s config_HD4600_4400_4200plist from (https://github.com/RehabMan/OS-X-Clover-Laptop-Config)
- Change ig-platform-id of config.plist to 0x0a2e0008
- add the HD4400 Azul Framebuffer Size 96MB patch to config.plist, from emueller’s thread (http://www.tonymacx86.com/yosemite-...novo-yoga-2-pro-hd4400-qhd-qe-ci-working.html) ( or modify existing Enable 96MB DVMT-prealloc, 0x0a2e0008 patch)
- add AppleHDA patches from RehabMan U430 repo (https://github.com/RehabMan/Lenovo-U430-Touch-DSDT-Patch) (listed in config_install.plist)
- (optional) add Broadcom WiFi and BT patches from toleda’s guide (http://www.tonymacx86.com/network/104850-guide-airport-pcie-half-mini-v2.html)
3 - Install Kexts (all courtesy of Rehabman, with links to their repositories):
- (https://github.com/RehabMan/OS-X-Fake-PCI-ID) FakePCIID, FakePCIID_Intel_HD_Graphics, optional - FakePCIID_Broadcom_WiFi, FakePCIID_Intel_HDMI_Audio
- (https://github.com/RehabMan/OS-X-BrcmPatchRAM) BrcmFirmwareRepo, BrcmPatchRAM2 (if swapping Broadcom wifi/bt )
- (https://github.com/RehabMan/Lenovo-U430-Touch-DSDT-Patch) AppleHDA_ALC283 and Clover patches from the U430 repo – follow instructions!
- (https://github.com/RehabMan/OS-X-ACPI-Battery-Driver) ACPIBatteryManager
- (https://github.com/RehabMan/OS-X-Intel-Backlight) Intell Backlight for El Capitan
- (https://github.com/RehabMan/OS-X-Null-Ethernet) NullEthernet (optional, recommended if using USB WiFi)
4 – DSDT / SSDT
Follow the guide in the El Capitan Laptop Support (http://www.tonymacx86.com/el-capitan-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html). Extract files during Clover boot, by pressing the F4 key prior to boot. Also, extracted files may differ, due to laptop hardware and BIOS settings. The fixes below apply to my Yoga 2 Pro, with the i7-4500U and 8GB RAM.
As stated in the guide above, create a file called refs.txt, and enter this into file:
Code:
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB_.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB_.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB_.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB_.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB_.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB_.PCI0.XHC.RHUB.TPLD, MethodObj, 2)
External(_GPE.OSUP, MethodObj, 1)
Code:
iasl -da -dl -fe refs.txt *.aml
DSDT:
• Remove _DSM methods
• Rename GFX0 to IGPU
• Rename B0D3 to HDAU
• Fix _WAK Arg0 v2
• Audio Layout 3
• IRQ Fix
• [bat] Lenovo Yoga 2 Pro
• SMBUS Fix
• HPET Fix
• RTC Fix
• OS Check Fix
• Fix Mutex with non-zero SyncLevel
• Fix PNOT/PPNT
• Add IMEI
• USB _PRW 0x6D (instant wake)
SSDT-0, SSDT-1, SSDT-3, SSDT-8
• Rename GFX0 to IGPU
SSDT-2 :
• Remove _PSS placeholders
• Rename GFX0 to IGPU
SSDT4x/5x/6x delete
SSDT7 :
• Rename GFX0 to IGPU
• Rename B0D3 to HDAU
• Brightness Fix (Haswell/Broadwell)
Generate SSDT.aml in MaciASL (Tools/Generate SSDT, use values 15W, 3000 max, 1800 min).
Install all .aml files to EFL/CLOVER/ACPI/patched, then check Drop OEM in the config.plist (ACPI tab)
5 – patching IOKit to remove pixel clock limitations
From the-darkvoid github:
Run the following code in order to patch IOKit in order to disable CheckTimingWithRange
Code:
sudo perl -i.bak -pe 's|\xB8\x01\x00\x00\x00\xF6\xC1\x01\x0F\x85|\x33\xC0\x90\x90\x90\x90\x90\x90\x90\xE9|sg' /System/Library/Frameworks/IOKit.framework/Versions/Current/IOKit
sudo codesign -f -s - /System/Library/Frameworks/IOKit.framework/Versions/Current/IOKit
*** The first boot with Inject/Intel=true needs to be 'without caches' because you're coming from a state where graphics drivers are not in cache. Clover can patch only things it loads. In the case of graphics drivers not in cache (due to booting without injection previously), the patches won't be applied unless you boot without caches.
After that you can rebuild cache:
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
And then boot normally... (thanks again RehabMan!) ***
V - Fun time!!!
At this point, you should be able to reboot, and everything should be working. The work can be done in multiple stages, but you will need to boot without injecting Intel until the last step is complete (framebuffer patch). Random notes from installs:
- I had to install VoodooHDA on one install, to get past a sound assertion error. was able to successfully load AppleHDA_ALC283 after this, but did not track down the issue
- until graphics are working properly, system boots at 3200x1800 resolution. Booting with micro-HDMI monitor attached, resolution was ~800x600, so might be easier to work at this resolution
- HDMI audio has not been tested
- brightness keys still need to be mapped (currently FN/Home +, FN/PgUp -)
- El Capitan installed as only OS on drive
Last edited: