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 mounting script MountEFI
Resources
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 | WD Black SN750 500GB NVMe SSD |
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 displays should change NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> UIScale
:2
to get proper scaling while booting.
3. Follow NVMe fix guide below for NVMe drives.
How to install macOS
- Create an installation media
- Download the latest EFI folder and copy it into the ESP partiton
- Change your BIOS settings according to the table below
- Boot from the USB installer (press
F12
to choose boot volume) and start the installation process
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 |
Enable Apple Services
- Run the following script in Terminal
git clone https://github.com/corpnewt/GenSMBIOS && cd GenSMBIOS && chmod +x GenSMBIOS.command && ./GenSMBIOS.command
- Type
3
to Generate SMBIOS, then press ENTER - Type
MacbookPro13,1 5
, then press ENTER. Leave this Terminal window open. - Open
/EFI/OC/Config.plist
with any editor and navigate toPlatformInfo -> Generic
- Add the script's last result to
MLB, SystemSerialNumber and SystemUUID
<key>PlatformInfo</key>
<dict>
<key>Generic</key>
<array>
</dict>
<key>AdviseWindows</key>
<false/>
<key>SystemMemoryStatus</key>
<string>Auto</string>
<key>MLB</key>
+ <string>M0000000000000001</string>
<key>ProcessorType</key>
<integer>0</integer>
<key>ROM</key>
<data>ESIzRFVm</data>
<key>SpoofVendor</key>
<true/>
<key>SystemProductName</key>
<string>MacBookPro13,1</string>
<key>SystemSerialNumber</key>
+ <string>W00000000001</string>
<key>SystemUUID</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
</dict>
</array>
</dict>
- Save and reboot the system
How to update the bootloader
- Download the latest release
- Copy and Paste your
PlatfromInfo
- Enable optional kexts if needed (NVMEFix, AirportItlwm, etc.)
- Test the new bootloader with an USB stick (Set
BootProtect: None
whenever booting with external drives) - Customize boot preferences (skip picker, disable verbose, etc.)
- Mount your ESP partition
- Backup your old EFI folder and replace it with the new one
Enable Intel WLAN cards
Two different drivers are under development for Intel WiFi support: `AirportItlwm.kext` and `AirPortOpenBSD.kext`. Do NOT use them both at the same time.
- Open
/EFI/OC/Config.plist
with any editor - Add the content of #intel-wlan.plist
- Save and reboot the system
Note: The drivers provided in this repo are for Big Sur only; if you're running a different version of macOS please use the corresponding AirportItlwm.kext or AirPortOpenBSD.kext.
Optional: Remove unnecessary firmware files from OpenIntelWireless drivers.
Enable non-natively supported Broadcom WLAN cards
- Download AirportBrcmFixup and BrcmPatchRAM.
- Copy AirportBrcmFixup.kext, BrcmBluetoothInjector.kext, BrcmFirmwareData.kext and BrcmPatchRAM3.kext to
/EFI/OC/Kexts
- Open
/EFI/OC/Config.plist
with any editor - Add the content of #broadcom-wlan.plist
- Save and reboot the system
Fix NVMe power management
- Open
/EFI/OC/Config.plist
with any editor - Add the content of #nvme-fix.plist
- Save and reboot the system
Custom CPU Power Management
- Run the following script in Terminal
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 (rename it if you'd like) - Open
/EFI/OC/Config.plist
with any editor - Add the content of #cpu-pm.plist (make sure SSDT-PLUG.aml is disabled and match your new SSDT filename)
- Save and reboot the system
ThinkPad Dock USB ports mapping
I've never had one so there's a chance something might not be working. USB mapping guide.
Enable HiDPI
- Disable SIP
- Run the following script in Terminal
bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"
- Follow the instructions, then reboot
- Re-enable SIP (if desired)
Enable multimedia keys, fan & LEDs control
- Download and install YogaSMC-App-Release.dmg (both the pref-panel and app itself)
- Open the app
- Check the
launch on login
option
Use PrtSc key as Screenshot shortcut
Super useful shortcut that I wish I had it on my previous MBP. Default is ββ§5
.
- Open SystemPreferences.app
- Go under
Keyboard > Shortcuts > Screenshots
- Click on
Screenshot and recording options
field - Press
PrtSc
on your keyboard (it should came out asF13
)
Use calibrated display profile
NotebookCheck's calibrated profiles. Not all panel are the same, final result may vary.
- Run one of the following script in Terminal
- for 1440p displays
cd ~/Library/ColorSync/Profiles; wget https://github.com/simprecicchiani/ThinkPad-T460s-macOS-OpenCore/raw/master/Files/DisplayColorProfiles/T460s_WQHD_VVX14T058J02.icm
- for 1080p displays
cd ~/Library/ColorSync/Profiles; wget https://github.com/simprecicchiani/ThinkPad-T460s-macOS-OpenCore/raw/master/Files/DisplayColorProfiles/T460s_FHD_N140HCE_EAA.icm
- for 1440p displays
- Go under
SystemPreferences > Displays > Colour
- Select the profile
Monitor temperatures and power consumption
- Download and install HWMonitor
- Check
launch on login
(optional)
Faster macOS dock animation
This enables auto-hide and speeds up the animation
- Run the following script in Terminal
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
Menu | Setting | What does it do? | ||
---|---|---|---|---|
Misc | Boot | ShowPicker | False |
Skip bootloader page |
UEFI | Audio | PlayChime | False |
Always silent boot |
BIOS Mod
I know it can be scary at first but with the right amount of carefulness anyone can do it.
Is it worth the effort and risk? I don't think so. I enjoyed it? 100%.
A brief guide referencing other guides.
What's working β
- CPU Power Management
~1W on IDLE
- Intel HD 520 Graphics
incuding graphics acceleration
- USB ports
- Internal camera
working fine on FaceTime, Skype, Zoom and others
- Sleep / Wake / Shutdown / Reboot
- Intel Gigabit Ethernet
- Wifi, Bluetooth, Airdrop, Handoff, Continuity, Sidecar wireless
some functionalities may be buggy or broken on Intel WLAN cards
- iMessage, FaceTime, App Store, iTunes Store
Please generate your own SMBIOS
- Speakers and headphones combo jack
- Batteries
- Keyboard map and hotkeys with YogaSMC
- Trackpad, Trackpoint and physical buttons
all macOS gestures working thanks to VoodooRMI
- SIP and FileVault 2 can be turned on
- HDMI
with digital audio passthrough
- SD Card Reader
slow r/w speed but works
What's not working β οΈ
- Some kexts crash in standby mode, please disable it with
sudo pmset -a standby 0
- Mini DisplayPort seems to be broken with latest updates
- Safari DRM
Use Chromium engine to watch Apple TV+, Amazon Prime Video, Netflix and others
- WWAN (needs to be implemented)
- Fingerprint Reader
Update tracker π
EFI Release | 0.6.5 |
---|---|
MacOS | 11.1 |
OpenCore | 0.6.5 |
Lilu | 1.5.1 |
VirtualSMC | 1.2.0 |
YogaSMC | 1.4.1 |
WhateverGreen | 1.4.7 |
AppleALC | 1.5.7 |
VoodooPS2Controller | 2.2.1 |
VoodooRMI | 1.3.1 |
IntelMausi | 1.0.5 |
HibernationFixup | 1.3.9 |
CPUFriend | 1.2.3 |
NVMeFix | 1.0.4 |
RTCMemoryFixup | 1.0.7 |
AirPortOpenBSD | 2.0.6 |
AirportItlwm | 1.2.0 |
IntelBluetoothFirmware | 1.1.2 |
AppleBacklightSmoother | 1.0.2 |
BrightnessKeys | 1.0.1 |
Sinetek-rtsx | 2.2 |
Power consumption & thermals π₯
Idle State | Max Frequency | 2 Thread Frequency | All Thread Frequency | GPU Max Frequency |
---|---|---|---|---|
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
CPU | Single-Core | Multi-Core |
---|---|---|
Cinebench r23 | 2175 |
macOS 11.1, EFI release 0.6.5
The hackintosh community on GitHub, InsanelyMac, and r/hackintosh.