Home

Awesome

Thinkpad x230 OS X - running natively with full functionality.

PLEASE NOTE THIS GUIDE MAY OR MAY NOT BE DEPRECIATED.
This repository will no longer be maintained.  

Last updated: April 25 2016

Note: This is NOT a spoonfeeding guide, other resources may be required to pull you up to speed. This page is meant to reduce the amount of googling and testing what works and what doesn't.

Specs

alt text

Working

Not working

Bugs


Summary of problems and fixes

FeatureProblemFix (tldr DSDT patches are your friend)
SleepInstant wake, device doesn't stay asleepApply DSDT USB3 instant wake 0x0, RTC patches
AudioNo devices in sound preferencesInject patched AppleHDA, codec is ALC297VC_v3 (layout-id in DSDT is hex, LayoutID in AppleHDA is dec)
Battery and PMNo battery status, no native PMApply DSDT patch with Thinkpad x230i + Fix Mutex with non-zero synclevel
GPUGraphics not working nativelyApply DSDT patches for iGPU, brightness HD4000 + Low resolution
USBPorts not working/keeps device awakeApply DSDT patches Ivy Bridge = Intel 7 series USB
Sleep/power LEDLED remains in blinking state after wake# add these lines into method _WAK after NVSS:<BR/>_SB.PCI0.LPC.EC.LED (Zero, 0x80)<BR/>_SB.PCI0.LPC.EC.LED (0x0A, 0x80)<BR/>_SB.PCI0.LPC.EC.LED (0x07, Zero)
Brightness ControlBrightness control keys don't respond# _Q15 (Fn+F8) brightness down key<BR/>into method label _Q15 replace_content<BR/>begin<BR/> Notify(_SB.PCI0.LPC.KBD, 0x0205)\n<BR/> Notify(_SB.PCI0.LPC.KBD, 0x0285)\n<BR/>end;<BR/><BR/># _Q14 (Fn+F9) brightness up key<BR/>into method label _Q14 replace_content<BR/>begin<BR/> Notify(_SB.PCI0.LPC.KBD, 0x0206)\n<BR/> Notify(_SB.PCI0.LPC.KBD, 0x0286)\n<BR/>end;

AppleHDA injection methods (choose one from the list)

  1. DSDT patch HDEF + IRQ (layout-id is in hex) - preferred
  2. Clover config.plist
  3. HDAEnabler.kext

AppleHDA patching methods (choose one from the list)

  1. Modify AppleHDA.kext by itself, rewrite AppleHDA.kext in /S/L/E, injecting with any method
  2. Live patch AppleHDA.kext + injecting DummyHDA.kext with any method

Sound after sleep issues


Commands to check AppleHDA, if anything returns empty = game over, restore default AppleHDA in /S/L/E and restart process


BIOS settings

ItemSetting
Config/Network/Wake On LanDisabled
USB UEFI BIOS SupportEnabled
Always On USBDisabled
USB 3.0 ModeEnabled
Power Intel Rapid Start TechnologyDisabled
Serial SATA Controller Mode OptionAHCI
Security Predesktop AuthenticationDisabled
Security ChipDisabled
Memory Protection Execution PreventionEnabled
VirtualizationDisabled
Fingerprint ReaderDisabled
Anti TheftDisabled
ComputraceDisabled
Secure BootDisabled
Startup Network BootPCI Lan
UEFI/Legacy BootUEFI Only
CSM SupportDisabled
Boot ModeQuick

Install

  1. Follow tonymacx86 Unibeast steps to make your USB (I don't personally use MultiBeast). http://www.tonymacx86.com/el-capitan-desktop-guides/172672-unibeast-install-os-x-el-capitan-any-supported-intel-based-pc.html
  2. Mount EFI partition of USB with EFI Mounter v3 (from tonymacx86).
  3. Copy Kexts to Kexts folder on the EFI partition.
  4. Change BIOS settings (settings key is F1).
  5. Boot USB (boot menu key is F12).

Post-install

  1. Install Clover v2.3K R3320 UEFI .pkg - different version is OK, but must be UEFI.
  2. Config.plist can be shared if you wish, personal preferences, except injections.
  3. Patch your own DSDT's using guide on tonymacx86 from RehabMan, every system needs custom DSDT, no exceptions. http://www.tonymacx86.com/el-capitan-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html (trust me, it's worth the read)
  4. Patch your own SSDT's, you could use the same if CPU models are identical. http://www.tonymacx86.com/el-capitan-laptop-support/175801-guide-native-power-management-laptops.html
  5. Put SSDT.aml and DSDT.aml inside ACPI folder, patched, in EFI partition of OS drive.
  6. TRIM Enabler (if using SSD, every system in 2016 should have one imo)
  7. Disable boot graphics glitches (http://www.tonymacx86.com/el-capitan-laptop-support/175799-fix-resolve-boot-screen-garble.html) and set custom logo to none in config.plist

Patch should be entered into config.plist/KernelAndKextPatches/KextsToPatch.

Comment: Boot graphics glitch

Name: IOGraphicsFamily

Find: <0100007517>

Replace: <010000eb17>


DSDT patches


Other resources

http://www.tonymacx86.com/el-capitan-laptop-support/

Google is your best friend.