Jump to content

[GUIDE] Lenovo T460/T470 macOS with Clover and OpenCore


tluck
 Share

1,289 posts in this topic

Recommended Posts

11 hours ago, kolodzieski said:

The answer is in this patch, but it is unclear to me how to modify it: https://github.com/jsassu20/OpenCore-HotPatching-Guide/tree/master/15-0D6D Patch

Looking into the original patch thread I suppose you'll need SSDT-GPRW.

 

This is your DSDT

 

1694640969_Screenshot2020-04-16at08_35_08.thumb.png.aaae7f4c676e0bed3f7b914e90ad3507.png

 

This is what the patch suggest: SSDT-GPRW

 

1665414497_Screenshot2020-04-16at08_33_25.thumb.png.fc298e61a1353413cb02531b7437944a.png

 

And maybe this patch since you DSTD also have an entry of the type: 6D-patch (not sure about this one)

 

1057269717_Screenshot2020-04-16at08_36_49.thumb.png.06a2a86c4090ae7566475c0e1d35d0ee.png

82273411_Screenshot2020-04-16at08_44_06.thumb.png.70f21247ed08ab715f241796788cd929.png

 

The guide suggest that for Thinkpad either SSDT and patches could be required 

 

1017409925_Screenshot2020-04-16at08_36_25.thumb.png.e1bd0b19e99d05fb0875238e9943a742.png

 

Link to comment
Share on other sites

Hey, can someone possibly explain how to increase 1. the two finger scrolling speed of the trackpad (it is way too slow for me) and 2. setup the trackpad to "click" while the finger is still on the trackpad after moving the cursor, like on a real mac (i have a t460s, and always have to lift up the finger and tap again to accomplish a "mouse click" - this is a feature i would be delighted to enable...)

Link to comment
Share on other sites

13 hours ago, simprecicchiani said:

Looking into the original patch thread I suppose you'll need SSDT-GPRW.

 

This is your DSDT

 

1694640969_Screenshot2020-04-16at08_35_08.thumb.png.aaae7f4c676e0bed3f7b914e90ad3507.png

 

This is what the patch suggest: SSDT-GPRW

 

1665414497_Screenshot2020-04-16at08_33_25.thumb.png.fc298e61a1353413cb02531b7437944a.png

 

And maybe this patch since you DSTD also have an entry of the type: 6D-patch (not sure about this one)

 

1057269717_Screenshot2020-04-16at08_36_49.thumb.png.06a2a86c4090ae7566475c0e1d35d0ee.png

82273411_Screenshot2020-04-16at08_44_06.thumb.png.70f21247ed08ab715f241796788cd929.png

 

The guide suggest that for Thinkpad either SSDT and patches could be required 

 

1017409925_Screenshot2020-04-16at08_36_25.thumb.png.e1bd0b19e99d05fb0875238e9943a742.png

 

 

I think I get the idea here, the binary patch changes the GPRW to call XPRW, and the SSDT inserts the code for XPRW

 

The issue I think I am having is that the 2_usb_pwr_0x6d_xhc_skl.txt REMOVES some _PRW methods from particular locations in the DSDT. I do not think that is possible with an SSDT is it? 

 

Link to comment
Share on other sites

On 4/15/2020 at 8:00 PM, junaed.rx said:

Hi @kolodzieski,

Try this binary patch see if this solve your issue.

Find: R1BSVwptCgQ=

Replace: R1BSVwptCgA=

That did not work, but thank you for trying. 

 

I have a working opencore setup now, but not in the best way. 

I use this minimal patch on my DSDT to change the _WAK method in the XDCI device. 

# if _PRW objects are methods
into method label _PRW parent_adr 0x00140001 remove_entry;

# if _PRW objects are names
into device name_adr 0x00140001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
# some _PRW have three entries in the Package
into device name_adr 0x00140001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;

# seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state
# Note: These are methods because some Skylake DSDT call _PRW as a method for no reason
into device name_adr 0x00140001 insert begin Method(_PRW) { Return(Package() { 0x6D, 0 }) } end;

then first thing in my OC config.plist, load the patched DSDT, then go on with my other SSDT patches. 

 

One someone be able to help me to understand how to make the DSDT source patch into a binary patch? 

 

At leats my OC boot is mainly working. The only issue I see is the battery status is only for the internal battery. I can work on that, it is just SSDT changes. The source patch to the DSDT I do not know how to get around right now. 

Link to comment
Share on other sites

9 hours ago, kolodzieski said:

That did not work, but thank you for trying. 

 

I have a working opencore setup now, but not in the best way. 


I use this minimal patch on my DSDT to change the _WAK method in the XDCI device. 

# if _PRW objects are methods
into method label _PRW parent_adr 0x00140001 remove_entry;

# if _PRW objects are names
into device name_adr 0x00140001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
# some _PRW have three entries in the Package
into device name_adr 0x00140001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;

# seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state
# Note: These are methods because some Skylake DSDT call _PRW as a method for no reason
into device name_adr 0x00140001 insert begin Method(_PRW) { Return(Package() { 0x6D, 0 }) } end;

then first thing in my OC config.plist, load the patched DSDT, then go on with my other SSDT patches. 

 

One someone be able to help me to understand how to make the DSDT source patch into a binary patch? 

 

At leats my OC boot is mainly working. The only issue I see is the battery status is only for the internal battery. I can work on that, it is just SSDT changes. The source patch to the DSDT I do not know how to get around right now. 

 

OK -- everything works, sleep/wake, dual battery, function keys, .... 

 

attached is my EFI, I still need the one tiny patch above applied to my DSDT, and in my config.plist you can see I load the DSDT.aml first. Not so bad, but would still like to understand how I do this with hot patching only.

 

Hope this helps someone.   

EFI-t470.zip

  • Like 1
Link to comment
Share on other sites

On 4/9/2020 at 8:20 PM, nijhawank said:

 

Here's my latest T460 EFI https://1drv.ms/u/s!AmREhiIe5U_FgssnUwJG2CQsJQZxsg?e=9h1pEg

I removed my SMBIOS Info.

Dear @nijhawank I used your EFI folder with a newly generated SMBIOS.However, I was only able to boot after removing VirtualSMC and CPUFriend. First time I got a kernel panic while loading Lilu having loaded VirtualSMC. Not sure if you have face this issue...

Link to comment
Share on other sites

8 minutes ago, carlinyos said:

Dear @nijhawank I used your EFI folder with a newly generated SMBIOS.However, I was only able to boot after removing VirtualSMC and CPUFriend. First time I got a kernel panic while loading Lilu having loaded VirtualSMC. Not sure if you have face this issue...


VirtualSMC (or FakeSMC, you only use one of these, never both) is a must for Hackintosh so it can’t be. Are you converting your existing clover-based installation to OpenCore? If that’s the case you must remove all kexts and rebuild kextcache prior to booting with OpenCore.

 

I will upload my latest EFI where I have made few more minor changes but I surely didn’t have any problems with VirtualSMC our CPUFriend, and I remember replacing my custom SSDT-CPU with a generic one so there shouldn’t be any problem with CPUFriend either. What are your machine details, T460/T460s/T470/other?

 

 In any case, I’ll upload the latest shortly.

Edited by nijhawank
Link to comment
Share on other sites

1 hour ago, nijhawank said:


VirtualSMC (or FakeSMC, you only use one of these, never both) is a must for Hackintosh so it can’t be. Are you converting your existing clover-based installation to OpenCore? If that’s the case you must remove all kexts and rebuild kextcache prior to booting with OpenCore.

 

I will upload my latest EFI where I have made few more minor changes but I surely didn’t have any problems with VirtualSMC our CPUFriend, and I remember replacing my custom SSDT-CPU with a generic one so there shouldn’t be any problem with CPUFriend either. What are your machine details, T460/T460s/T470/other?

  

 In any case, I’ll upload the latest shortly.

T460 i5 6200U HD520 24 GB DDR3L 1600Mhz

 

EDIT: And yes, I'm transitioning from clover to OC in High Sierra

Edited by carlinyos
macos version
Link to comment
Share on other sites

2 hours ago, carlinyos said:

T460 i5 6200U HD520 24 GB DDR3L 1600Mhz

 

EDIT: And yes, I'm transitioning from clover to OC in High Sierra

 

Here's my latest EFI https://1drv.ms/u/s!AmREhiIe5U_FgssnUwJG2CQsJQZxsg?e=ca1bIi

 

I followed this

https://webcache.googleusercontent.com/search?q=cache:9yYqvlGAd68J:https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/tree/master/clover-conversion+&cd=1&hl=en&ct=clnk&gl=us&client=safari

 to convert from Clover to OC.

Basically it involved removing all Hackintosh kexts from /L/E and rebuilding kextcache, removing any clover related files from the macOS volume and finally cleaning nvram prior to booting with OC.

If you need to perform nvram reset, you will have to enable AllowNvramReset in my config.

 

 

  • Thanks 1
Link to comment
Share on other sites

12 hours ago, kolodzieski said:

Got it for the t470 / i5-6300u. Everything works. Just hot patched. No longer have to patch the DSDT. 

 

If anyone else has a t470 like this, let me know if it works for you. 

EFI-t470.zip

It works great. the only slight issue i currently have is that i couldn't open the config.plist with opencoreconfigurator, and i wonder how i could generate a new serial number for icloud without opencoreconfigurator. 

Edited by Sempreavanti
Link to comment
Share on other sites

Hey there,

 

i've created an Assistant Application to get all keyboard shortcuts working on T460. It should be compatible to all T-Series Thinkpad with the right Keyboard mapping.

 

For those who want give it a try make sure to use the following keyboard mapping:

 

- Fn+F4 -> F20

- Fn+F7 -> F16

- Fn+F8 -> F17

- Fn+F9 -> F18

- Fn+F12 -> F19

 

or you can take my SSDT form my lastest openCore build from here (dont forget to add ACPI patches in you config.plist)

 

@junaed.rx and @simprecicchiani :

I saw that you are using my Keyboard mapping already. I would be happy if you could beta test it

 

 

Edited by MSzturc
  • Like 2
Link to comment
Share on other sites

Attempting to utilize this for getting Catalina on my X270 (similar hardware-wise to the T470/470S family). I get "an error occurred while verifying firmware" at the end of the installation process. Utilizing OpenCore (did lazily hijack kolodzieski's EFI folder, but any issues from their T470 to my X270 wouldn't be this verifying firmware problem)

Link to comment
Share on other sites

11 hours ago, MSzturc said:

Hey there,

 

i've created an Assistant Application to get all keyboard shortcuts working on T460. It should be compatible to all T-Series Thinkpad with the right Keyboard mapping.

 

For those who want give it a try make sure to use the following keyboard mapping:

 

- Fn+F4 -> F20

- Fn+F7 -> F16

- Fn+F8 -> F17

- Fn+F9 -> F18

- Fn+F12 -> F19

 

or you can take my SSDT form my lastest openCore build from here (dont forget to add ACPI patches in you config.plist)

 

@junaed.rx and @simprecicchiani :

I saw that you are using my Keyboard mapping already. I would be happy if you could beta test it

 

 

Hi @MSzturc,

 

I have tested your application it works marvellously. Thanks for this application, it does make feel thinkpad a native mac.

The Fn + F10 key doesn't produce spotlight, it toggles between input source and Fn + F11 does nothing. Wifi enable doesn't show any visual feedback, Fn + F7 also doesn't produce any visual feedback. Don't know if those are expected behavior. If you need more testing let me know.

 

Best wishes,

Junaed

 

Link to comment
Share on other sites

5 hours ago, junaed.rx said:

Hi @MSzturc,

 

I have tested your application it works marvellously. Thanks for this application, it does make feel thinkpad a native mac.

The Fn + F10 key doesn't produce spotlight, it toggles between input source and Fn + F11 does nothing. Wifi enable doesn't show any visual feedback, Fn + F7 also doesn't produce any visual feedback. Don't know if those are expected behavior. If you need more testing let me know.

 

Best wishes,

Junaed

 

 

Okay i noticed a couple of bugs in your Video,

 

first at all the HUD UI should be rendered on the exact same position as the standard macos HUD. I use hidpi with 1424x802 pixels. Changing it to 1280x720 pixels messed the ui up. This is a bug i will fix in the next days

 

Another bug i noticed is on the WLAN HUD, im not sure why the Background is not faded away. I will investigate this in the next days

 

Spotlight (F10) and Mission Control (F11) should work natively without Thinkpad Assistant. Are you using my SSDT-KBRD.dsl?

 

@tluck Thx for accepting my pull request.

 

Link to comment
Share on other sites

7 hours ago, MSzturc said:

first at all the HUD UI should be rendered on the exact same position as the standard macos HUD. I use hidpi with 1424x802 pixels. Changing it to 1280x720 pixels messed the ui up. This is a bug i will fix in the next days

 

Another bug i noticed is on the WLAN HUD, im not sure why the Background is not faded away. I will investigate this in the next days

 

I've released Version 1.1 on github. Both bugs should be fixed

Link to comment
Share on other sites

10 hours ago, MSzturc said:

 

I've released Version 1.1 on github. Both bugs should be fixed

Hi @MSzturc,

WLAN enable still doesn't produce any icon but functionality works. And a suggestion could you make the appllcation as Launch Daemon so that if I quit it from menu bar it still runs in the background.

 

best wishes,

Junaed

Link to comment
Share on other sites

On 4/25/2020 at 4:01 AM, junaed.rx said:

Hi @MSzturc,

WLAN enable still doesn't produce any icon but functionality works. And a suggestion could you make the appllcation as Launch Daemon so that if I quit it from menu bar it still runs in the background.

 

best wishes,

Junaed

Hi @junaed.rx

 

i believe that disabling your WLAN Card causes a timeout in the application that breaks the rendering of the HUD. Since im not able test this bug on my own so i created a fixed version that uses an asynchronous call for disabling / enabling Wi-Fi. Not sure if this has some other side-effects. Please test it an report me your results

 

ThinkpadAssistant.app.zip

Link to comment
Share on other sites

47 minutes ago, MSzturc said:

Hi @junaed.rx

 

i believe that disabling your WLAN Card causes a timeout in the application that breaks the rendering of the HUD. Since im not able test this bug on my own so i created a fixed version that uses an asynchronous call for disabling / enabling Wi-Fi. Not sure if this has some other side-effects. Please test it an report me your results

 

ThinkpadAssistant.app.zip

Hi @MSzturc,

 

Just tested the uploaded version. This one works perfectly.

Link to comment
Share on other sites

 Share

×
×
  • Create New...