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.
- Model: x230 2320-32U
- CPU: Intel i5-3210M 2.50GHz
- RAM: 12GB DDR3
- Storage: 128GB SSD
- OS: OS X El Capitan 10.11.4
- Bootloader: Clover v2.3K R3320 UEFI
- EFI BIOS: 2.65
- ECV BIOS: 1.14
- Power Management (C/P-states, fan RPM, speedstep, etc)
- USB ports
- Battery status
- Keyboard, trackpad, trackpoint
- Sleep from menu + lid close sleep
- HD4000 (Brightness control with fn + k, fn + p and QE/CI active, external display with Mini-DP)
- Sound over Mini-DP -> HDMI
- Wireless (Using USB mini WLAN adapter with native drivers from manufacturer)
- Sound/Audio, automatic headphone detection, mute, volume controls fully working
- Built in mini-PCIE WLAN card (could swap card with Atheros 9280 and rebrand as Intel 6300)
- Card reader (never tried)
- Fingerprint reader
- VGA (does not exist on real apple computers)
- Sound works on resume after you sleep from menu. Afterwards, lid close and resume, sound will work
- Boot screen logo glitch, reduce with custom logo = none, config.plist in Clover edit
- -xcpm boot argument will cause kernel panic (KP)
Summary of problems and fixes
|Feature||Problem||Fix (tldr DSDT patches are your friend)|
|Sleep||Instant wake, device doesn't stay asleep||Apply DSDT USB3 instant wake 0x0, RTC patches|
|Audio||No devices in sound preferences||Inject patched AppleHDA, codec is ALC297VC_v3 (layout-id in DSDT is hex, LayoutID in AppleHDA is dec)|
|Battery and PM||No battery status, no native PM||Apply DSDT patch with Thinkpad x230i + Fix Mutex with non-zero synclevel|
|GPU||Graphics not working natively||Apply DSDT patches for iGPU, brightness HD4000 + Low resolution|
|USB||Ports not working/keeps device awake||Apply DSDT patches Ivy Bridge = Intel 7 series USB|
|Sleep/power LED||LED remains in blinking state after wake||# add these lines into method _WAK after NVSS:
_SB.PCI0.LPC.EC.LED (Zero, 0x80)
_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
_SB.PCI0.LPC.EC.LED (0x07, Zero)
|Brightness Control||Brightness control keys don't respond||# _Q15 (Fn+F8) brightness down key
into method label _Q15 replace_content
# _Q14 (Fn+F9) brightness up key
into method label _Q14 replace_content
AppleHDA injection methods (choose one from the list)
- DSDT patch HDEF + IRQ (layout-id is in hex) - preferred
- Clover config.plist
AppleHDA patching methods (choose one from the list)
- Modify AppleHDA.kext by itself, rewrite AppleHDA.kext in /S/L/E, injecting with any method
- Live patch AppleHDA.kext + injecting DummyHDA.kext with any method
Sound after sleep issues
- CodecCommander loaded in /S/L/E w/ Kext Utility or with KextBeast + repair permissions/cache script
Commands to check AppleHDA, if anything returns empty = game over, restore default AppleHDA in /S/L/E and restart process
- Check AppleHDA kext load status: kextstat | grep -y applehda
- sudo touch /System/Library/Extensions && sudo kextcache -u /
- Use DCPIManager to check audio devices and if codec ID, revision, codec name are empty = bad
- Check custom loaded kext status: kextstat | grep -v com.apple
|Config/Network/Wake On Lan||Disabled|
|USB UEFI BIOS Support||Enabled|
|Always On USB||Disabled|
|USB 3.0 Mode||Enabled|
|Power Intel Rapid Start Technology||Disabled|
|Serial SATA Controller Mode Option||AHCI|
|Security Predesktop Authentication||Disabled|
|Memory Protection Execution Prevention||Enabled|
|Startup Network Boot||PCI Lan|
|UEFI/Legacy Boot||UEFI Only|
- 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
- Mount EFI partition of USB with EFI Mounter v3 (from tonymacx86).
- Copy Kexts to Kexts folder on the EFI partition.
- Change BIOS settings (settings key is F1).
- Boot USB (boot menu key is F12).
- Install Clover v2.3K R3320 UEFI .pkg - different version is OK, but must be UEFI.
- Config.plist can be shared if you wish, personal preferences, except injections.
- 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)
- 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
- Put SSDT.aml and DSDT.aml inside ACPI folder, patched, in EFI partition of OS drive.
- TRIM Enabler (if using SSD, every system in 2016 should have one imo)
- 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
- Battery: Thinkpad x230i
- iGPU: Brightness HD4000, Low resolution
- RTC fix
- Fix Mutex with non-zero synclevel
- Ivy Bridge = 7 series USB
- USB3 instant wake 0x0
- If using DSDT inject use HDEF + IRQ provided with patcher
Google is your best friend.