Jump to content

PStateMenu - Replacement for PStateChanger


Giuly
 Share

16 posts in this topic

Recommended Posts

Hi,

I use VoodooPState.kext. Maybe that's not really necessary on a Pentium Dual-Core, but I don't really get the DSDT thing.

However, PStateChanger was a resource hog for me - it used >17% of the CPU in the lowest PState (Again, Pentium Dual-Core 2.0GHz). So I had a look, figured out that updating the GUI was the main fault, and rewrote the whole thing.

 

 

1. New Interface

- Less windows-y, more like cpufreq-applet from Gnome. Fits the Mac better. You can customize PStateMenu.app/Resources/cpufreq-xx.png if you don't like the images (google "cpufreq-applet icons")

- More efficient, uses less CPU

bildschirmfoto20110404uc.png

(Yes, the Meter works)

bildschirmfoto20110404ud.png

 

2. Switching based on the theory behind cpufreq-ondemand/conservative (http://www.linuxsymposium.org/archives/OLS/Reprints-2006/pallipadi-reprint.pdf) from Linux (including later improvements):

- CPU utilization based on core with highest load rather than total

- On Demand: When frequency raising is needed, clock it to 100%, next time lower the pState if possible to a state which keeps CPU utilization around 80%

- Conservative: Smooth upscaling, not recommended by anybody, as ondemand clocks higher but gets work faster done. This is kind of what PStateChanger did.

- Switches every 0.18 seconds (CPUFreq switches every 0.11 seconds, but 0.18 cuts the cpu usage by 50% for me)

 

More or less as good as Linux (cpufreq-ondemand is written by Intel guys (Pallipadi et. al.)), AppleIntelCPUManagement.kext shouldn't be much different, too. This is basically a full-fledged Intel Enhanced SpeedStep implementation.

 

Download Binary (32+64Bit)

Version 0.2 (32+64Bit)

Source code

Project homepage

 

You find the latest VoodooPState.kext always on osx86drivers.sourceforge.net

 

Have fun with it.

  • Like 3
Link to comment
Share on other sites

Very cool. I wonder if this would work on older Intel based hackintoshes that can't run the vanilla kernel.

I use VoodooPState.kext. Maybe that's not really necessary on an Pentium Dual-Core, but I don't really get the DSDT thing.

It's not necessary to do anything to your DSDT to get native CPU powermanagement working.

Install Chameleon 2.0 RC5 and add GeneratePStates=y and GenerateCStates=y to your /Extra/com.apple.Boot.plist.

A few other requirements must be met - read this thread for more info:

http://www.insanelymac.com/forum/index.php?showtopic=225766

Link to comment
Share on other sites

I have RC5 rev757(I guess) installed, GeneratePStates and GenerateCStates are set to "Yes", and I just tried DropSSDT="Yes", which doesn't work either. LPC, AppleIntelCPUManagement, AppleIntelCPUManagementClient and AppleIntelMeromProfile are loaded, PStates are in the IOReg, CStates aren't. CPU stays at 798MHz. I haven't still given up though, however VoodooPStates.kext with PStateMenuwork fine in the mean time.

 

It works fine with legacy_kernel, btw.

Link to comment
Share on other sites

Try dumping your SSDT tables (You can use Everest on Windows or, there is also a Perl script that you can run from a Linux Live CD for example, search over at the ProjectOSX forums) and place them in /extra. You must follow the naming conventions outlined in the thread I linked to, ssdt-1.aml and so on.

Make sure C1E and whatever other C-state settings you can find in your BIOS are enabled before dumping the SSDT tables - the number of tables will differ depending on this setting.

Try this and leave DropSSDT=y.

In addition to what you have done already, AppleHPET.kext and AppleLPC.kext must be loaded and, if required, the HPET device in DSDT patched correctly for AppleIntelCPUPowerManagement.kext to work.

Try experimenting with different macbook model identifiers, they should be from older Macbooks/Macbook Pros that use a similar CPU type to yours, ie Intel Core microarchitecture.
A quick way to look those up is using MacTracker, then google "macmodelx,y DMI" to find all the stuff you need to add to /Extra/smbios.plist.

Link to comment
Share on other sites

I tried. How get i that Menue entry out of the menue?

And where get i the lastest (needed, not within the tool) VoodooPstate?

Activity Monitor -> click PStateMenu -> Quit process

Reminds me that I wanted to recheck every now and then whether the kext is loaded.

 

The latest VoodooPState.kext is always on osx86drivers.sourceforge.net

Link to comment
Share on other sites

Thanks! It's working great :). Only issue for me is little to "conservative" upscaling. Im using "On Demand" option and it is stayng on lowest frequency almost all time, and my computer struggles!

 

Example:

 

When this applet is running:

http://www.obitko.com/tutorials/genetic-al...tsp-example.php,

my cpu usage is between 85-95 % but clock is staying low. When I force clock setting to max value, applet runs much faster! It should run that fast all time.

 

Can you prepare more performace-enabled switching?

Link to comment
Share on other sites

  • 3 months later...

I installed your PStateChnager but as soon as I open it I see: VoodooPState not loaded.

 

This is what i've done :

Placed VoodooPState in EXTRA

 

Add next two lines to my boot.plist:

 

<key>GeneratePStatus</key>

<string>Yes</string>

<key>GenerateCStates</>

<string>Yes</string>

 

Can you advice what more do I need to make this work?

 

I use a Core2Duo laptop and battery is running down very fast now because CPU runs on his max al the time.

Link to comment
Share on other sites

  • 3 months later...

Hi

 

I can't get VoodooPState loaded it always tells me "Warning Unloaded" on boot up.

 

Im on Lion 10.7.2 64Bit have Native Speedstep working and the tool would be a really cool enhancement to cool down my HackBook. I only added the voodoopstate.kext to S/L/E and keep getting the mentioned error on boot. Please help!

 

TIA

morbidangel

 

PS: Or is there a slight chance that PStateMenu will be updated with Native Speedstep support?

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...
 Share

×
×
  • Create New...