Git Product home page Git Product logo

thinkpad-t460s-macos-opencore's Introduction

ThinkPad T460s running macOS (OpenCore bootloader)

T460s macOS

macOS OpenCore Model BIOS LICENSE

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.

donate

Introduction

Getting started

Meet the bootloader:

Recommended tools:

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):

  1. Read release article on Dortania's website
  2. Download all updated resources
  3. Read new Documentation if relevant changes took place
  4. Get a fresh Sample.plist to avoid missing new stuff
  5. Copy and Paste SSDT, Patches and Kexts
  6. Set T460s' config options
  7. Booloader test on USB stick
  8. Clean my SMBIOS and upload on GitHub
  9. 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.

Installation

How to install macOS

Read the installation guide and come back here to get the latest EFI folder.

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
  1. Download the repo and grab the EFI folder.
  2. Copy and Paste your PlatfromInfo.
  3. Enable optional kexts if needed (NVMEFix, AirportItlwm, etc.)
  4. Test the new bootloader with an USB stick
  5. Customize boot preferences (skip picker, disable verbose, etc.)
  6. Mount your ESP partition
  7. 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

Post-install

Enable Apple Services
  1. Launch Terminal.app
  2. Copy the following script, paste it into the Terminal window, then press ENTER
    git clone https://github.com/corpnewt/GenSMBIOS && cd GenSMBIOS && ./GenSMBIOS.command 
  3. Type 2, then press ENTER
  4. Drag your config.plist inside the Terminal window
  5. Type 3, then press ENTER
  6. Type MacbookPro13,1, then press ENTER
Enable Intel WLAN (optional) T460s macOS
  1. Open Config.plist with any editor
  2. Go under Kernel -> Add
  3. Find and Enable AirportItlwm.kext, IntelBluetoothFirmware.kext and IntelBluetoothInjector.kext
  4. Save and reboot the system
Fix NVMe power management (optional) T460s macOS
  1. Open Config.plist with any editor
  2. Go under Kernel -> Add
  3. Find and Enable NVMeFix.kext
  4. Save and reboot the system
Custom CPU Power Management (optional) T460s macOS T460s macOS
  1. Launch Terminal.app
  2. 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
  3. When asked, select preferred values
  4. From the pop-up window, copy ssdt-data.aml into /EFI/OC/ACPI/ folder
  5. Open Config.plist with any editor
  6. Go under ACPI -> Add and change SSDT-PLUG.aml with ssdt-data.aml
  7. Go under Kernel -> Add and set CPUFriend.kext to Enabled: True

This my machine's power consumption when idling:

T460s macOS
USB ports mapping (optional)

For ThinkPad's dock only, use one of following methods:

Other tweaks

Enable HiDPI
  1. Disable SIP
  2. Launch Terminal.app
  3. 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)"
  4. Follow the script instructions, then reboot
  5. Enable SIP (if desired)
Enable multimedia keys

Thanks to @MSzturc for providing the keyboard map and ThinkpadAssistant app

  1. Download and install ThinkpadAssistant
  2. Open the app
  3. Check the launch on login option
Use PrtSc key as Screenshot shortcut T460s macOS
  1. Open SystemPreferences.app
  2. Go under Keyboard > Shortcuts > Screenshots
  3. Click on Screenshot and recording options key map
  4. Press PrtSc on your keyboard (it should came out as F13)
Use calibrated display profile T460s macOS

These profiles are from NotebookCheck. Not all panel are the same so final result may vary.

  1. Launch Terminal.app
  2. 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
  3. Go under SystemPreferences > Displays > Colour
  4. Select the calibrated profile
Monitor temperatures and power consumption
  1. Download and install HWMonitor
  2. Open the app
  3. Check the launch on login option
Faster macOS dock animation

This enables auto-hide and speeds up the animation

  1. Launch Terminal.app
  2. 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

Status

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

Thanks to

The hackintosh community on GitHub, InsanelyMac, and r/hackintosh.

thinkpad-t460s-macos-opencore's People

Contributors

dhinakg avatar duszmox avatar lafrenierejm avatar simprecicchiani avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.