Krim404 Posted December 31, 2016 Share Posted December 31, 2016 (this got deleted in another forum out of political reasons) What is HWP? HWP is a technology introduced in Skylake which lets the CPU select its own stepping speed without the usage of the CPU Multiplier. Additionally it trottles/boosts itself much faster, which improoves overall CPU performance. With enabled HWP you dont need to create SSDTs with CPU P-States anymore. This is also already implemented in newer clover versions.goodwin_c posted this in the (now deleted) Dell XPS 15 compatibility thread, but i think his development is very interesting for everyone - for Desktops and Notebooks.When do you need this KEXT? your computer uses a Intel Skylake or newer you dont want to create frequency vectors you want more performance and/or lower energy consumption Download: https://github.com/goodwin/HWPEnable(Install the kext in S/L/E) goodwin_c said: - My changes for HWP support in Clover are already in repo and will be included into next build https://sourceforge.net/p/cloverefiboot/code/3879/- Fully rewrote my kext. I like it now! You can got it here https://github.com/goodwin/HWPEnable- Normal support of HWP needs not only CPU configuration, but also frequencyVectors with HWP flag. Currently in El Capitan this is only MacBook9,1. So who want to have best possible CPU performance with incredible battery life - change your smbios to MacBook9,1. Also, for those who has generated ssdt.aml - delete it and forget, we don't need it anymore bcz HWP will handle all power management! YarrrSo now my kext have some configuration in Info.plist. Also you can manually change your performance profile with new command line tool. If somebody wants - you can make GUI for it As for me cli tool is more than enough.So let's do some description:In Info.plist:- you can disable HWP enabling by kext with "HWPenable"- you can disable automatic HWP profile setting on kext load with "HWPSetDeaults"- you can set automatic HWP profile with "HWPDeaultVal"You can read current HWP profile until working ins OS X with next command:./hwpenabler rd_reqYou can set current HWP profile until working ins OS X with next command:./hwpenabler wr_req <HEX_VAL>Where <HEX_VAL> is hexidecimal value for HWP settings cpu register. So, this setting looks scary as for now... lets learn a little...Lets check example:80002301 - you can divide into four parts:80 - EPP profile (performance preference), can be value from 00 to FF (from 0 to 255 in decimal). Bigger value - more aggresive battery saving. With FF most part of time you CPU will be on lowest frequency. Find out what you like more Default is decimal 128 that gives 80 in hex00 - reserved, should be zero23 - maximum frequency, from hex 23 will give 35 that is maximum turbo freq for i7-6700HQ. If you have different CPU or you want to limit max freq - change this01 - lowest frequency, just keep it as 01So, looking on that, we can make few profiles:80002301 - middle point64002301 - little more performance (moderate mode)94002301 - little more battery saving (same setting as on real MacBook9,1)Happy using guys!P.S. Forgot one more detail! New kext now loads automatically with system, no need to load it manually on each reboot! 1 Link to comment Share on other sites More sharing options...
JahStories Posted January 1, 2017 Share Posted January 1, 2017 Really interesting, do you know if it works even with different smbios? Link to comment Share on other sites More sharing options...
JahStories Posted January 1, 2017 Share Posted January 1, 2017 I can confirm it's working using 13,1 smbios, I just have to understand how to keep it working after sleep. Link to comment Share on other sites More sharing options...
scj312 Posted January 2, 2017 Share Posted January 2, 2017 Is using the kext unnecessary with the Clover option enabled? Link to comment Share on other sites More sharing options...
Krim404 Posted January 7, 2017 Author Share Posted January 7, 2017 Is using the kext unnecessary with the Clover option enabled? either the clover option, or the kext. no need for both. I can confirm it's working using 13,1 smbios, I just have to understand how to keep it working after sleep. 2.1 Keep Speed Shift after sleep To retain Speed Shift after resume from sleep, you need to follow a few simple steps. Otherwise, Speed Shift won't work after your system slept. Kinda pointless. Thanks to DELL we don't have Speed Shift enabled in our BIOS, so we need to help ourselves. Create a file called '.wakeup' and fill it with the following: kextunload -b good.win.HWPEnablerkextload -b good.win.HWPEnabler Install Homebrew Issue the following commands in terminal from the location of your .wakeup file chmod +x .wakeup sudo cp .wakeup /var/root/brew install sleepwatcher sudo brew services start sleepwatcher Done. Remember: It's either Speed Shift or SSDT.aml patching via Pike R. Alpha for Power Management, not both. 1 Link to comment Share on other sites More sharing options...
tluck Posted February 17, 2017 Share Posted February 17, 2017 good stuff here. note: using HWPenabled with clover does work... but one will may also need to edit the X86Platform resources file to change FrequencyVector data - to properly set the min-p state and/or EPP (energy performance preference) values to match your specific CPU and Product Model. for example, I use product MPB13,1 which seems to use properties from file: Mac-473D31EABEB93F9B.plist Link to comment Share on other sites More sharing options...
chenrui999 Posted March 30, 2017 Share Posted March 30, 2017 Hi syscl Does the HWPEnabler has a desktop version for the skylakes? My 6700T has 13 steps W/O any setting after a new installation, but put HWPEnabler into SLE and rebuild..., only working with the lowest and top 2 steps, total 3 steps. Link to comment Share on other sites More sharing options...
Recommended Posts