TABLE of CONTENTS
- About
- Issues
- Specs
- BIOS Settings
- EFI Folder Content
- Preparations
- Deployment
- Post-Install
- For OCAT Users
- Credits and Thank Yous
OpenCore EFI folder and config for running macOS Monterey and newer on the Lenovo ThinkPad T490. Read the documentation carefully in order to boot macOS successfully.
- Compatible with macOS Sonoma
- MicroSD Card Reader is working
- Clamshell mode working (when connected to A/C and external display)
- Lean EFI folder with slimmed kexts (20 mb instead of 70) :
- AppleALC (87 kB instead of 2.2 mb). Only contains layout
97
. - AirportItlwm (1.7 mb instead of 16 mb). Only Contains Firmware for Intel AC 9560.
- itlwm (1.6 mb instead of 16 mb). Only Contains Firmware for Intel AC 9560.
- AppleALC (87 kB instead of 2.2 mb). Only contains layout
- YogaSMC support for additional features like CPU fan control, performance bias, all Fn Key shortcuts working, additional OSD overlays, etc.
- No injection of
PlatformInfo
data into Windows.
- Mapping USB Ports via ACPI instead of using USBMap.kext
- Creating AppleALC Layout for Docking Station
- Audio Jack creates an unpleasant buzz/noise during driver initialization. So it's best to connect Headphones to it after booting.
Category | Description |
---|---|
Model | Lenovo ThinkPad T490 |
Variant | 20N3 |
BIOS | UEFI: 1.79 (2023-01-16) Embedded Controller: 1.26 |
CPU | Intel Intel Core i5 8265U (Quad Core) |
RAM | 16 GB:
|
Storage | 250 GB M.2 Crucial MX 500 SATA SSD |
Display | Full HD (1080p) (Non-Touch) |
iGPU | Intel(R) Grpahics UHD 620 (spoofed as Iris 655, BusID: 2 ) |
dGPU | None |
Audio | Realtek ALC257 (using Layout 97 ) |
Thunderbolt | Titan Ridge Thunderbolt 3 Connector (USB-C) (Reported working but I don't have any gear to test it) |
Ethernet | Intel I219-V |
WiFi | Intel AC-9560 (Firmware: iwm-9000-46 ) |
Bluetooth | Device: Intel Wireless Bluetooth VID: 0x8087 , PID: 0x0aaa Firmware ibt-17-16-1.sfi , ibt17-16-1.ddc USB Port: HS10 |
Trackpad | Synaptics Device-id: pci8086,9de8 . Controlled via SMBus. |
SD Card Reader | Realtek MicroSD Card Reader |
Dock | ThinkPad Ultra Docking Station |
After powering on the machine, spam F1 until you hear a beep to enter the BIOS. Change the following settings:
Category | Setting |
---|---|
Config | Display
|
Security | Fingerprint
|
Startup |
|
:bulp: Tip: Although the modern GUI is looking neat, you can navigate the menus much faster when using the old school looking "Simple Mode".
Click to reveal
EFI
├── BOOT
│ └── BOOTx64.efi
└── OC
├── ACPI
│ ├── SSDT-ALS0.aml
│ ├── SSDT-AWAC.aml
│ ├── SSDTT-ECRW.aml
│ ├── SSDT-EXT1-FixShutdown.aml
│ ├── SSDT-EXT3-LedReset-TP.aml
│ ├── SSDT-EXT4-WakeScreen.aml
│ ├── SSDT-GPRW.aml
│ ├── SSDT-MCHC.aml
│ ├── SSDT-PLUG.aml
│ ├── SSDT-PNLF.aml
│ ├── SSDT-PTSWAKTTS.aml
│ ├── SSDT-PWRB.aml
│ ├── SSDT-THINK.aml
│ └── SSDT-USBX.aml
├── Drivers
│ ├── AudioDXE.efi (disabled)
│ ├── HfsPlus.efi
│ ├── OpenCanopy.efi
│ ├── OpenRuntime.efi
│ └── ResetNvramEntry.efi
├── Kexts (loaded based on Min Kernel/Max Kernel settings)
│ ├── AirportItlwm_Sonoma.kext
│ ├── AirportItlwm_Ventura.kext
│ ├── AppleALC.kext
│ ├── BlueToolFixup.kext
│ ├── BrightnessKeys.kext
│ ├── CPUFriend.kext
│ ├── CPUFriendDataProvider.kext
│ ├── ECEnabler.kext
│ ├── IntelBluetoothFirmware.kext
│ ├── IntelBTPatcher.kext
│ ├── IntelMausiEthernet.kext
│ ├── itlwm.kext
│ ├── Lilu.kext
│ ├── NVMeFix.kext
│ ├── RealtekCardReader.kext
│ ├── RealtekCardReaderFriend.kext
│ ├── SMCBatteryManager.kext
│ ├── USBMap_MBP152.kext
│ ├── VirtualSMC.kext
│ ├── VoodooPS2Controller.kext
│ ├── VoodooRMI.kext
│ ├── VoodooSMBus.kext
│ ├── WhateverGreen.kext
│ └── YogaSMC.kext
├── OpenCore.efi
├── Resources (NOTE: shows sub-folders only, no files)
│ ├── Font
│ └── Image
│ └── Acidanthera
│ │ ├── Chardonnay
│ │ ├── GoldenGate
│ │ └── Syrah
│ └── Blackosx
│ │ └── BsxM1
│ └── Label
└── config.plist
- Download the latest Release of my EFI folder and unzip it
- Open the config.plist with the plist editor of your choice (ProperTree or OCAT for example)
Kexts/Add
Section: decide, which Wifi kext you want to use (→ see AirportItlwm vs itlwm)- Go to
PlatformInfo/Generic
and generate MLB, Serial and ROM forMacBookPro15,2
with GenSMBIOS or OCAT.⚠️ Don't change the SMBIOS or theUSBMap.kext
won't work anymore! - Add
boot-args
for debugging if you have installation issues:-v
,debug=0x100
andkeepsyms=1
UEFI/APFS
: changeMinVersion
andMinDate
to-1
for macOS Catalina and older.- Save your config.plist
Note: If your T490 model uses a different WiFi/BT card than Intel AC-9560, then use the official itlwm.kext because mine only contains the firmware for the 9560 so it won't work with other cards.
Although the Intel AC-9560 Card is compatible with both kexts (use either one or the other), there are Pros and Cons to both of them (check the FAQs for other differences):
-
AirportItlwm:
- Pro: Can be used during macOS installation which is not possible with
itlwm.kext
- Pro: Supports Location Services and Find My Mac
- Con: Doesn't perform as well as itlwm.kext and takes much longer to connect
- Con: Can't connect to hidden WiFi Networks
- Con: Requires using the correct kext per macOS version, so running multiple version of macOS with this kext is not possible without renaming kexts
Con: Not compatible with macOS Sonoma yet
- Pro: Can be used during macOS installation which is not possible with
-
itlwm.kext
- Pro: Connects much faster to WiFi hotspots and performs better than
AirportItlwm
- Pro: Supports macOS Sonoma already
- Pro: Can connect to hidden WiFi Networks
- Pro: Only one kext to cover WiFi across multiple versions of macOS
- Con: Requires HeliPort app to connect to WiFi Hotspots so it can't be used during macOS installation
- Con: Doesn't support Location Services
- Pro: Connects much faster to WiFi hotspots and performs better than
Suggestion: Use Ethernet during macOS installation. If you don't have access to Ethernet, disable itlwm.kext
and enable AirportItlw.kext
for the desired macOS version you want to install/use instead. Currently, AirportItlwm kexts for macOS and Ventura and Sonoma (test version) are included.
- In config.plist:
- Change
HibernateMode
toAuto
- Change
- In System:
- Preferences: Disable Power Nap
- In Terminal:
sudo pmset -a hibernatemode 25
- In Terminal:
sudo pmset -a standby 1
- Put the EFI folder on a FAT32 formatted USB stick
- Reboot from said USB flash drive for testing
- If it works, place the EFI folder on the SSD of your Laptop
- Continue with Post-Install
- Follow Dortania's OpenCore Install Guide to prepare a USB Installer
- Once the USB has been created, download the latest version of HeliPort and copy the .dmg to your USB Installer
- Next, mount the ESP of the USB Installer (you can use MountEFI for this)
- Put the EFI folder on the EFI partition of the USB installer
- Reboot from the USB installer
- Install macOS
- Once that is completed, continue with Post-Install
NOTE: You will have to use Ethernet during the installation of macOS if your system requires access to the Internet.
- Disable Gatekeeper:
sudo spctl --master-disable
- Mount HeliPort.dmg, drag the app into the "Programs" folder and run it.
- Use it to connect to your WiFI Hotspot.
- Add HeiPort to "Login Items", so it stars and connects to your WiFi Hotspot automatically.
- Next, enable YogaSMC:
- Download and mount YogaSMC-App
- Drag the
YogaSMCNC
app into the "Programs" folder - Double-click the YogaSMC prefPane to install it
- Click on its icon (⌥) in the menu bar and select "Start at Login"
- Now you can control Fan Speeds and other settings
- Use CPUFriendFriend to generate your own CPUFriendDataProvider.kext if your T490 uses a different CPU than mine to optimize CPU Power Management
Add the following links to the "Kext URL Upgrade" list (accessible via "Settings" in the Sync window), so kext which are marked in grey in the Sync window will be downloaded when checking for updates:
Kext | URL |
---|---|
BlueToolFixup.kext | https://github.com/zxystd/BrcmPatchRAM |
IntelBluetoothFirmware.ketx | https://github.com/OpenIntelWireless/IntelBluetoothFirmware |
IntelMausiEthernet.kext | https://github.com/CloverHackyColor/IntelMausiEthernet |
itlwm.kext | https://github.com/OpenIntelWireless/itlwm |
- Acidanthera for OpenCore, Kexts and maciASL
- CorpNewt for ProperTree, CPUFriendFriend and SSDTTime
- Dreamwhite for slimmed versions of itlwm kext kexts
- ic005k for OpenCore Auxiliary Tools
- benbaker76 for Hackintool
- zxystd for Sonoma-compatible BrcmPatchRAM kext
- Special Thx to:
- 1Revenger1 for VoodooRMI and fixing issues with the TrackPad
- deeveedee for advice when trying to optimize the framebuffer patch for connecting to my external display.
- T490 OpenCore Repos used for referencing and ACPI hotfixes: