Contribute
Register

Lenovo Yoga 2 Pro HD4400 QHD+ QE/CI working

Status
Not open for further replies.
Joined
Jun 18, 2011
Messages
6
Motherboard
Lenovo T420s
CPU
i5-2540M
Graphics
HD3000
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Success!!! I finally made it (just by putting together the efforts of others to be honest)
I now have QE/CI on a Yoga 2 Pro with QHD+ 3200x1800 including working touchscreen (out-of-the-box)
(without directly moding the bios, just doing it by UEFI setup_var)

A short collection of what I had to put together (only directly valid for Yoga 2 Pro owners!):
- I am using bootloader Clover with Yosemite 10.10.3
- I found, nearly 10 month ago, the needed steps by the godfather of the solution the_darkvoid
http://www.tonymacx86.com/yosemite-laptop-guides/144351-guide-dell-xps-9530-using-clover-uefi.html
- On Yoga 2 Pro the problem was that you couldn't change the DVMT Pre-Allocated to 96MB, because you cannot "easily" flash a modded bios to the Y2P
- but I found an alternative solution from Austere.J by using a custom EFI-Shell based on grub
http://www.insanelymac.com/forum/topic/305710-guide-intel-hd-graphics-5500-on-os-x-yosemite-10103/
- thanks also to donovan6000 for his tools and excellent explanations
http://donovan6000.blogspot.de/2014/02/universal-ifr-extractor.html
- thanks to FireWolf for his EFI Shell function setup_var
http://www.firewolf.science/

To change the DVMT Parameter on Y2P you have to use "setup_var 0x18c 0x03" (for 96MB)
(this may also apply for other Insyde BIOS)
Under Windows it shows 64MB (+32MB) as dedicated video memory

- To patch the maximum pixel clock for QHD+ I patched the IOKit (that sadly cannot be done by Clover)
- Thanks to the_darkvoid again
http://www.tonymacx86.com/yosemite-...ll-xps-9530-using-clover-uefi.html#post905621
https://code.google.com/r/darkvoid-mac-pixel-clock/source/browse

Just execute macPixelClockPatcher.command

- I used FakePCIID for HD4400 to have the best graphics results, thanks to Rehabman and the_darkvoid
https://github.com/RehabMan/OS-X-Fake-PCI-ID

- Finally the hint of RehabMan #1275 to use 0xa2e0008 an patch to 96MB was the final solution
I recommand to use his config_HD4600_4400_4200.plist as a basis
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_HD4600_4400_4200.plist

!!These are just exerpts of the main important setting you have to add in your config.plist!!
<key>Graphics</key>
<dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<true/>
<key>NVidia</key>
<false/>
</dict>
<key>InjectEDID</key>
<false/>
<key>ig-platform-id</key>
<string>0xa2e0008</string>
</dict>

<key>KernelAndKextPatches</key>
<dict>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>HD4400 Azul Framebuffer Size 96MB</string>
<key>Find</key>
<string>
08002e0a01030303000000040000200200005001
</string>
<key>Name</key>
<string>AppleIntelFramebufferAzul</string>
<key>Replace</key>
<string>
08002e0a01030303000000060000200200005001
</string>
</dict>
</array>
</dict>

I hope this brief compilation is of any help to other Yoga 2 Pro Owners.
 
Awesome work!
Do you mind uploading your config.plist? I think I can learn a lot from it.

You should be able to use the config.plist from my guide: http://www.tonymacx86.com/yosemite-...oting-os-x-installer-laptops-clover-uefi.html

Set config.plist/Graphics/Inject/Intel=false for installation, then enable the necessary patches (they are already in my config.plist files), set ig-platform-id=0xa2e0008, set DVMT-prealloc in BIOS, patch IOKit, and try to boot with Inject/Intel=true.
 
The patch in grub does not work for me. I got the following message:

Looking for Setup variables
var Name: Setup, var size: 12, var guid: a04e27f4-df00-4d42 - b5-52-39-51-13-02-11-3d
->GUID matches expected GUID
expected a different size oft the Setup variables (got 1200 (0x4b0) bytes) Continue with care....
succesfully obtained "Setup" variable from VSS (got 1200 (0x4b0) bytes.
offset 0x18c: is 0x01
setting offset 0x18c to 0x03
error: can't set variable using EFI (error: 0x000000000000001a).

Yoga 2 Pro - i7 - HD4400

Thanks in advance!
 
The patch in grub does not work for me. I got the following message:

Looking for Setup variables
var Name: Setup, var size: 12, var guid: a04e27f4-df00-4d42 - b5-52-39-51-13-02-11-3d
->GUID matches expected GUID
expected a different size oft the Setup variables (got 1200 (0x4b0) bytes) Continue with care....
succesfully obtained "Setup" variable from VSS (got 1200 (0x4b0) bytes.
offset 0x18c: is 0x01
setting offset 0x18c to 0x03
error: can't set variable using EFI (error: 0x000000000000001a).

Yoga 2 Pro - i7 - HD4400

Thanks in advance!

Did you extract your BIOS and check that your BIOS uses the same offset?
 
Did you extract your BIOS and check that your BIOS uses the same offset?

I created a BIOS-Dump Universal BIOS Backup ToolKit 2.0, but there is no Setup module, just SetupUtility.

Edit: I found it in SetupUtility:

0x9AFBF Setting: IGD - DVMT Pre-Allocated, Variable: 0x18C {05 A6 F7 01 F8 01 00 0A 34 12 8C 01 04 10 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x9AFE5 Option: 0 MB, Value: 0x0 {09 0E 30 01 00 00 00 00 00 00 00 00 00 00}
0x9AFF3 Option: 32 MB, Value: 0x1 (default) {09 0E 33 01 10 00 01 00 00 00 00 00 00 00}
0x9B001 Option: 64 MB, Value: 0x2 {09 0E 34 01 00 00 02 00 00 00 00 00 00 00}
0x9B00F Option: 96 MB, Value: 0x3 {09 0E 37 01 00 00 03 00 00 00 00 00 00 00}

Looks like 0x18C 0x3 is correct.
 

Attachments

  • LENOVO-76CN43WW.zip
    1.9 MB · Views: 280
I created a BIOS-Dump Universal BIOS Backup ToolKit 2.0, but there is no Setup module, just SetupUtility.

Edit: I found it in SetupUtility:

0x9AFBF Setting: IGD - DVMT Pre-Allocated, Variable: 0x18C {05 A6 F7 01 F8 01 00 0A 34 12 8C 01 04 10 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x9AFE5 Option: 0 MB, Value: 0x0 {09 0E 30 01 00 00 00 00 00 00 00 00 00 00}
0x9AFF3 Option: 32 MB, Value: 0x1 (default) {09 0E 33 01 10 00 01 00 00 00 00 00 00 00}
0x9B001 Option: 64 MB, Value: 0x2 {09 0E 34 01 00 00 02 00 00 00 00 00 00 00}
0x9B00F Option: 96 MB, Value: 0x3 {09 0E 37 01 00 00 03 00 00 00 00 00 00 00}

Looks like 0x18C 0x3 is correct.

Yup.

Make sure you're using the same UEFI shell.
 

Attachments

  • IMG_20150605_161646~2.jpg
    IMG_20150605_161646~2.jpg
    541.2 KB · Views: 813
  • 1433513935393.jpg
    1433513935393.jpg
    665 KB · Views: 1,249
  • 1433514007565.jpg
    1433514007565.jpg
    924.3 KB · Views: 964
  • 1433514021509.jpg
    1433514021509.jpg
    978.1 KB · Views: 929
  • 1433514039878.jpg
    1433514039878.jpg
    996 KB · Views: 839
Status
Not open for further replies.
Back
Top