Contribute
Register

Mavericks on Lenovo Thinkpad Yoga

Status
Not open for further replies.
Joined
Jul 6, 2011
Messages
5
Motherboard
Lenovo Thinkpad Yoga 20CD0038KR
CPU
i7-4500U/Haswell-ULT
Graphics
Intel HD 4400, 1920x1080
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Continuing from this thread, I made some progress to make it barely usable. I write this post to share my experience and get some help. This post will not be a guide.

The model number of my TPY is 20CD0038KR and the model-specific specs are:

Not working at all
  • Wi-Fi. I'm using RT2870 usb wi-fi now.
  • Touchscreen. USB, Vendor id: 0x04f3 (Elan Microelectornics), device id: 0x0254. The cursor only gets to the top-left corner.
  • UPDD driver may work with combination of Wacom digitizer, but I haven't tried it.
  • Sensors: brightness, orientation
  • PCI-e Card reader

Working with some problems
  • Sleep. It goes into sleep but can't be waken. It doesn't respond to the power button. Additionally there are four cycles of four short beeps after a few seconds entering sleep. According to Lenovo, it is due to the security chip so I dropped TPM table from SSDT but that doesn't eliminate the beeps. The power button works in a normal state but it just turns off & on the display and doesn't put the device into sleep. Same things happens for the lid.
  • Keyboard. I can't adjust screen brightness with the keyboard. The command key and alt key are swapped. I don't know how to remap. Where can I find the key codes?
  • Trackpoint & Clickpad. I explain some use cases for them in Windows and then problems in OS X.
    • Basically there are two modes of using them, depending on how to move the mouse pointer. In Trackpoint mode, I use the Trackpoint to move the pointer and I have to press the Clickpad to issue clicks. I mainly use the upper area to press. In the upper area, the middle part is mapped to scroll and the right part to right click. The rest of the Clickpad is mapped to left click. Just tapping the Clickpad is not mapped to clicks. I drag(slide) Clickpad to switch to Clickpad mode. In this mode, I move the pointer with Clickpad. Taps are now considered as clicks. Single finger tap is mapped to left click and double finger tap is mapped to right click. I can also press the clickpad to perform clicks. The right bottom area is mapped to right click, and the rest to left click. But I don't press it as that may move the pointer due to slight movement of the fingertip. I don't care this problem in Trackpoint mode because the upper area doesn't respond to slides. Lastly, two finger slide is mapped to scroll.
    • Now problems in OS X. I can't adjust the pointer speed separately for Trackpoint and Clickpad. Trackpoint is kinda fast and Clickpad is kinda slow.
    • No Trackpoint & Clickpad mode. I should press the pad with extra care not to move the pointer when using Trackpoint. For a workaround, I use the very upper area to rest my fingertip which is not touch-enabled. For right clicks, this workaround does not apply: the upper right area is not mapped to right click. I should put the 'extra care' to press the right bottom area for right clicks. Also I can't scroll with the middle upper area. (FYI, middle click is not supported OOB in Windows. TPMiddle simulates the middle click by recognizing a short press on the middle upper area.)
    • For a single click, sometimes both of tapping and pressing are recognized, resulting in a double click.
  • CPU. I couldn't see P-states 28,29,30. The clock caps at 2.7GHz. I can see the other clock values in Intel Power Gadget.
  • Audio. I don't attempt to get the HDMI audio since I don't use it. I just borrowed the patched kext by Mirone. I applied cloverALC method by toleda with the binary patch, resource files (Platforms, layout), HDA configuration data obtained from the patched kext to keep the original AppleHDA (with additional zml files).
  • Battery. It doesn't work with battery device information (Technically, _BIF method in DSDT fails). So I removed it from DSDT to get it working. I used RehabMan's ACPIBatteryManager kext and wrote a DSDT patch following this guide.
  • Brightness. Intensity reset on every boot. Smooth transition & no flickers. I didn't apply RehabMan's AppleBacklight.kext patch.
  • Wacom digitizer, ISD-V4. USB. Vendor-id: 0x056a (WACOM), device id: 0x00ec. Incorrect calibration, no way to fix.
  • Windows button. It seems to be working, but I couldn't figure out what it is mapped to.

Working
  • Graphics. I can see minium~maximum clock values in Intel Power Gadget. Also 1080p playback seems fine.
  • Display. EDID injection is required. I also set the resolution as 1536 x 864 HiDPI for better text size. I used SwitchResX but I think EDID override (in /System/Library/Displays/Overrides) + Retina DisplayMenu can get the same result.
  • Camera. Tested with FaceTime and seems to be working.

Installation
  • You don't need a custom DSDT to install Mavericks.
  • I used Clover bootloader. Don't forget to include EmuVariableUefi-64.efi to avoid horrible lag.
  • Consult to KernelAndKextPatches, Graphics, DSDT section (Mask: 0x8110A097) in my config.plist for booting into the install program.
  • The install program will fail at the very last step. I guess it fails to create a boot entry. Ignore that error and just reboot with the Clover bootloader.

Post-Installation
  • I used Pike's ssdtPRgen.sh to generate P & C states and dropped SSDT/Cpu0Ist, SSDT/CpuPm table. Set SSDT/Generate/CStates and PStates to false. I specified C states in CPU and SSDT section in config.plist
  • I used HWMonitor binaries for FakeSMC and sensors, excluding LPCSensors.kext
  • Keyboard & mouse: Rehabman's VoodooPS2Controller.kext
  • Battery: Rehabman's ACPIBatteryManager.kext with the attached DSDT fix for MaciASL
  • Custom DSDT: Rehabman's Laptop DSDT patches. I started with the patched DSDT dumped with Clover (DSDT-8110A097.aml) applied [2.12] Rename GFX0 to IGPU (to both DSDT, SSDT), [2.11] Brightness fix (Haswell), Battery fix, Some syntax fixes (which I don't provide as a separate patch).
  • Audio: There are three things you should do:
    • In config.plist: Audio ID injection and Kext patch. See my config.plist
    • In AppleHDA.kext: Extract the attached AppleHDAResource.zip and install Platforms.zml.zlib and Layout12.zml.zlib in /S/L/E/AppleHDA.kext/Contents/Resources. You refer to the cloverALC script, or just copy the files and fix their permissions.
    • In kexts: Install the attached AppleHDAConfig.kext. I just modified realtekALC.kext by toleda with the configuration data obtained from the patched kext by Mirone.
    Remove kernelcache and reboot.

That's it for my current progress. You can see the required files for installation and diagnostic data (Original DSDT, patched DSDT, Clover boot log, dmesg, ioreg, ...) in the attached zip. The directory tree is suited to EFI/CLOVER.
Thank you!
 

Attachments

  • 20CD0038KR.zip
    924.2 KB · Views: 311
Interesting. For the security module, I suspect that you need disable it from BIOS, you may even need a modded BIOS in order to disable it.

Lenovo has white-list for its wireless/WWN module, so you also need a BIOS mod to remove the white list restriction to switch to a different wireless module.

Bios mod might be a place to start requesting a mod service.

Some thoughts.
 

Not sure if you're familiar with the Yoga design, but last I checked (and tried personally) the additional mSATA slot only works with SSDs.

The existing WiFi and Bluetooth uses a proprietary internal USB connection and AFAIK cannot be replaced. Perhaps another Lenovo laptop with more compatible chipsets that uses the same connection type would work, but I haven't cared to investigate it as a tiny USB dongle works okay enough so far.

Correction: My above statements apply to the Yoga Pro (1st gen). You are correct on the 2nd gen and it's possible to upgrade it. I would also assume you're correct on the whitelist as Lenovo is known for that.

For touchscreen, there is paid driver can be traced from this post.

Would Lenovo IdeaPad Yoga 13 run ML OSX8.x?

The Touch Base drivers work beautifully. Quite expensive but zero issues.

EDIT - My recent install procedure
I just now got around to installing Mavericks after a stent of just using Win 8. I had/have regrets...
I'm running DSDT free and zero modifications except
1. PM thread
2. Updated VoodooPS2Controller files.
3. Using the Panda WiFi adapter with drivers from http://www.tonymacx86.com/network/114206-ralink-rt2870-wifi-chipset-10-9-mavericks-solved.html

I'm here looking for audio fixes. Not sure this thread is it.
 
Continuing from this thread, I made some progress to make it barely usable. I write this post to share my experience and get some help. This post will not be a guide.

That's it for my current progress. You can see the required files for installation and diagnostic data (Original DSDT, patched DSDT, Clover boot log, dmesg, ioreg, ...) in the attached zip. The directory tree is suited to EFI/CLOVER.
Thank you!

Too bad it's not going to be a guide. I understand the huge effort involved. Thanks for writing this down! I have a different BIOS version (GQ series BIOS, version 1.23 2/5/2015) and 10.10.2, so there are similarities and differences. I'll get to writing those down sometime soon.

Did you ever test the miniHDMI out? Even though I have no graphics glitches and QE/CI, I have kernel crashes when I plug in a monitor before or after boot. I'm hoping it's as simple as using the right ig-platform-id in clover. I'm using 0x0a260006 because I used many of the patches in Rehabman's U430 config.plist.

~Akebono
 
...
Did you ever test the miniHDMI out? Even though I have no graphics glitches and QE/CI, I have kernel crashes when I plug in a monitor before or after boot. I'm hoping it's as simple as using the right ig-platform-id in clover. I'm using 0x0a260006 because I used many of the patches in Rehabman's U430 config.plist.

~Akebono

Did you implement HDMI audio? Sometimes it is needed to avoid hotplug crashes...
 
Success! I found a mini-hdmi to hdmi adapter and appropriate monitor. The vga adapter was the problem. Known issue when hdmi to vga adapters used with mac-minis apparently.

It probably depends on how well the HDMI/VGA adapter simulates HDMI...
 
Status
Not open for further replies.
Back
Top