DISCLAIMER:
Read the entire README before you start.
I am not responsible for any damages you may cause.
Should you find an error or improve anything — whether in the config or in the documentation — please consider opening an issue or pull request.
If you find my work useful, please consider donating via PayPal.
It would mean a lot to me.
Getting started
Meet the bootloader:
- Why OpenCore
- Dortania's website
Recommended tools:
- Plist editor ProperTree
- Handy-dandy ESP partition mounting script MountEFI
My Hardware
Model | Thinkpad T460s 20F9003AUS |
---|---|
Processor | Core i7-6600U (2C, 2.6 / 3.4GHz, 4MB) vPro |
Graphics | Integrated Intel HD Graphics 520 |
Memory | 4GB Soldered + 4GB DIMM 2133MHz DDR4, dual-channel |
Display | 14" WQHD (2560x1440) IPS, non-touch |
Storage | SanDisk SD8TN8U256G1001 256GB SSD M.2 Opal2 |
Ethernet | Intel Ethernet Connection I219-LM (Jacksonville) |
WLAN + Bluetooth | 11ac+BT, Broadcom BCM94360CS2, 2x2 card |
Camera | HD720p resolution, low light sensitive, fixed focus |
Audio support | HD Audio, Realtek ALC3245 codec, stereo speakers 1Wx2, dual array microphone, combo audio/microphone jack |
Keyboard | 6-row, spill-resistant, multimedia Fn keys, LED backlight |
Battery | Front Li-Polymer 3-cell (23Wh) and rear Li-Ion 3-cell (26Wh), both Integrated |
Hardware compatibility
This EFI will suit any T460s regardless of CPU model1, amount of RAM, display resolution2 and internal storage3.
1. Optional custom CPU Power Management guide
2. 1440p display models should change NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> UIScale
:2
to get proper scaling while booting
3. Enable NVMeFix for NVMe drives
How this repo is updated
After many hours of testing back in April and May 2020, I now consider this configuration stable.
This is the process I go through each time OpenCore gets an update (usually every first monday of the month):
- Read release article on Dortania's website
- Download all updated resources
- Read new Documentation if relevant changes took place
- Get a fresh Sample.plist to avoid missing new stuff
- Copy and Paste SSDT, Patches and Kexts
- Set T460s' config options
- Booloader test on USB stick
- Clean my SMBIOS and upload on GitHub
- Add changelog and update status in README
Basically I do the boring part so one can easily download the EFI folder and play with it in minutes.
BIOS Settings
Menu | Setting | ||
---|---|---|---|
Config | USB | UEFI BIOS Support | Enable |
Power | Intel SpeedStep Technology | Enable |
|
CPU Power Management | Enable |
||
CPU | Hyper-Threading Technology | Enable |
|
Security | Security Chip | Disable |
|
Memory Protection | Execution Prevention | Enable |
|
Virtualization | Intel Virtualization Technology | Enable |
|
Intel VT-d Feature | Enable |
||
Anti-Theft | Computrace | Disable |
|
Secure Boot | Disable |
||
Intel SGX | Disable |
||
Device Guard | Disable |
||
Startup | UEFI/Legacy Boot | UEFI Only |
|
CSM Support | No |
||
Boot Mode | Quick |
How to update the bootloader
- Download the repo and grab the EFI folder.
- Copy and Paste your PlatfromInfo.
- Enable optional kexts if needed (NVMEFix, AirportItlwm, etc.)
- Test the new bootloader with an USB stick
- Customize boot preferences (skip picker, disable verbose, etc.)
- Mount your ESP partition
- Backup your old EFI folder and replace it with the new one
How to upgrade to macOS 11.0 Big Sur
WARNING: Big Sur is in beta. While potentially compatible, the configuration is not developed for it.
Thanks to @duszmox for his guide
Enable Apple Services
- Launch Terminal.app
- Copy the following script, paste it into the Terminal window, then press ENTER
git clone https://github.com/corpnewt/GenSMBIOS && cd GenSMBIOS && ./GenSMBIOS.command
- Type
2
, then press ENTER - Drag your
config.plist
inside the Terminal window - Type
3
, then press ENTER - Type
MacbookPro13,1
, then press ENTER
Enable Intel WLAN (optional)
- Open
Config.plist
with any editor - Go under
Kernel -> Add
- Find and Enable
AirportItlwm.kext
,IntelBluetoothFirmware.kext
andIntelBluetoothInjector.kext
- Save and reboot the system
Fix NVMe power management (optional)
- Open
Config.plist
with any editor - Go under
Kernel -> Add
- Find and Enable
NVMeFix.kext
- Save and reboot the system
Custom CPU Power Management (optional)
- Launch Terminal.app
- Copy the following script, paste it into the Terminal window, then press ENTER
git clone https://github.com/fewtarius/CPUFriendFriend; cd CPUFriendFriend; chmod +x ./CPUFriendFriend.command; ./CPUFriendFriend.command
- When asked, select preferred values
- From the pop-up window, copy
ssdt-data.aml
into/EFI/OC/ACPI/
folder - Open
Config.plist
with any editor - Go under
ACPI -> Add
and changeSSDT-PLUG.aml
withssdt-data.aml
- Go under
Kernel -> Add
and setCPUFriend.kext
toEnabled: True
This my machine's power consumption when idling:
USB ports mapping (optional)
For ThinkPad's dock only, use one of following methods:
Enable HiDPI
- Disable SIP
- Launch Terminal.app
- Copy the following script, paste it into the Terminal window, then press ENTER
bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"
- Follow the script instructions, then reboot
- Enable SIP (if desired)
Enable multimedia keys
Thanks to @MSzturc for providing the keyboard map and ThinkpadAssistant app
- Download and install ThinkpadAssistant
- Open the app
- Check the
launch on login
option
Use PrtSc key as Screenshot shortcut
- Open SystemPreferences.app
- Go under
Keyboard > Shortcuts > Screenshots
- Click on
Screenshot and recording options
key map - Press
PrtSc
on your keyboard (it should came out asF13
)
Use calibrated display profile
These profiles are from NotebookCheck. Not all panel are the same so final result may vary.
- Launch Terminal.app
- Copy the following script, paste it into the Terminal window, then press ENTER
- for 1440p displays
cd ~/Library/ColorSync/Profiles; wget https://github.com/simprecicchiani/ThinkPad-T460s-macOS-OpenCore/blob/master/Files/DisplayProfiles/T460s_WQHD_VVX14T058J02.icm
- for 1080p displays
cd ~/Library/ColorSync/Profiles; wget https://github.com/simprecicchiani/ThinkPad-T460s-macOS-OpenCore/blob/master/Files/DisplayProfiles/T460s_FHD_N140HCE_EAA.icm
- for 1440p displays
- Go under
SystemPreferences > Displays > Colour
- Select the calibrated profile
Monitor temperatures and power consumption
- Download and install HWMonitor
- Open the app
- Check the
launch on login
option
Faster macOS dock animation
This enables auto-hide and speeds up the animation
- Launch Terminal.app
- Copy the following script, paste it into the Terminal window, then press ENTER
defaults write com.apple.dock autohide-delay -float 0; defaults write com.apple.dock autohide-time-modifier -float 0.5; killall Dock
Speed-up boot process
Once you get everything up and running it's possible to disable some options inside config.plist
to get a faster and cleaner boot.
Menu | Setting | ||
---|---|---|---|
Misc | Boot | ShowPicker | False |
Debug | AppleDebug | False |
|
ApplePanic | False |
||
DisableWatchDog | False |
||
Target | 0 |
||
NVRAM | Add | 7C436110-AB2A-4BBB-A880-FE41995C9F82 | Delete -v |
BIOS Mod
I know it can be scary at first. But with the right amount of carefulness anyone could do it.
Is it worth the effort and risk? I don't think so. I enjoyed it? 100%.
Guide in progress
What's working ✅
- CPU Power Management
~1W on IDLE
- Intel HD 520 Graphics
incuding graphics acceleration
- All USB ports
with custom kext or SSDT
- Internal camera
working fine on FaceTime, Skype, Webex and others
- Sleep / Wake / Shutdown / Reboot
with lid sernsor
- Intel Gigabit Ethernet
- Wifi, Bluetooth, Airdrop, Handoff, Continuity, Sidecar wireless
- iMessage, FaceTime, App Store, iTunes Store
Generate your own SMBIOS
- DRM support
iTunes Movies, Apple TV+, Amazon Prime, Netflix and others
- Speakers and headphones jack
fairly good volume
- Batteries
very stable and precise capacity tracking
- Keyboard map and hotkeys with ThinkpadAssistant
thanks to @MSzturc
- Trackpad, Trackpoint and physical buttons
with all macOS gestures working thanks to VoodooRMI
- SIP and FileVault 2 can be enabled
- miniDP and HDMI
with digital audio passthrough
- SD Card Reader
slow r/w speed but works
What's not working ⚠️
- Internal monitor turns black when external is connected
- Safari DRM
- WWAN (needs to be implemented)
- Fingerprint Reader
Update tracker 🔄
Version | Stable |
---|---|
MacOS | 10.15.7 / 11.0 |
OpenCore | 0.6.2 |
Lilu | 1.4.8 |
VirtualSMC | 1.1.7 |
WhateverGreen | 1.4.3 |
AppleALC | 1.5.3 |
VoodooPS2Controller | 2.1.7 |
VoodooRMI | 1.2 |
IntelMausi | 1.0.4 |
HibernationFixup | 1.3.6 |
CPUFriend | 1.2.2 |
NVMeFix | 1.0.4 |
AirportItlwm | 1.0 |
IntelBluetoothFirmware | 1.1.2 |
Sinetek-rtsx | 2.2 |
Benchmarks ⏱
CPU | Single-Core | Multi-Core |
---|---|---|
Cinebench r20 | 348 | 842 |
Geekbench 5 | 809 | 1862 |
GPU | OpenCL | Metal |
Geekbench 5 | 4417 | 4179 |
BruceX Test 5K | 104'' |
macOS 10.15.7, EFI release 0.6.2
The hackintosh community on GitHub, InsanelyMac, and r/hackintosh.