Jump to content

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


tluck
 Share

1,289 posts in this topic

Recommended Posts

@tluck Just a heads un on your last release (2019.01.24):

 

- VoodooPS2Controller, produces a kernel panic when trying to be unloaded. 

- ACPIBatteryManager doesn't provide batter percetange.

 

I solved both of those issues by reverting to the previous release (2018.06.05) kext versions.

Link to comment
Share on other sites

On 2/26/2019 at 2:49 AM, carlinyos said:

@tluck Just a heads un on your last release (2019.01.24):

 

- VoodooPS2Controller, produces a kernel panic when trying to be unloaded. 

- ACPIBatteryManager doesn't provide batter percetange.

 

I solved both of those issues by reverting to the previous release (2018.06.05) kext versions.

 

I think @tluck did remove the unload of VoodooPS2Controller from the rc.d/sleep scripts so that should not have been a problem. If you just upgraded your system with the newer package from tluck, its possible that your system is still using the existing rc.d/sleep scripts which try to unload the VoodooPS2Controller and causes kernel panic for few (I said few because it doesn't panic for me). But in any case, reinstall the rc.d/scripts from the utilities folder.

Edited by nijhawank
Link to comment
Share on other sites

On 2/26/2019 at 10:33 PM, nijhawank said:

 

For T460 you don't need ACPIBatteryManager. The latest package uses WhateverGreen for the backlight brightness changes.

 

And I think @tluck did remove the unload of VoodooPS2Controller from the rc.d/sleep scripts so that should not have been a problem. If you just upgraded your system with the newer package from tluck, its possible that your system is still using the existing rc.d/sleep scripts which try to unload the VoodooPS2Controller and causes kernel panic for few (I said few because it doesn't panic for me). But in any case, reinstall the rc.d/scripts from the utilities folder.

Weird, since it was from a clean install on Sierra with the latest package 2019.01.24. 

 

ACPIBattery isn't for battery percentage?

On 2/27/2019 at 1:51 AM, nijhawank said:

People who have T460, can you please list the highest BIOS/UEFI firmware version that your laptop has?

1.40 of february 14th

Link to comment
Share on other sites

11 hours ago, carlinyos said:

ACPIBattery isn't for battery percentage?

My bad.. don't know if I was dreaming but I read ACPIBattery as ACPIBrightness, sorry for causing the confusion.

 

ACPIBattery is still the right kext for showing battery status. Hope you are not using any stale DSDTs which could be the cause of non-working brightness. 

12 hours ago, carlinyos said:

1.40 of february 14th

 

You mean "February 14th of 2019". You must have recently upgraded your UEFI Firmware then. Did you re-patched your DSDT after doing this? Because that could be the reason for your non-working battery status.

Link to comment
Share on other sites

20 hours ago, nijhawank said:

My bad.. don't know if I was dreaming but I read ACPIBattery as ACPIBrightness, sorry for causing the confusion.

 

ACPIBattery is still the right kext for showing battery status. Hope you are not using any stale DSDTs which could be the cause of non-working brightness. 

 

You mean "February 14th of 2019". You must have recently upgraded your UEFI Firmware then. Did you re-patched your DSDT after doing this? Because that could be the reason for your non-working battery status.

Yes, I did re-patch my DSDT! 

Until it gets fixed, I'll be using the previous kext versions (which seem to work).

Link to comment
Share on other sites

On the X1C4 audio: the amazing @insanelyDeepak has provided here a version of AppleALC.kext and some instructions that make the audio work fully under Mojave.

 

Update 23-3-2019: now integrated in mainstream AppleALC, no special version required anymore

Edited by DrDude
Link to comment
Share on other sites

  • 2 weeks later...
On 1/4/2019 at 12:52 AM, nijhawank said:

 

My backlight adjustment is working but not all brightness levels are present before the sleep (just between 70 - 100%). After the sleep cycle, all brightness levels are present.

 

From the WEG documentation...

  • igfxcflbklt=1 boot argument (and enable-cfl-backlight-fix property) to enable CFL backlight patch
  • applbkl=0 boot argument to disable AppleBacklight.kext patches for IGPU

Isn't the boot flag (igfxcflbklt and related property in config.plist) only for Coffylake? T460 is Skylake and I assume that applbkl=0 boot entry controls for everything other than coffylake and I assume that by default WEG applies the backlight patches and applblk=0 is only needed to disable backlight patches?

 

Is the understanding correct?

Hello @nijhawank,

 

I am facing the exactly same problem you described here. Did you get it working, I can't find any solution.

If you solved it, could you share the procedure please.

 

I am attaching my EFI folder If any one want to look at..

EFI.zip

Link to comment
Share on other sites

10 hours ago, junaed.rx said:

Hello @nijhawank,

 

I am facing the exactly same problem you described here. Did you get it working, I can't find any solution.

If you solved it, could you share the procedure please.

 

I am attaching my EFI folder If any one want to look at..

EFI.zip

Nope. I couldn't fix this problem. I tried every possible way.

Link to comment
Share on other sites

@junaed.rx and @nijhawank 

please run these 2 commands for me and provide the output.

 

ioreg -x -p IOService -n PNLF -r
ioreg -x -p IOService -n AppleIntelPanelA -r

 

on my dell it looks like this - your _UID should be 16

 

$ ioreg -x -p IOService -n PNLF -r

+-o PNLF@0  <class IOACPIPlatformDevice, id 0x1000001a2, registered, matched, active, busy 0 (7 ms), retain 9>

  | {

  |   "compatible" = <6261636b6c6967687400>

  |   "AppleBacklightAtBoot" = 0x10c0

  |   "AppleMaxBrightness" = 0xad0

  |   "_UID" = "15"

  |   "device-properties" = {"acpi-device"="IOACPIPlatformDevice is not serializable","acpi-path"="IOACPIPlane:/_SB/PCI0@0/IGPU@20000/PNLF@0"}

  |   "ApplePanelRawBrightness" = 0xad0

  |   "_STA" = 0xb

  |   "_ADR" = 0x0

  |   "name" = <4150503030303200>

  | }

  | 

  +-o AppleIntelPanelA  <class AppleIntelPanelA, id 0x100000216, !registered, !matched, active, busy 0, retain 5>

 

$ ioreg -x -p IOService -n AppleIntelPanelA -r

+-o AppleIntelPanelA  <class AppleIntelPanelA, id 0x100000216, !registered, !matched, active, busy 0, retain 5>

    {

      "IOProbeScore" = 0x1388

      "CFBundleIdentifier" = "com.apple.driver.AppleBacklight"

      "IOMatchCategory" = "IODisplayParameters"

      "IOClass" = "AppleIntelPanelA"

      "IOProviderClass" = "IOACPIPlatformDevice"

      "IOPersonalityPublisher" = "as.vit9696.WhateverGreen"

      "IONameMatch" = "backlight"

      "IONameMatched" = "backlight"

      "IODisplayParameters" = {"brightness"={"max"=0xff,"min"=0x28},"commit"={"reg"=0x0}}

      "ApplePanel" = {"Default"=<000007400af7fffe>}

    }

Link to comment
Share on other sites

@tluck

hello,

I run those command and my my _UID is showing 16 in first command. I am using AddPNLF clover DSDT fix but with SSDT-PNLF.aml the result is same.

 

MacBook-Pro:~ junaed$ ioreg -x -p IOService -n PNLF -r

+-o PNLF  <class IOACPIPlatformDevice, id 0x100000168, registered, matched, active, busy 0 (5 ms), retain 8>

  | {

  |   "compatible" = <6261636b6c6967687400>

  |   "AppleBacklightAtBoot" = 0x56c

  |   "AppleMaxBrightness" = 0x56c

  |   "_UID" = "16"

  |   "ApplePanelRawBrightness" = 0x8a

  |   "_STA" = 0xb

  |   "name" = <4150503030303200>

  | }

  | 

  +-o AppleIntelPanelA  <class AppleIntelPanelA, id 0x100000213, !registered, !matched, active, busy 0, retain 5>

 

 

MacBook-Pro:~ junaed$ ioreg -x -p IOService -n AppleIntelPanelA -r

+-o AppleIntelPanelA  <class AppleIntelPanelA, id 0x100000213, !registered, !matched, active, busy 0, retain 5>

    {

      "IOProbeScore" = 0x1388

      "CFBundleIdentifier" = "com.apple.driver.AppleBacklight"

      "IOMatchCategory" = "IODisplayParameters"

      "IOClass" = "AppleIntelPanelA"

      "IOProviderClass" = "IOACPIPlatformDevice"

      "IOPersonalityPublisher" = "as.vit9696.WhateverGreen"

      "IONameMatch" = "backlight"

      "IONameMatched" = "backlight"

      "IODisplayParameters" = {"brightness"={"max"=0xff,"min"=0x28},"commit"={"reg"=0x0}}

      "ApplePanel" = {"F16Txxxx"=<0011000000180027003a00520071009600c400fc0140019301f6026e02fe03aa0478056c>}

    }

    

 

Link to comment
Share on other sites

hmm. that all look right!

 

but i remember having problems with brightness. so i ended up patching the framebuffers to set Max brightness to be mapped to value 1000 (0x3E8) instead 1388 (0x56c). and then i got nice smooth brightness.

 

"ApplePanel" = {"F16Txxxx"=<0011000000180027003a00520071009600c400fc0140019301f6026e02fe03aa0478056c>}

this string sets 17 values (0x0011) from level 0 to 16 as 0x0000, 0x0018,0x0027 ... 0x056c as the levels of brightness

 

you can override using WEG for brightness in the most recent version by setting applbkl=0 as a boot arg. then you can use the AppleBackLightInjector.kext (but you will need also patch the buffer - which is current a disable kext patch in config.plist)

 

i updated the T460 github files but did not create a new release.

Link to comment
Share on other sites

1 hour ago, tluck said:

hmm. that all look right!

 

but i remember having problems with brightness. so i ended up patching the framebuffers to set Max brightness to be mapped to value 1000 (0x3E8) instead 1388 (0x56c). and then i got nice smooth brightness.

 

"ApplePanel" = {"F16Txxxx"=<0011000000180027003a00520071009600c400fc0140019301f6026e02fe03aa0478056c>}

this string sets 17 values (0x0011) from level 0 to 16 as 0x0000, 0x0018,0x0027 ... 0x056c as the levels of brightness

 

you can override using WEG for brightness in the most recent version by setting applbkl=0 as a boot arg. then you can use the AppleBackLightInjector.kext (but you will need also patch the buffer - which is current a disable kext patch in config.plist)

 

i updated the T460 github files but did not create a new release.

 

Applied your advice but no improvement result is same.

 

The problem is not about brightness control it works smoothly, it is about backlight.

After boot if I change brightness level to below 0x193 then the backlight goes off. I can see in ioreg that brightness value does not go 0x00 to off the backlight,

it goes to 0x140 like normal but still screen backlight goes off.

Link to comment
Share on other sites

15 hours ago, junaed.rx said:

 

Applied your advice but no improvement result is same.

 

The problem is not about brightness control it works smoothly, it is about backlight.

After boot if I change brightness level to below 0x193 then the backlight goes off. I can see in ioreg that brightness value does not go 0x00 to off the backlight,

it goes to 0x140 like normal but still screen backlight goes off.

 

huh. wieird. sorry.

are you saying you tried this method: applbkl=0 + AppleBacklightInjector.kext  + framebuffer patch?

and it was the same? you should see a different range of levels...

Link to comment
Share on other sites

11 hours ago, tluck said:

are you saying you tried this method: applbkl=0 + AppleBacklightInjector.kext  + framebuffer patch?

and it was the same? you should see a different range of levels...

Yes i did exactly that.

I tried before with different _UID, from 10 to 19 but with no luck.

After waking from sleep the brightness control works flawlessly with this range of levels.

 

Its a weird problem some of the thinkpads are suffering.

Below post on tonymacx86 describes the same problem in a t460s

https://www.tonymacx86.com/threads/help-thinkpad-t460s-high-sierra-graphics-backlight.259063/

Link to comment
Share on other sites

I'm running a T460P (which has a Intel 530) on Mojave 14.2 and have a somewhat working laptop using a different config -- save for a black screen on boot (plugging in an HDMI and pulling it out forces the internal display to turn on) and wake from sleep (just getting a black screen, which means the display isn't waking up correctly). Has anybody else here used this same device? I'm getting so frustrated with my current sleep issues / display issues that I'm considering nuking my existing config and trying my hand at @tluck's config here.

Edited by metropolis_
specifying osx version
Link to comment
Share on other sites

VoodooPS2Controller (1.8.25e/f) seems to work the best on my T440p, but there's a big difference between 'normal' speed scrolling and 'slow' scrolling. When swiping slow the scroll is just too slow and stuttering, and then the floodgates open and jumps to 'normal' speed. I've messed around with 'Info.plist' in VoodooPS2Trackpad.kext but I can't figure out what I should change. Any ideas?

Link to comment
Share on other sites

On 3/14/2019 at 9:43 AM, nijhawank said:

Nope. I couldn't fix this problem. I tried every possible way.

hey @nijhawank try using verleihnix config.plist. using his EFI folder got my backlight problem unintentionally solved. Thanks @verleihnix again.

 

The only thing different on verleihnix config from mine is under device tag

<key>FakeID</key>
<dict>
  <key>IntelGFX</key>
  <string>0x0000</string>
</dict>

@tluck could you please add this to your repos config.plist, I think this is required for some of the thinkpads backlight to work properly.

Link to comment
Share on other sites

7 hours ago, junaed.rx said:

hey @nijhawank try using verleihnix config.plist. using his EFI folder got my backlight problem unintentionally solved. Thanks @verleihnix again.

 

The only thing different on verleihnix config from mine is under device tag


<key>FakeID</key>
<dict>
  <key>IntelGFX</key>
  <string>0x0000</string>
</dict>

@tluck could you please add this to your repos config.plist, I think this is required for some of the thinkpads backlight to work properly.

IntelGFX = 0x0000 is the same as not having it.

 

The main difference that I find with verleihnix is that he is using VirtualSMC (and corresponding monitoring kexts) instead of FakeSMC but normally that shouldn't be causing it.

 

But thank you for the pointer, I will try this.

Link to comment
Share on other sites

 Share

×
×
  • Create New...