Jump to content

[GUIDE] HWP(Intel Speed Shift) enable with full power management


  • Please log in to reply
109 replies to this topic

#1
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

For those who experience incomplete power management with the HWP, here's the solution 

  • [Updated: 2017-02-11] @dpassmore suggested me to use tiny SSDT method to inject Plugin-Type instead of using ssdtPRGen. Here's the refined SSDT-pr I made(use _DSM)

Attached File  SSDT-pr.aml.zip   286bytes   140 downloads

  • HWPEnable = Yes
  • Piker's MSR 0xE2 lock patch to fix instant reboot(in KernelToPatch)
Comment: MSR 0xE2 _xcpm_idle instant reboot (c) Pike R. Alpha
MatchOS: 10.12
Find:    20b9e200 00000f30  
Replace: 20b9e200 00009090 

Through Clover config.plist

<key>KernelToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>MSR 0xE2 _xcpm_idle instant reboot(c) Pike R. Alpha</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				ILniAAAADzA=
				</data>
				<key>MatchOS</key>
				<string>10.12</string>
				<key>Replace</key>
				<data>
				ILniAAAAkJA=
				</data>
			</dict>
		</array>
  • choose HWP support model, e.g. MacBook9,1, MacBookPro13,1, MacBookPro13,2, MacBookPro13,3

Here's the proof from my XPS 13 9350(Iris 540 model)

Attached File  Snip20170209_5.png   436.15KB   91 downloads

 

Note: for better battery life and cpu temperature, you also need to tune with X86PlatformPlugin.kext/Contents/Resources, I injected more power management properties for  i7-6560:

  • Base frequency: 2.20Ghz
  • Max turbo frequency: 3.20Ghz
  • I even lower 6550's threshold down to 0.50Ghz which can never achieve while using MacBookPro13,2 with vanilla X86PlatformPlugin.kext
  • power_reduced_playback
  • thermally_optimized_xcode
  • optimized_photobooth
  • thermally_optimized_xcode
  • optimized_screensavers
  • optimized_slideshows
  • optimized_visualizers
  • thermally_optimized_maps

the rest with optimized_* and thermall_*, powe_reduced* are extracted from MacBook9,1's config file: Mac-9AE82516C7C6B903.plist, here's where to change:

Attached File  Snip20170209_9.png   478.86KB   97 downloads

 

The temperate and frequency are pretty well now!

I will post more detail about how to tune the frequency vector later. But, since I have 2 dues and 2 mid terms soon, my post will be slow.

 

credit Pike R. Alpha(_xcpm_idle patch stop the kernel panic)

credit David Passmore(SMBios solution such that all Dell Skylake laptop can enjoy this flash function)

​credit syscl (full HWP Enable)

 

Good luck,

syscl



#2
cjfly

cjfly

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts
  • Gender:Female
  • Location:HongKong

Wow, it's amazing you finally release the method you mentioned a few months ago. Means it is finally stable enough to release?

:lol:



#3
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

Wow, it's amazing you finally release the method you mentioned a few months ago. Means it is finally stable enough to release?

:lol:

Thank you J*F*(I've hidden her/his name intentionally to save her/his privacy). Actually, I've tested quiet a long time, but I never release this method in any of my blogs because I'm afraid it's unstable. Till now, I am a bit sure it will work as expect. 

 

Thank you,

syscl



#4
nomadturk

nomadturk

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts

Does this method work with iMac 17.1 SMBIOS?



#5
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

Does this method work with iMac 17.1 SMBIOS?

Sorry, I don't know if iMac 17.1 supported HWP or not, and I haven't had time. In theory, you can copy MacBookPro133's freqv to iMac17,1 which will make your iMac17,1 support HWP's config.

 

syscl



#6
slayer2333

slayer2333

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 331 posts
  • Gender:Male

This method (the SSDTPrgen part) is not yet working with MBP 13,x and a skylake CPU as reported here:

 

https://github.com/P...n.sh/issues/293

 

The HWP option by itself works but the ssdt.aml generated causes a kernel panic.



#7
nomadturk

nomadturk

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts

Actually, I tried before with clover method without SSDTPrgen. I activated the HWP using 0x80002A01 value for i76700K. Then when i check it with AppleIntelInfo.kext HWP has enabled. However, once the system wakes up, I realise that HWP is not enabled. Did you check that HWP is active after system wakes?



#8
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

This method (the SSDTPrgen part) is not yet working with MBP 13,x and a skylake CPU as reported here:

 

https://github.com/P...n.sh/issues/293

 

The HWP option by itself works but the ssdt.aml generated causes a kernel panic.

First, I can 100% sure to tell you it work because I've tested this method about a month long! And bugman who has posted the issue in the link you post has just told me the successful result by using my method:

Attached File  Snip20170209_14.png   187.27KB   45 downloads

 

Attached File  Snip20170209_15.png   260.35KB   45 downloads

 

syscl


Actually, I tried before with clover method without SSDTPrgen. I activated the HWP using 0x80002A01 value for i76700K. Then when i check it with AppleIntelInfo.kext HWP has enabled. However, once the system wakes up, I realise that HWP is not enabled. Did you check that HWP is active after system wakes?

Use Clover to active HWP, not the kext.

 

syscl



#9
nomadturk

nomadturk

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts

I didn't say I use any kext for HWP. :yes:  Just in Clover; HWPEnable= True / HWP Value= 0x80002A01



#10
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

I didn't say I use any kext for HWP. :yes:  Just in Clover; HWPEnable= True / HWP Value= 0x80002A01

OK, sorry, I haven't even realized there's HWP value in Clover's setting. And, I barely sleep XPS 13 these days, because there may be data corruption(don't know why!).

 

With this method, you need ssdtPRGen to generate SSDT-pr, otherwise you won't get complete PowerManagement.

 

syscl



#11
PMheart

PMheart

    InsanelyMac Legend

  • Coders
  • 510 posts
  • Gender:Female
  • Location:Singapore

Does this method work with iMac 17.1 SMBIOS?

No. iMac17,1 does not support HWP in its vanilla FrequencyVectors...



#12
idaima

idaima

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts

it's good news. i boot system success with ssdt and hwp ,x86 is load success,please check it by yourself~
thanks syscl and pike

my laptop is asus ux501vw ,i7-6700hq,smbios 13,3


This method (the SSDTPrgen part) is not yet working with MBP 13,x and a skylake CPU as reported here:

 

https://github.com/P...n.sh/issues/293

 

The HWP option by itself works but the ssdt.aml generated causes a kernel panic.

Use syscl's method ,you can boot system now,it's ok~ kp problem has fixed by this method~ 

byw,i'm bugman,i have tested~



#13
slayer2333

slayer2333

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 331 posts
  • Gender:Male

Mmm i must've done something wrong here? What i did:

-Acitvated HWP through clover (did not add any options for CPU other than that)

-Generated the ssdt.aml with the latest Pike's script

-Using MBP 13,3 Smbios.

-Using the provided patch in clover (against instant reboot) - This may be the culprit (i have KernelPm activated in Clover). I guess your patch replaces this.

 

Will try again now and report back (without KrnelPm in Clover).



#14
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

Mmm i must've done something wrong here? What i did:

-Acitvated HWP through clover (did not add any options for CPU other than that)

-Generated the ssdt.aml with the latest Pike's script

-Using MBP 13,3 Smbios.

-Using the provided patch in clover (against instant reboot) - This may be the culprit (i have KernelPm activated in Clover). I guess your patch replaces this.

 

Will try again now and report back (without KrnelPm in Clover).

You need KernelPM as well if your BIOS lock the MSR 0xE2. They are different patches.

 

syscl



#15
slayer2333

slayer2333

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 331 posts
  • Gender:Male

You need KernelPM as well if your BIOS lock the MSR 0xE2. They are different patches.

 

syscl

Yeah just tested now.  No imediate reboot without KernelPm but it hangs right after it loads OsxAptioFixDrv-64.efi

Only choice was to re-activate KernelPm and drop ssdt.aml to get the system to boot.



#16
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

Yeah just tested now.  No imediate reboot without KernelPm but it hangs right after it loads OsxAptioFixDrv-64.efi

Only choice was to re-activate KernelPm and drop ssdt.aml to get the system to boot.

What system you use? Do you touch X86PlatformPlugin.kext before?

 

syscl



#17
slayer2333

slayer2333

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 331 posts
  • Gender:Male

What system you use? Do you touch X86PlatformPlugin.kext before?

 

syscl

I have an Alienware 15 r2 laptop (intel CPU 6820HK).  X86PlatformPlugin.kext never altered, still vanilla.

Attached my Clover Folder if it can be of any help.

Attached File  CLOVER.zip   1.59MB   18 downloads


Well actually i think i found the problem, i added your patch to Kexttopatch instead of KernelToPatch.  Misread your post :)

Will try again now.



#18
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

I have an Alienware 15 r2 laptop (intel CPU 6820HK).  X86PlatformPlugin.kext never altered, still vanilla.

Attached my Clover Folder if it can be of any help.

attachicon.gifCLOVER.zip


Well actually i think i found the problem, i added your patch to Kexttopatch instead of KernelToPatch.  Misread your post :)

Will try again now.

Yes something messed up in your Clover, try this one

 

Attached File  CLOVER.zip   1.64MB   42 downloads

 

Report here.

 

syscl



#19
slayer2333

slayer2333

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 331 posts
  • Gender:Male

Yes something messed up in your Clover, try this one

 

attachicon.gifCLOVER.zip

 

Report here.

 

syscl

Yes, working now, wrong section where i put the patch originally.

Good job !



#20
syscl

syscl

    InsanelyMac Geek

  • Coders
  • 202 posts
  • Gender:Male

Yes, working now, wrong section where i put the patch originally.

Good job !

Note: I also removed all your dynamic tables(SSDT-*x.aml).

 

syscl







2 user(s) are reading this topic

2 members, 0 guests, 0 anonymous users


© 2016 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy