taina0407 / T480-OpenCore-Hackintosh

T480 Catalina Hackintosh with OpenCore v0.5.6
14 stars 42 forks source link

CFG Lock and UHD 620 #4

Closed EETagent closed 4 years ago

EETagent commented 4 years ago

Hello, thanks for your effort to enable OpenCore hackintosh on T480 .

Your config.plist uses CFG Lock patches to bypass missing option in Lenovo BIOS. Access to the MSR 0xE2 is important to right power managment

Digging in n24ul19w BIOS showed me, it might by possible to disable CFG lock natively. Using the Fixing CFG Lock guide. The BIOS itself is split into the 3 .cab files from which could be extracted the .bin files.

"One Of: CFG Lock, VarStoreInfo (VarOffset/VarName): 0x3C, VarStore: 0x3, QuestionId: 0x2CA, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 8F 02 90 02 CA 02 03 00 3C 00 10 10 00 01 00}"

I don't have time currently to test it on my ThinkPad, but i will try to do it ASAP.

Wouldn't be 0000C087 and C0870000 ( UHD 620 ) better bet than 00001659 and 16590000 ( HD 620 ) as ig-platform-id and device-id? In the Laptop OpenCore Guide there is explicitly written "UHD620 users, you must use: 0000C087 and C0870000 "

On a different note, are those all SSDTs really needed? Isn't GPI-0 only for I2C devices? I didn't found SSDT-AUDIO-HPET_RTC_TIMR-fix.aml. in both T460s,T450 OpenCore builds.

Thanks

taina0407 commented 4 years ago

Hi @EETagent , Thanks for your comment.

  1. About CFG Lock, I haven't research about modify BIOS yet. I want to minimize "modification" as possible, because I want other users to just download EFI and make it run on their devices with out modification. But thanks for your info, I will try some other option for CPU Power, if they are all not work, will try your ways (And could u please provide the guide link?)

  2. About ig-platform-id and device-id, I've tried your mentioned ID,. also tried some others Clover EFI with 16590000 but they are ether panic or 7MB display only. I've spend two days to try many options and found it working with 16590000 to make it full QE/CI. But may be there are some conflict back then, I will test C087 again and will update release if it work.

  3. This is the first laptop full release that I've build, follow by OC-Little guide, I'm still new on SSDT patching. I've read some OpenCore guide for laptop, and also OC-Little, not too confident with GPI-0, but I still found it in my device DSDT so I still enable this patch. SSDT-AUDIO-HPET_RTC_TIMR is for fixing HPET, RTC, TIMR as follow the guide here https://github.com/daliansky/OC-little/tree/master/21-%E5%A3%B0%E5%8D%A1IRQ%E8%A1%A5%E4%B8%81

EETagent commented 4 years ago

Hello @taina0407 , thanks for the answers.

  1. https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/post-install/post-install/msr-lock If you would like to see extracted CFG values for N24ET56W ( My BIOS version ), they are in the attachment N24ET56W.txt Extracted BIOS binary file N24ET56W.zip Lenovo Full BIOS Lenovo download link

  2. About the right device-id, I found conflicting information 1.OC Laptop Guide For UHD620 users, you must use: device-id=C0870000 AAPL,ig-platform-id=0000C087 2.WhateverGreen Manual For UHD620 (Kaby Lake Refresh) fake device-id 16590000 for IGPU Possibly, there could be a difference between KB-R, CL, WL, CometL. I would follow WhateverGreen Manual then. 16590000 is alright.

  3. Ok, thanks. I still think, that if you dont have I2C touchpad or touchscreen, GPI-0 is unnecessary.

  4. CPUFriend may help with bad power managment. https://github.com/simprecicchiani/Thinkpad-T460s-macOS-OpenCore

EETagent commented 4 years ago

I tried to apply that patch but without any success.

error: can’t set variable using efi ( error: 0x0000000000000008 )

Maybe bad offset or Lenovo uses some weird bios locks. I don’t know.

I will try to further investigate this.

EETagent commented 4 years ago

I asked on the Thinkpad and hackintosh subreddit, sadly without response. It is a pity that this is possible on Dell XPS, but not on ThinkPad. If someone find a solution, I and other ThinkPad users would love to hear it. Thanks.

Closing issue as unsolved.

EETagent commented 4 years ago

EDIT: I got a great reply that sent me here

TLDR; UEFI firmware is locked by the Lenovo and thus we can't change variables

Closing an issue as not possible with current BIOS. Thanks u/rottenpanst.

EETagent commented 4 years ago

Reopening because I found another way how to disable CFG Lock. Using experimental hardware BIOS patch called Skyra1n ( Similar to famous 1vyrain ). It has ability to change DVMT values too. I don't currently have equipment to test it. Probably it is not worth the effort.

https://www.reddit.com/r/thinkpad/comments/ffqqx5/currently_testing_skyra1n/ https://www.reddit.com/r/thinkpad/comments/g8fk51/t480_consuming_60w_85w_total_unlimited_tdp/