Jump to content

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


tluck
 Share

1,289 posts in this topic

Recommended Posts

I updated the zip today:

 

  • clover 3994 - for Sierra 10.12.4 support
  • voodooPS2 kext - added Full HW reset for startup
  • updated sample DSDT since i updated to BIOS 1.21 - no substantial changes in this regard.
  • add some nvram save updates and install script - i am using a LogoutHook vs CloverDaemon sleep loop to save nvram.plist to the ESP

diff between zip (old) and current zip:


$ diff -rq T460-distribute-old T460-distribute|differ
diff T460-distribute-old/DSDT.T460/DSDT.dsl T460-distribute/DSDT.T460/DSDT.dsl
diff T460-distribute-old/EFI/BOOT/BOOTX64.efi T460-distribute/EFI/BOOT/BOOTX64.efi
diff T460-distribute-old/EFI/CLOVER/ACPI/patched/DSDT.aml T460-distribute/EFI/CLOVER/ACPI/patched/DSDT.aml
diff T460-distribute-old/EFI/CLOVER/CLOVERX64.efi T460-distribute/EFI/CLOVER/CLOVERX64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/AppleImageCodec-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/AppleImageCodec-64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/AppleUITheme-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/AppleUITheme-64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/EmuVariableUefi-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/EmuVariableUefi-64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/FSInject-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/FSInject-64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/FirmwareVolume-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/FirmwareVolume-64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/OsxAptioFix2Drv-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/OsxAptioFix2Drv-64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/OsxAptioFixDrv-64.efi.NotUsed T460-distribute/EFI/CLOVER/drivers64UEFI/OsxAptioFixDrv-64.efi.NotUsed
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/SMCHelper-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/SMCHelper-64.efi
diff T460-distribute-old/EFI/CLOVER/drivers64UEFI/VBoxHfs-64.efi T460-distribute/EFI/CLOVER/drivers64UEFI/VBoxHfs-64.efi
diff T460-distribute-old/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/Info.plist T460-distribute/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/Info.plist
diff T460-distribute-old/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist T460-distribute/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist
diff T460-distribute-old/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/Info.plist T460-distribute/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/Info.plist
diff T460-distribute-old/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist T460-distribute/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist
diff T460-distribute-old/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/MacOS/VoodooPS2Trackpad T460-distribute/EFI/CLOVER/kexts/Other/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/MacOS/VoodooPS2Trackpad
diff T460-distribute-old/EFI/CLOVER/tools/bdmesg.efi T460-distribute/EFI/CLOVER/tools/bdmesg.efi
Only T460-distribute/Utilities/clean-esp.bash
Only T460-distribute/Utilities/nvram_save_patch.bash
diff T460-distribute-old/Utilities/root/Library/Application\ Support/Clover/CloverDaemon T460-distribute/Utilities/root/Library/Application\ Support/Clover/CloverDaemon
Only T460-distribute/Utilities/root/Library/Application\ Support/Clover/CloverDaemon-stopservice
diff T460-distribute-old/Utilities/root/etc/rc.shutdown.d/80.save_nvram_plist.fixed T460-distribute/Utilities/root/etc/rc.shutdown.d/80.save_nvram_plist.fixed

diff T460-distribute-old/Utilities/root/etc/rc.shutdown.d/80.save_nvram_plist.local T460-distribute/Utilities/root/etc/rc.shutdown.d/80.save_nvram_plist.local

Link to comment
Share on other sites

@Tluck, do you have your iMessage and FaceTime activated? I tried to activate both following the iDiot's Guide to iMessage, but always get to call apple support. Also interestingly, when I use MacBookPro13,2, the memory becomes 4G instead of 8G I have. I probably need to go back to 11,1.

Link to comment
Share on other sites

yes i have iMessage ...

 

MBP11,1 model

 

ROM = ethernet MAC addr (without semi colons )

MLB =  C02....31M

 

MLB ... ODD is only 16 Characters. - yeah - i dont know how but i somehow only 16 instead of 17!

Link to comment
Share on other sites

yes i have iMessage ...

 

MBP11,1 model

 

ROM = ethernet MAC addr (without semi colons )

MLB =  C02....31M

 

MLB ... ODD is only 16 Characters. - yeah - i dont know how but i somehow only 16 instead of 17!

 

Are these values from a real mac or did you generate them the usual way?

 

did you call apple support or it just worked? 

 

+1 on the same question.

 

iMessage and Facetime will drive me nuts...

Link to comment
Share on other sites

@superbboy - did you click inject and set fakeID? i don't mess with that setting in BIOS - that is not about DVMT.

 

@barrrrt - it seems the audio on HDMI works with or without the patch. i like to patch the right side port to indicate HDMI vs DP.  i really dont know what difference this makes though.

 

when i look at the various frame buffer settings https://pikeralpha.wordpress.com/2016/03/25/os-x-10-11-4-build-15e65-and-skylake-graphics-support

 

i see:

 

0204 0a00 0004 0000 8701 0000

0204 0a00 0004 0000 c701 0000 

 

not sure what 87 vs c7 does. maybe something to try.

 

the combo 0a00 0004 - is for DP (0004)

 

so i changed to 

0204 1200 0008 - HDMI (0008) - which has been working for me quite well.

vs

0204 0900 0008 - which is a common setting for HDMI frame buffers historically.

@tluck, 8700 and c701 is OK, just leave it as is. For example:

0204 0a00 0004 0000 8701 0000

should be changed to 

0204 0a00 0008 0000 8701 0000

to enable HDMI @port 0204. 

 

syscl

Link to comment
Share on other sites

@syscl -  Happy new year and thanks for the response!

 

yup. I keep my buffer times as original - these were for a test trying to see if these could help barrrrt on his dock issue.

Interesting to note HDMI audio works the same for either value 0004 or 0008 - meaning it works without or without changing this value. 

So I change just the right side port to 0008 since it is an HDMI port. for the mini DP, I leave as 0004.

 

@Asxetos and @superkwn - iMessage

i didn't call apple - it just worked.  i just set ROM and MLB in RtVariables section of config.plist

 

 

and notice on 10.12.4 PB1 - IntelBacklight.kext doesn't work. The LCD Panel stays at max brightness. 

Link to comment
Share on other sites

Hello,

 

Today I finally put Sierra on it, and it works well. But with Clover Configurator I tried to change SMBIOS with Macbook 13,3, and then I had kernel panic. Do you know why? And what to do in that case?

I did it because of the ssdtPRGen.sh script.

 

I have this error : Error: board-id [Mac-7DF21CB3ED6977E5] not supported by Skylake – check SMBIOS data / use the -c option

 

Thanks

 

Finally MacbookPro 13,1 is working and not 13,3 for information

Link to comment
Share on other sites

@tluck,

I found a strange thing about the BT.

When I connected my notebook with the power,  the BT could wake up very well. But when I plugged off the power, the BT would not available after waked up. It happened several times

And sometimes the BT would always be unavailable , I had to following the steps to get the BT back:

- delete  /Library/Preferences/com.apple.Bluetooth.plist

- rebuild the kext cache (sudo touch /System/Library/Extension && sudo kextcache -u /)

- shutdown the notebook

- reboot the notebook

@superbboy

 

the sleeper watcher script essentially shuts down WiFi and Ethernet before sleep. This seemed to help fix some issues mostly about Ethernet. This doesn't address your issues with BT.

 

These combo chips are interesting and tricky:  the WiFi part of the chip is a PCI device - EXP3, where as the BT part of the chip is a USB device - XHC port HS07 .  Anyway yeah i rewrote the BroadcomPatchRam kext because i was seeing similar issues - that on wake, BT was gone or actually stuck in a zombie state. 

 

there seems to be a race to wake up all the USB devices upon wake. And when the BT device is awake on the USB device, the broadcom kext checks its firmware so see if it needs to be reloaded (these chips  have their firmware dynamically loaded). So anyway if the device is not fully awake or ready on the USB bus, the kext would choke on loading firmware.

 

So my "fix" was to slow this firmware process down - sleep for a few hundred milliseconds. the net i see a problem with BT about 1 in 100 wakes now. 

Perhaps the kext needs to be further "tuned" (add more sleep time) for your device?

Link to comment
Share on other sites

are you using the DSDT in the zip? this has some fixes for LED on sleep/wake.

 

what is your hibernate mode? blanking i think you mean blinking on/off fast. i have seen that before.

 

but on my system LED is on solid (no blinking) until sleep. then it slowly goes off and slowly comes on.

Link to comment
Share on other sites

LED blinking works on my T460s during sleep. I followed exactly the instructions (DSDT patching) in the zip.

 

@tluck, I have some interesting findings on battery and speedsteps. Not sure if both apply to your machine. For battery, it seems that each charging will be counted twice (2 cycles) on the two internal batteries. In windows, discharging and recharging on the involved battery will be counted once (one cycle).  So if the discharging hasn't reach the other battery, only the discharged battery cumulates one cycle count. For speedstep, if I use your config file in the zip, the speedster can go down to x5. But if I use magic wand tool to define Macbookpro11,1, the speedster can only go down to x13. this will affect the battery life certainly. Have you noticed any of the two?


@tluck, also if I exchange the screen to WQHD, any additional work needed and if the hiDPI will work?

Link to comment
Share on other sites

i have 2 batteries and have not looked at the charge count. so you are saying that each battery gets a count of 2 cycles instead of just 1 per battery? how does macOS know there are 2 batteries - i am not an expert in this area.

 

my speedstep goes to down to x5 495mhz. what is the magic wand tool?

 

i am not sure about res beyond 1920x1080?

Link to comment
Share on other sites

I also installed windows 10 on my T460s dual boot. in Windows 10, lenovo settings will tell you battery health including cycle count. several days ago, I logged in windows and looked at the cycle count and both of the two are 3. Then I logged out and logged into macOS and use the laptop under battery till about 34% and recharged it over night. Next day, when I looked into windows again, both cycle count became 5. Should be 4 for both.

 

 magic wand tool is the one MBIOS section of the clover that defines machine type if you use clover configurator.  

i have 2 batteries and have not looked at the charge count. so you are saying that each battery gets a count of 2 cycles instead of just 1 per battery? how does macOS know there are 2 batteries - i am not an expert in this area.

 

my speedstep goes to down to x5 495mhz. what is the magic wand tool?

 

i am not sure about res beyond 1920x1080?

Link to comment
Share on other sites

@syscl -  Happy new year and thanks for the response!

 

yup. I keep my buffer times as original - these were for a test trying to see if these could help barrrrt on his dock issue.

Interesting to note HDMI audio works the same for either value 0004 or 0008 - meaning it works without or without changing this value. 

So I change just the right side port to 0008 since it is an HDMI port. for the mini DP, I leave as 0004.

 

@Asxetos and @superkwn - iMessage

i didn't call apple - it just worked.  i just set ROM and MLB in RtVariables section of config.plist

 

 

and notice on 10.12.4 PB1 - IntelBacklight.kext doesn't work. The LCD Panel stays at max brightness. 

Wow, you too, happy New Year, though I'm a bit late response due to my homework assignments this week. 

 

Thanks, have a nice year :)

 

syscl

Link to comment
Share on other sites

 Share

×
×
  • Create New...