Contribute
Register

[Guide] How to patch DSDT for working battery status

Hello RehabMan, thank you for your patient and excellent guides. I cannot imagine how you have the time for all this.

I have got the new Lenovo Yoga 710 15" laptop, with the Kaby Lake processor and HD 620 graphics (signature has the config). Before you say it, I know! You have said in many forums and threads that Kaby Lake is not yet supported because Apple does not have any laptops with them yet. But it did not stop me from trying, and I have Sierra running on this laptop. To make the installer boot, I had to add the following under "KernelAndKextPatches". The CPUID belongs to a Skylake CPU, as taken from the Skylake Wikipedia page.

<key>FakeCPUID</key>
<string>0x0506e3</string>
<key>KernelCpu</key>
<true/>​

I have created a set of patches following your guides to make the battery status work. I am attaching all relevant files here (Clover's ACPI/origin and ACPI/patched folders, config.plist and kexts folder). Please do have a look.

Before starting on the battery related DSDT edit, I applied the common patches, as suggested in your [Guide] Patching LAPTOP DSDT/SSDTs. These are:
  • "Fix _WAK Arg0 v2"
  • "HPET Fix"
  • "SMBUS Fix"
  • "IRQ Fix"
  • "RTC Fix"
  • "OS Check Fix"
  • "Fix Mutex with non-zero SyncLevel"
  • "Rename GFX0 to IGPU"

The last one ("Rename GFX0 to IGPU") was applied on the DSDT and all SSDTs.

For the battery related DSDT edit, I referred to the patch you already have for "Lenovo Y580". My patch is very similar to that. If you find my patch useful, maybe you can add it to the repo to help others.

On my laptop, understandably, I don't have graphics drivers working yet, because it is Kaby Lake HD 620. So, my brightness controls (with the brightness fix and IntelBacklight kext) are not working either. The config.plist I am using is based on your example for Skylake HD 520. I am ready to do some research and experimentation. Do you have any suggestions on where to start to get my graphics to work? Maybe the ig-platform-id needs to be changed? That would make my laptop fully functional. Maybe this question belongs in another thread. Please let me know, and I will post it in the relevant place.

If the "Lenovo y580" patch can be used unmodified (or even slightly tweaked), I'd rather do that than add a new patch. Let me know if that is the case, and I'll simply add a comment to the file.

As for graphics ideas, you might try using config.plist/Devices/FakeID/IntelGFX in combination with FakePCIID.kext+FakePCIID_Intel_HD_Graphics.kext. If Kaby Lake graphics are perfectly compatible with Skylake, you may be able to use the SKL kexts as-is. It seems rather unlikely, but you could try...
 
Excuse me RehabMan, I have search battery patches that are provided on your github but I didn't find a kexts for my laptop. Is there a compatible one for my laptop

HP-14AC003TX
Core i5-5200U
Intel HD 5500

Thanks
 
Excuse me RehabMan, I have search battery patches that are provided on your github but I didn't find a kexts for my laptop. Is there a compatible one for my laptop

HP-14AC003TX
Core i5-5200U
Intel HD 5500

Thanks

Read post #1. The only kext you need is ACPIBatteryManager.kext. And there is a suggested trial/error process to discover existing ACPI patches that might work.
 
Read post #1. The only kext you need is ACPIBatteryManager.kext. And there is a suggested trial/error process to discover existing ACPI patches that might work.
Yes, I now have the battery icon but it is showing "X" inside of it. About battery patches, which one should I use or do I have to make my own patch sir?
Screen Shot 2016-12-10 at 11.44.41 AM.png
Screen Shot 2016-12-10 at 11.49.34 AM.png
 
About battery patches, which one should I use or do I have to make my own patch sir?

Read post #1. Carefully. Your question is already addressed directly and clearly.
 
I can report that the patches for the Lenovo Yoga S1 also apply to the Lenovo ThinkPad S540, no changes needed.
 

Attachments

  • Archiv.zip
    63.3 KB · Views: 183
I can report that the patches for the Lenovo Yoga S1 also apply to the Lenovo ThinkPad S540, no changes needed.

Thanks... will add a comment to that effect.
 
If the "Lenovo y580" patch can be used unmodified (or even slightly tweaked), I'd rather do that than add a new patch. Let me know if that is the case, and I'll simply add a comment to the file.

As for graphics ideas, you might try using config.plist/Devices/FakeID/IntelGFX in combination with FakePCIID.kext+FakePCIID_Intel_HD_Graphics.kext. If Kaby Lake graphics are perfectly compatible with Skylake, you may be able to use the SKL kexts as-is. It seems rather unlikely, but you could try...

Hey, thank you again!

Regarding the patch, you just have to add the following 2 lines to the existing Y580 patch:

into method label CFUN code_regex Store\s+\(SMD0,\s+Local1\) replaceall_matched begin Store(\\_SB.PCI0.LPCB.EC0.RSMD(), Local1) end;
into method label CFUN code_regex Store\s+\(Local1,\s+SMD0\) replaceall_matched begin \\_SB.PCI0.LPCB.EC0.WSMD(Local1) end;
And the B1B2 utility method is not used at all in the patch, so it is not needed.

Regarding the graphics, thank you for your suggestion. It works! I added a FakeID of 0x19168086. Then I used the kexts you mentioned. And my graphics is up and running. The menu bar glitch was there, which was fixed using the relevant guide: https://www.tonymacx86.com/threads/fix-skylake-menu-bar-glitch-fix.206400/ . I have attached my IOReg. I guess my QE / CI is working, because my menu bar is translucent. I am not sure how to technically verify QE/CI.

Off to fix my audio! Thanks again!
 

Attachments

  • Anjan’s MacBook Air.ioreg.zip
    730.9 KB · Views: 280
Hello RehabMan, thank you for your patient and excellent guides. I cannot imagine how you have the time for all this.

I have got the new Lenovo Yoga 710 15" laptop, with the Kaby Lake processor and HD 620 graphics (signature has the config). Before you say it, I know! You have said in many forums and threads that Kaby Lake is not yet supported because Apple does not have any laptops with them yet. But it did not stop me from trying, and I have Sierra running on this laptop. To make the installer boot, I had to add the following under "KernelAndKextPatches". The CPUID belongs to a Skylake CPU, as taken from the Skylake Wikipedia page.

<key>FakeCPUID</key>
<string>0x0506e3</string>
<key>KernelCpu</key>
<true/>​
Is KernelCpu=true actually needed, or is FakeCPUID + KernelPm=true enough.
 
Last edited:
Hey, thank you again!

Regarding the patch, you just have to add the following 2 lines to the existing Y580 patch:

into method label CFUN code_regex Store\s+\(SMD0,\s+Local1\) replaceall_matched begin Store(\\_SB.PCI0.LPCB.EC0.RSMD(), Local1) end;
into method label CFUN code_regex Store\s+\(Local1,\s+SMD0\) replaceall_matched begin \\_SB.PCI0.LPCB.EC0.WSMD(Local1) end;
And the B1B2 utility method is not used at all in the patch, so it is not needed.

OK. Will make the changes to the existing y580 patch.

Regarding the graphics, thank you for your suggestion. It works! I added a FakeID of 0x19168086. Then I used the kexts you mentioned. And my graphics is up and running. The menu bar glitch was there, which was fixed using the relevant guide: https://www.tonymacx86.com/threads/fix-skylake-menu-bar-glitch-fix.206400/ . I have attached my IOReg. I guess my QE / CI is working, because my menu bar is translucent. I am not sure how to technically verify QE/CI.

Your ioreg shows working QE/CI...

Nice... Looks like I have some changes and additions to make to the FAQ and guide plist files...
 
Back
Top