Update: This project will no longer be actively maintained, since I recently got an M1 MacBook. I may still update OpenCore and the kexts every once in a while but no promises about that. Feel free to fork this repo if you want to see this project live on!
This repo contains information for getting macOS 11 Big Sur working on a Lenovo T490 laptop.
The compatibility is very good for the most part, and it behaves as a real MacBook Pro, including camera, audio, trackpad, iCloud services. In general, the experience is pleasant, as the laptop is smooth and responsive under macOS. Battery life is acceptable (around 6h with the brightness set to half). The Intel WiFi card is soldered onto the motherboard, which means it can't be replaced with a Broadcom one, but the Intel card is now functional albeit not operating at full speeds - I am getting 80/15 mbit up/down on a 200/20 connection, which is fine for most use cases. With the latest AirportItlwm kext even Handoff and continuity features are working, except for AirDrop.
Currently running:
Component | Version |
---|---|
macOS version | 11.1 (20C69) |
OpenCore | 0.6.5 |
BIOS version | 1.71 |
EC version | 1.23 |
Component | Model |
---|---|
CPU | Intel i5-8265U/i7-8565U Whiskey Lake |
Memory | 16GB/32GB 2400Mhz |
Storage | WDC PC SN720 512GB |
Display | 14" non-touch 1920x1080 |
GPU | Intel UHD 620 |
Camera | 720p with Windows Hello IR sensor |
WLAN | Intel Wireless-AC 9560 2x2ac with BT5.0 |
Battery | Single 3-cell 50Wh |
Touchpad | Synaptics TM3471-010 |
Note on NVME storage: Samsung PM981 drives will not work out of the box if at all, consider replacing the drive if you have one (issue)
- Keyboard (including all media keys)
- Battery indicator
- Display auto brightness
- Audio
- Ethernet
- iCloud services - iMessage, FaceTime, AppStore
- GPU acceleration
- Camera
- Microphone
- Bluetooth
- Mac-like booting interface for multiboot
- Sleep/wake
- Trackpad and gestures
- Native CPU power management
- HDMI video and audio up to 1440p
- Handoff, continuity
- AirPlay
- FileVault
- DRM content playback (Netflix, Apple TV+)
- Thunderbolt - works with Lenovo Thinkpad Thunderbolt 3 Dock (tested Ethernet, display over DisplayPort and HDMI, USB ports)
- Wifi works but not at full speeds
- Audio jack - glitches after wake from sleep. I don't use it so won't fix but will merge pull requests
- USB-C video output works, but no audio
- HDMI video at 4K
- SD card reader - I don't use it so won't fix but will merge pull requests
- AirDrop
- Sidecar
Kext | Version | Remark |
---|---|---|
AirportItlwm | 1.3.0 alpha | WiFi kext |
AppleALC | 1.5.6 | Fixes onboard audio |
BrightnessKeys | 1.0.1 | Fix brightness keys |
CPUFriend | 1.2.3 | Power management |
CPUFriendDataProvider | - | Frequency vector for CPUFriend |
IntelBluetoothFirmware | 1.1.2 | Fixes bluetooth |
IntelBluetoothInjector | 1.1.2 | Companion for IntelBluetoothFirmware |
IntelMausiEthernet | 2.5.1d1 | Fixes ethernet |
Lilu | 1.5.0 | Kext patcher |
NoTouchID | 1.0.4 | Disable TouchID |
NVMEFix | 1.0.5 | Fix for NVME SSDs |
SMCBatteryManager | 1.1.9 | Battery indicator |
SMCLightSensor | 1.1.9 | Ambient light sensor |
SMCProcessor | 1.1.9 | CPU temp monitoring |
SMCSuperIO | 1.1.9 | Monitor fan speed, not working |
USBInjectAll | 0.7.5 | Inject all USB, only for troubleshooting |
USBMap | - | Inject only mapped USB |
VirtualSMC | 1.1.9 | SMC chip emulation |
VoodooRMI | 1.3.1 | Trackpad driver |
VoodooSMBUS | 3.0 dev | SMBUS driver |
VoodooPS2Controller | 2.2.0 | Enable keyboard |
WhateverGreen | 1.4.6 | Graphics |
YogaSMC | 1.4.1 | ACPI driver |
Patch | Remark |
---|---|
SSDT-ALS0 | Fix display auto brightness |
SSDT-AWAC | Fix AWAC |
SSDT-BAT | Fix battery indicator |
SSDT-EXT1-FixShutdown | Fix shutdown on reboot |
SSDT-EXT3-LedReset-TP | Fix LED not working after wake |
SSDT-EXT4-WakeScreen | Fix screen not waking |
SSDT-GPIO | Trackpad fix |
SSDT-GPRW | Fix immediate wake after sleep |
SSDT-HPET | Fix irq conflicts |
SSDT-PLUG | x86 plugin injection fix |
SSDT-PNLF-CFL | Backlight fix |
SSDT-PTSWAK | Fix sleep issues |
SSDT-USBX | USBX patch |
First, read the Dortania OC guide. The guide will take you through the creation of installation USB and drive formatting. Update your laptop to the latest BIOS firmware from your existing OS (the easiest way is to use fwupd on linux). Once using MacOS, you can do future updates to your bios using a Live USB Linux distro.
- Fix iServices if you want to use iMessage, FaceTime, iCloud. You need a valid, unique Mac serial key (the config.plist in this repository does not have one as all Mac devices - including hackintosh - need a unique serial) to be able to use Apple's cloud services and authentication. If you don't, you won't be able to login with an Apple ID, thus no App Store either! To generate a serial and update directly the config.plist, you can use GenSMBIOS. We use SMBIOS MacBookPro15,4 as it is the closest Mac to our internal hardware.
- Disable secure chip
- Enable Intel Virtualization and VT-d
- Disable secure boot and Fast boot
- Disable Intel SGX control
- Disable Device Guard
- Disable wake on LAN/Thunderbolt
- Set boot mode to UEFI only
- Disable CSM support
Now you can boot your USB stick. If it fails to boot, try a different USB stick, double check your BIOS settings. If that does not work, report an issue here so we can help you. If it boots - be patient, it takes a while - install macOS on your APFS or HFS+ formatted drive. Use the installer Disk Utility to format your SSD so you can select it for the installation.
- Disable hibernation, since it doesn't work properly on hackintoshes
- Make your own USB map kext
- Generate your own CPU frequency vectors using CPUFriendFriend. The one included here is set to Balance power and CPU lowest frequency set to 500 MHz
- (Optional) YogaSMCNC and YogaSMCPane to control YogaSMC
- (Optional) Rectangle for window management
- (Optional) LuLu for network traffic control
- (Optional) Karabiner-Elements to rebind key presses