Bootloader configuration for macOS on T460s and possibly other 6th gen ThinkPads
DISCLAIMER:
Read the entire README before you start.
The developers are 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.
Meet the bootloader:
Recommended tools:
Resources
Model | ThinkPad T460s 20F90002** |
---|---|
Processor | Core i5-6200U (2C, 2.4 / 3.0GHz, 3MB) |
Graphics | Integrated Intel HD Graphics 520 |
Memory | 4GB Soldered + 8GB DIMM 2133MHz DDR4, dual-channel |
Display | 14" Full HD (1920x1080) IPS, Touch (read Post-install>Enable Touchscreen) |
Storage | Western Digital Black SN550 500GB NVMe SSD |
Ethernet | Intel Ethernet Connection I219-LM (Jacksonville) |
WLAN + Bluetooth | 11ac+BT, Intel® Dual Band Wireless-AC 8260, 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 |
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.
This bootloader configuration may be compatible with other 6th generation ThinkPads with some caveats (i.e. not working USB ports, display ports, etc.). You may find more luck searching for your specific device on GitHub. Here are some notable repositories for similar devices:
Author | Model | Bootloader |
---|---|---|
MSzturc | T460 | Opencore |
duszmox | X1 Carbon Gen 4 | Opencore |
Tluck | T560/T460 | Clover |
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 |
git clone https://github.com/corpnewt/GenSMBIOS && cd GenSMBIOS && chmod +x GenSMBIOS.command && ./GenSMBIOS.command
3
to Generate SMBIOS, then press ENTERMacbookPro16,3 5
, then press ENTER. Leave this Terminal window open./EFI/OC/Config.plist
with any editor and navigate to PlatformInfo -> Generic
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>MacBookPro16,3</string>
<key>SystemSerialNumber</key>
+ <string>W00000000001</string>
<key>SystemUUID</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
</dict>
</array>
</dict>
PlatfromInfo
BootProtect: None
whenever booting with external drives)/EFI/OC/Config.plist
with any editorNote: Tested on macOS BigSur, working with gestures.
The EFI contains macOS Monterey and Ventura compatible drivers. The default driver enabled in config.plist
is macOS Monterey compatible. Should you need the Ventura driver, please disable Airportitlwm.kext
and enable Airportitlwm-13.kext
. If you're running a different version of macOS please download and enable a compatible version of AirportItlwm.kext.
If you have bluetooth problem please reference to the IntelBluetoothFirmware
Optional: Remove unnecessary firmware files from OpenIntelWireless drivers.
AirportBrcmFixup.kext
, BrcmBluetoothInjector.kext
, BrcmFirmwareData.kext
and BrcmPatchRAM3.kext
to /EFI/OC/Kexts
/EFI/OC/Config.plist
with any editorIf you have bluetooth problem please reference to the AirportBrcmFixup
/EFI/OC/Config.plist
with any editorRun the following script in Terminal
git clone https://github.com/corpnewt/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
Please follow this USB mapping guide.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"
Or try an alternative method
launch on login
optionSuper useful shortcut that I wish I had it on my previous MBP. Default is ⌘⇧5
.
Keyboard > Shortcuts > Screenshots
Screenshot and recording options
fieldPrtSc
on your keyboard (it should came out as F13
)NotebookCheck's calibrated profiles. Not all panel are the same, final result may vary.
cd ~/Library/ColorSync/Profiles; wget https://github.com/simprecicchiani/ThinkPad-T460s-macOS-OpenCore/raw/master/Files/DisplayColorProfiles/T460s_WQHD_VVX14T058J02.icm
cd ~/Library/ColorSync/Profiles; wget https://github.com/simprecicchiani/ThinkPad-T460s-macOS-OpenCore/raw/master/Files/DisplayColorProfiles/T460s_FHD_N140HCE_EAA.icm
SystemPreferences > Displays > Colour
If you have an Apple Watch and you already replaced the built-in WiFi card, you could enable authenticating as sudo with you Apple Watch using pam-watch.
Download the latest ZIP file
Unzip, which by default creates a folder called pam-watchid-main
.
Open Terminal and install it:
cd ~/Downloads/pam-watchid-main
sudo make install
Register the new PAM module for sudo:
/etc/pam.d/sudo
auth sufficient pam_watchid.so
That’s it. Now, whenever you use sudo, you have the option of using your Watch to authenticate.
launch on login
(optional)This enables auto-hide and speeds up the animation
defaults write com.apple.dock autohide-delay -float 0; defaults write com.apple.dock autohide-time-modifier -float 0.5; killall Dock
Menu | Setting | What does it do? | ||
---|---|---|---|---|
Misc | Boot | ShowPicker | False |
Skip bootloader page |
UEFI | Audio | PlayChime | Disabled |
Always silent boot |
Open terminal
Enter commands below one by one
Settings for AC:
sudo pmset -c standby 1
sudo pmset -c hibernatemode 0
Setting for battery:
sudo pmset -b standby 1
sudo pmset -b standbydelayhigh 900
sudo pmset -b standbydelaylow 60
sudo pmset -b hibernatemode 25
sudo pmset -b highstandbythreshold 70
Settings for all:
sudo pmset -a acwake 0
sudo pmset -a lidwake 1
sudo pmset -a powernap 0
To restore default system settings run
sudo pmset restoredefaults
acwake
: wake the machine when power source (AC/battery) is changed (value = 0/1)
lidwake
: wake the machine when the laptop lid (or clamshell) is opened (value = 0/1)
powernap
: enable/disable Power Nap on supported machines (value = 0/1)
standbydelayhigh
and standbydelaylow
specify the delay, in seconds,
before writing the hibernation image to disk and powering off memory for Standby.
standbydelayhigh is used when the remaining battery capacity is above highstandbythreshold
(has a default value of 50 percent),
and standbydelaylow is used when the remaining battery capacity is below highstandbythreshold.
hibernatemode
supports values of 0, 3, or 25. To disable hibernation, set hibernatemode to 0.
hibernatemode
= 0 by default on desktops. The system will not back memory up to persistent storage. The system must wake from the contents of memory; the system will lose context on power loss.
hibernatemode
= 3 by default on portables. The system will store a copy of memory to persistent storage (the disk), and will power memory during sleep. The system will wake from memory, unless a power loss forces it to restore from hibernate image.
hibernatemode
= 25 is only settable via pmset. The system will store a copy of memory to persistent storage (the disk), and will remove power to memory. The system will restore from disk image. If you want "hibernation" - slower sleeps, slower wakes, and better battery life, you should use this setting.
A brief guide referencing other guides.
~1W on IDLE
incuding graphics acceleration
working fine on FaceTime, Skype, Zoom and others
25 or 3
/ Wake / Shutdown / Rebootsome functionalities may be buggy or broken on Intel WLAN cards
Please generate your own SMBIOS
all macOS gestures working thanks to VoodooRMI
with digital audio passthrough
slow r/w speed but works
Use Chromium engine to watch Apple TV+, Amazon Prime Video, Netflix and others
EFI Release | 0.8.5 |
---|---|
MacOS | 13.0 |
OpenCore | 0.8.5 |
Lilu | 1.6.2 |
VirtualSMC | 1.3.0 |
YogaSMC | 1.5.3 |
WhateverGreen | 1.6.1 |
AppleALC | 1.7.5 |
VoodooPS2Controller | 2.3.1 |
VoodooRMI | 1.3.4 |
VoodooI2C/VoodooI2CHID | 2.6.5 |
IntelMausi | 1.0.7 |
HibernationFixup | 1.4.6 |
CPUFriend | 1.2.6 |
NVMeFix | 1.1.0 |
RTCMemoryFixup | 1.0.7 |
AirportItlwm | 2.2.0 |
IntelBluetoothFirmware | 2.2.0 |
BlueToolFixup | 2.6.4 |
AppleBacklightSmoother | 1.0.2 |
BrightnessKeys | 1.0.2 |
RealtekCardReader | 0.9.7 |
RealtekCardReaderFriend | 1.0.4 |
Idle State | Max Frequency | 2 Thread Frequency | All Thread Frequency | GPU Max Frequency |
---|---|---|---|---|
CPU | Single-Core | Multi-Core |
---|---|---|
Geekbench 5 | 730 | 1611 |
GPU | OpenCL | Metal |
Geekbench 5 | 4097 | 4179 |
macOS 12.3.1, EFI release 0.8.0, CPU:6200u