Giter Club home page Giter Club logo

t490-macos's Introduction

Lenovo T490 macOS with OpenCore

Status: WIP

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.

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 - I am getting 150/20 mbit up/down on a 200/20 connection. With the latest AirportItlwm kext even Handoff and continuity features are working, except for AirDrop.

Currently running:

Component Version
macOS version 11.5.2
OpenCore 0.7.3
BIOS version 1.73
EC version 1.23

Hardware info

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.

Status

Working

  • Keyboard (including all media keys)
  • Battery indicator
  • Display auto brightness
  • Audio
  • Ethernet
  • iCloud services - iMessage, FaceTime, iCloud Drive
  • 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)

Working, sort of

  • 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

Not working at the moment

  • HDMI video at 4K
  • SD card reader - I don't use it so won't fix but will merge pull requests
  • AirDrop

Not tested

  • Sidecar

Kexts

Kext Version Remark
AirportItlwm 2.0.0 alpha WiFi kext
AppleALC 1.6.4 Fixes onboard audio
BrightnessKeys 1.0.2 Fix brightness keys
CPUFriend 1.2.4 Power management
CPUFriendDataProvider - Frequency vector for CPUFriend
IntelBluetoothFirmware 2.0.0 Fixes bluetooth
IntelBluetoothInjector 2.0.0 Companion for IntelBluetoothFirmware
IntelMausiEthernet 2.5.1d1 Fixes ethernet
Lilu 1.5.6 Kext patcher
NoTouchID 1.0.4 Disable TouchID
NVMEFix 1.0.9 Fix for NVME SSDs
SMCBatteryManager 1.2.7 Battery indicator
SMCLightSensor 1.2.7 Ambient light sensor
SMCProcessor 1.2.7 CPU temp monitoring
SMCSuperIO 1.2.7 Monitor fan speed
USBInjectAll 0.7.5 Inject all USB, only for troubleshooting
USBMap - Inject only mapped USB
VirtualSMC 1.2.7 SMC chip emulation
VoodooRMI 1.3.3 Trackpad driver
VoodooSMBUS 3.0 dev SMBUS driver
VoodooPS2Controller 2.2.5 Enable keyboard
WhateverGreen 1.5.3 Graphics
YogaSMC 1.5.1 ACPI driver

ACPI patches

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-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-THINK YogaSMC helper
SSDT-USBX USBX patch

Pre-install: Creating the installation USB stick

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

Getting a valid Mac serial key

  • 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. Use SMBIOS MacBookPro15,4 as it is the closest MacBook to our internal hardware.

Compatible BIOS settings

  • 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 from your USB stick. If it fails to boot, try a different USB stick, double check your BIOS settings.

Post install

  • Disable hibernation, since it doesn't work properly on hackintoshes
sudo pmset autopoweroff 0
sudo pmset powernap 0
sudo pmset standby 0
sudo pmset proximitywake 0
sudo pmset tcpkeepalive 0

For how to update OpenCore and kexts, read this guide. Personally, I use MountEFI to mount EFI partitions, ProperTree to edit plist files, and OCConfigCompare to compare my config files to the latest sample configs from OpenCore. I also always test drive my updated EFI with a USB stick before moving it to the EFI partition of the main SSD.

CREDITS

t490-macos's People

Contributors

0x14307 avatar denzilferreira avatar schspa avatar yusifsalam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

t490-macos's Issues

Deep sleep causing kernel panic

Laptop goes to sleep normally and can wake from sleep but if after a while it goes to deep sleep, from which it can't recover. Possibly caused by USB configuration.

Touchpad Issue

Touchpad goes automatically to dockbar and isn't responsive. Its randomly going to places and i cant click anything sometimes

Install stuck at 14 minutes

Describe the bug
A clear and concise description of what the bug is.

Hardware
List your parts similar to the main README.

Software and firmware
macOS version, BIOS/EC version, OpenCore version.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Testing of untested functionality

Help is needed to test certain features that I'm not able to test myself or need more evidence!
Currently the features that need more testing are:

  • Sidecar, both wired and wireless: not working
  • Touchscreen
  • Thunderbolt (TB)
  • CPU fan info
  • Other features that I'm not remembering, which?

Updated to working:

  • AirPlay (3 reports)
  • CPU temps (3 reports)

Updated to NOT working:

  • Sidecar, wired or wireless (1 report)
  • Touchscreen (1 report)
  • TB bridge (1 report)
  • CPU fan stats (2 reports)
  • CPU temp (1 report)

Battery Draining

Battery is draining really fast. Only 2 hours of battery life. On windows i got more than 9 hours

Thermal Throttling at 65 deg C

Here is the result after disabling CPU Friend & CPU Friend Data Provider Kexts.
Clock speed is 1.5GHz average (and the score should be around 58x-61x)
Screen Shot 2563-09-18 at 22 59 50

I can do 1500-1600 Cinebench R20 on Windows 10.

Lenovo T490 (i7 version)

Hello and thank you for sharing with us you repository.,

Since i was using Clover for my previous hackintosh and i'm not familiar with OpenCore i would like to ask you if you can help me understand what is wrong with my configuration.

I have also a Lenovo t490 but the i7 vPro version (i7-8665U - Samsung MZVKB1T0HBLR-000L7).
I also have a samsung NVME connected on it. I managed to boot into the installation using you're configuration but at random times it the laptop freezes. I tried to format the disk in both Mac OS extended and apfs but some times i can format the disk and other times it freezes and i have to force shut it down.

In some cases the installation finished and reboots and then it freezes on the next page showing the Apple logo and "Estimating time remaining or 13 minutes remaining". I believe that there is something wrong with my configuration with respect to the SSD, do you have something in mind that might cause this issue?

I tried many things and other repositories but i'm getting the same behaviour with random freezes and i cannot finish the installation. As i said i have some experience with Clover and Hackintosh with a Dell latitude and a Mi Notebook Pro, but with this one i cannot find a solution.

I will really appreciate it if you can help me or at least give me a hint on how to solve this issue :)

Thank you in advance!

about ThinkPad t590 cannot start the system when replacing the display

All fields are mandatory.

Describe the bug
OK, I use the translation software. I don't know if I can express it clearly
My original monitor is n156hca-eab, and the replaced monitor is n156hce-gn1, both of which are 1080p.
After replacing n156hce-gn1, the system cannot be started again. It can be started normally by replacing the original display. Find a solution.
And,The NumLock key light of t590 is not on (in all versions).

Hardware
ThinkPad T590 i5-8525u mx250

Software and firmware
11.4, 1.73/1.23, 0.6.5.

To Reproduce
100%

Expected behavior

Screenshots
U1`07LX4M_MUQNSC2B}}$KK

If you use the latest version of 0.7.1 OpenCORE, the following prompt will appear

IMG_20210817_104202

oc:failed to parse configuration

HDMI and type-c video output

<key>Devices</key>
<dict>
	<key>#AddProperties</key>
	<array>
		<dict>
			<key>Comment</key>
			<string>hda-gfx=onboard-1 for HDMI audio</string>
			<key>Device</key>
			<string>IntelGFX</string>
			<key>Key</key>
			<string>hda-gfx</string>
			<key>Value</key>
			<data>
			b25ib2FyZC0xAA==
			</data>
		</dict>
		<dict>
			<key>Comment</key>
			<string>hda-gfx=onboard-1 for HDMI audio</string>
			<key>Device</key>
			<string>HDA</string>
			<key>Key</key>
			<string>hda-gfx</string>
			<key>Value</key>
			<data>
			b25ib2FyZC0xAA==
			</data>
		</dict>
		<dict>
			<key>Comment</key>
			<string>layout-id=3</string>
			<key>Device</key>
			<string>HDA</string>
			<key>Key</key>
			<string>layout-id</string>
			<key>Value</key>
			<data>
			AwAAAA==
			</data>
		</dict>
		<dict>
			<key>Device</key>
			<string>HDA</string>
			<key>Key</key>
			<string>PinConfigurations</string>
			<key>Value</key>
			<data>
			</data>
		</dict>
	</array>
	<key>Audio</key>
	<dict>
		<key>AFGLowPowerState</key>
		<false/>
		<key>Inject</key>
		<integer>100</integer>
		<key>ResetHDA</key>
		<true/>
	</dict>
	<key>FakeID</key>
	<dict>
		<key>#Kaby Lake-Comment</key>
		<string>To avoid automatic Clover fake device-id (Skylake) injection</string>
	</dict>
	<key>HDMIInjection</key>
	<false/>
	<key>NoDefaultProperties</key>
	<true/>
	<key>Properties</key>
	<dict>
		<key>PciRoot(0x0)/Pci(0x1f,0x3)</key>
		<dict>
			<key>AAPL,slot-name</key>
			<string>Internal@0,31,3</string>
			<key>device_type</key>
			<string>Audio device</string>
			<key>hda-gfx</key>
			<string>onboard-2</string>
			<key>layout-id</key>
			<data>
			AAAAAA==
			</data>
			<key>model</key>
			<string>Cannon Point-LP High Definition Audio Controller</string>
		</dict>
		<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
		<dict>
			<key>AAPL,ig-platform-id</key>
			<data>
			AACbPg==
			</data>
			<key>AAPL,slot-name</key>
			<string>Internal@0,2,0</string>
			<key>device-id</key>
			<data>
			mz4AAA==
			</data>
			<key>device_type</key>
			<string>VGA compatible controller</string>
			<key>enable-hdmi-dividers-fix</key>
			<data>
			AQAAAA==
			</data>
			<key>enable-hdmi20</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-con0-busid</key>
			<data>
			AAAAAA==
			</data>
			<key>framebuffer-con0-enable</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-con0-flags</key>
			<data>
			mAAAAA==
			</data>
			<key>framebuffer-con0-index</key>
			<data>
			AAAAAA==
			</data>
			<key>framebuffer-con0-pipe</key>
			<data>
			EgAAAA==
			</data>
			<key>framebuffer-con0-type</key>
			<data>
			AgAAAA==
			</data>
			<key>framebuffer-con1-busid</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-con1-enable</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-con1-flags</key>
			<data>
			hwEAAA==
			</data>
			<key>framebuffer-con1-index</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-con1-pipe</key>
			<data>
			EgAAAA==
			</data>
			<key>framebuffer-con1-type</key>
			<data>
			AAgAAA==
			</data>
			<key>framebuffer-con2-busid</key>
			<data>
			AgAAAA==
			</data>
			<key>framebuffer-con2-enable</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-con2-flags</key>
			<data>
			hwEAAA==
			</data>
			<key>framebuffer-con2-index</key>
			<data>
			AgAAAA==
			</data>
			<key>framebuffer-con2-pipe</key>
			<data>
			EgAAAA==
			</data>
			<key>framebuffer-con2-type</key>
			<data>
			AAgAAA==
			</data>
			<key>framebuffer-con3-busid</key>
			<data>
			AAAAAA==
			</data>
			<key>framebuffer-con3-enable</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-con3-flags</key>
			<data>
			IAAAAA==
			</data>
			<key>framebuffer-con3-index</key>
			<data>
			/////w==
			</data>
			<key>framebuffer-con3-pipe</key>
			<data>
			AAAAAA==
			</data>
			<key>framebuffer-con3-type</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-fbmem</key>
			<data>
			AAAAAA==
			</data>
			<key>framebuffer-patch-enable</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-stolenmem</key>
			<data>
			AACQAw==
			</data>
			<key>framebuffer-unifiedmem</key>
			<data>
			AAAAgA==
			</data>
			<key>hda-gfx</key>
			<string>onboard-2</string>
			<key>model</key>
			<string>Intel UHD Graphics 630 (Mobile)</string>
		</dict>
	</dict>
	<key>SetIntelBacklight</key>
	<true/>
	<key>SetIntelMaxBacklight</key>
	<true/>
	<key>USB</key>
	<dict>
		<key>AddClockID</key>
		<true/>
		<key>FixOwnership</key>
		<true/>
		<key>Inject</key>
		<true/>
	</dict>
	<key>UseIntelHDMI</key>
	<false/>
</dict>

YogaSMC failed

Hello!!

I have updated the EFI folder with the latest YogaSMC kext, installed YogaSMCNC and when I run it I get the following message "Failed to connect to YogaSMC"
Do I have to do something else for it to work properly?

Apple TV+ DRM

How to make Apple TV+ work? I have the latest versions of Lilu and WhateverGreen.kext - not working.

Thunderbolt not working

Hi, Thanks for all the hard work - I've setup using the github config and everything appears to be working pretty much perfectly other than thunderbolt - under hardware thunderbolt is showing no drivers loaded and I'm only getting display output via the lenovo dock. Could you assist?
EDIT: The dock works via the USB C port but not the integrated thunderbolt in the power connector

Installer freezes

Hi folks,
I got to the install window. On the first try I managed to erase my disk and start the installation process. But it freezed at 33min remaining.
Then I tried it again but it freezed at the erase process.
Somebody got this problem before?
I have the i5 version and want to install Big Sur because the other versions are not working for me.
OpenCore did not show any information in the log it stopped after the start of the installer was successful.

VoodooRMI

Current issue:
When using VoodooRMI instead of VoodooPS2Controller for the trackpad, VoodooInput does not load and the trackpad does not register any input

Power configuration

Hi. Install worked perfectly. Thanks so much. Only thing for me is battery life is terrible. I saw something about a script but have no idea how to get it working. Could someone please help me. Thanks for the great hackintosh guide.

Issue Occured "an internet connection is required to install macOS"

Help please.
I use all the files provided above.
While intall macOS big sur, a problem occured :
"an internet connection is required to install MacOS"
Than I change the Info.plist file under volum "/oc/kexts/itlwm.kext"
FROM " OSBounderRequiredNetwork-Root"" TO
OSBounderRequiredRoot

it doesn't work.
Help please.Thanks

Keyboard backlight is not working

Hello.

First, a big thanks for making T490 working on macOS 👍

I have a i7 variant of the t490.
Everything works expect the keyboard backlight.

Do we have to do something special to enable it?

Thanks.

Lagging when using macOS

Describe the bug
Me again. I told in my last issue that I tested the installation with another ssd and everything worked. Now I used the OS and especially when connecting and external monitor with HDMI the animations and the cursor are lagging. Did somebody has this before? Is this a issue with the graphic unit?

Hardware
Intel i5-8365U
16GB RAM
Intel UHD 620 Graphics

Software and firmware
macOS version: Big Sur
BIOS is the newest
OpenCore is the version provided in this repo

To Reproduce
I think it is a problem with the graphics unit. Do I need to change something post-install?

Expected behavior
Shouldn't lag because the hardware is comparable with a Macbook Pro

Battery indicator and touchpad not working properly

Salam

Really nice work , everything worked but the battery indicator ( it continuously unchecks itself ) and the touchpad it works like a mouse only . Is there a way to enable the Tap instead of using buttons . Any info would be greatly appreciated

Inquiry on BIOS, ECP version of your T490 in README.md

First of all, thank you very much for great porting on T490. I just owned a T490s (i7-8565u).
T490s, as you know, is light sibling of T490, and most of the hardware specs are very similar.

Having said that, when I tried you use your T490 opencore EFI in this project, it couldn't boot
with your patched frame buffer parameters in DeviceProperty. If I only keep
(ig-platform-id, device-id) of (0x0900A53E, 0xA53E0000) or (0x00009B3E, 0x9B3E0000) like:

		<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
		<dict>
			<key>AAPL,ig-platform-id</key>
			<data>
			CQClPg==
			</data>
			<key>device-id</key>
			<data>
			pT4AAA==
			</data>
			<key>framebuffer-fbmem</key>
			<data>
			AACQAA==
			</data>
			<key>framebuffer-patch-enable</key>
			<data>
			AQAAAA==
			</data>
			<key>framebuffer-stolenmem</key>
			<data>
			AAAwAQ==
			</data>
		</dict>

most of the system works. So my mission is to find out why T490s is slightly different from T490.

So here comes my questions:

  1. Are your BIOS and ECP versions : 0.1.66 and 0.1.9 which are different from https://support.lenovo.com/us/en/downloads/ds539061
    (Normally without appending 0. in version. Btw, mine are 1.65 and 1.17 )

  2. Most of the T490s catalina 10.15.6(or .7) works for daily life as yours (thanks to you)
    However, my thunderbolt controller is listed as a combined/single XHC from USB porting mapping of Hackintool.
    Is this normal? I have no idea, but I suspect it's not the right way.
    Immediate consequence is that when my lenovo thunderbolt 3 dock is connected type-c port near ethernet port (dock portion) it cannot display well my HDMI monitor attached to dock. If I connect my thunderbolt 3 dock to the other type-c port, it works.
    Is this same for you?

  3. Back to manual frame buffer patching, above ig-platform-id usually has 3 ports. But we have 4 possible ports,
    LVSD, Type-C, Thunderbolt Type-C, HDMI. Is there anyway I can block one of Type-C but save HDMI port? How is your configuration?

Thanks.

Audio Jack - Fix after sleep

Hello and thank you for the amazing work and the effort,

I decided to change my drive finally and use t490 with Mac OS ( :) ), and is working perfectly with Big Sur with your repository!! (and the WIFI of course)

I have also a Mi Notebook Pro which works perfectly and i'm trying to find a way to make Audio Jack work after sleep. Based on the Mi Notebook Pro, we are using CodecCommander.kext to make this work. I found a script online, that as soon as you run it after sleep it makes audio jack work again.

I'm still trying to make the script run automatically after sleep and i will get back to you with that.
Attached is the kext that i put on the EFI partition and the script that i'm using after sleep.

Hope that helps and thank you again :)

enable_jack.zip

Battery status?

Describe the bug
I have added SSDT-BAT.aml to my ACPI folder and defined it in config.plist in the SSDT section at the top, but still dont see the battery status
Hardware
My hardware is identical to yours

Software and firmware
Big Sur 11.1, whatever is in your config, OpenCore latest debug.

Expected behavior
No battery status

No boot

I cannot boot. I have this error.
image

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.