Jump to content

VoodooPower 1.2.3


Superhai
 Share

VoodooPower User Survey  

736 members have voted

  1. 1. Which CPU do you use this on?

    • Intel Pentium M
      29
    • Intel Pentium 4/D
      40
    • Intel Core (2) Solo/Duo/Quad
      464
    • Intel Atom
      100
    • AMD K8
      31
    • AMD K10
      22
    • Intel I7 or newer
      19
    • AMD K11 or newer
      11
    • Other
      20
  2. 2. Does it work successfully?

    • Yes, no issues
      363
    • Yes, minor issues/annoyances
      237
    • No, Intel Pentium M/4/D
      20
    • No, Intel Core or newer
      58
    • No, AMD K8
      22
    • No, AMD K10 or newer
      15
    • No, other CPU
      21
  3. 3. How do you rate the usefullness of VoodooPower?

    • No use
      105
    • Poor
      32
    • Mediocre
      54
    • Useful
      193
    • Very useful
      273
    • My life depend on it
      79


351 posts in this topic

Recommended Posts

Yes, but how do I solve this so that my CPU would stay cool and quiet :) fan runs ±2600rpm cpu temp - 50 degrees. What do you use? Or maybe you just put up with the noise?

 

I've installed this version http://www.insanelymac.com/forum/index.php...898&st=150# but the system it's running very slow.

Only when i run more program's the frequency of processor it's going up.

I can not adjust the frequency from GenericCPUPMControl. They stay at 1000Mhz.

 

 

 

Sorry for my bad english.

post-303537-1236503184_thumb.gif

Link to comment
Share on other sites

AMD K8 (only) VoodoPower.kext (1.2.3 + patch) + mach_kernel (voodoo 9.5.0 + patch)

 

Sorry for the bogus version last time.

Try this one ( at your own risk ) if you need power management and less timing change on K8 platform.

 

http://www.mediafire.com/?ytl5yjdzngb

 

In case you want to set p-state at max, just "pstate 0".

(It is necessary if you play sound with USBAudio and might be necessary to play music/movie )

 

I include source files for the case you need to debug / tweak.

If it does not work, please build your own kernel/kext or just avoid using it.

 

Note: old MB which has no ACPI_PSS support would not load the kext.

Link to comment
Share on other sites

AMD K8 (only) VoodoPower.kext (1.2.3 + patch) + mach_kernel (voodoo 9.5.0 + patch)

 

Sorry for the bogus version last time.

Try this one ( at your own risk ) if you need power management and less timing change on K8 platform.

 

http://www.mediafire.com/?ytl5yjdzngb

 

In case you want to set p-state at max, just "pstate 0".

(It is necessary if you play sound with USBAudio and might be necessary to play music/movie )

 

I include source files for the case you need to debug / tweak.

If it does not work, please build your own kernel/kext or just avoid using it.

 

Note: old MB which has no ACPI_PSS support would not load the kext.

 

Thanks hnak! This one works flawlessly, no problems at all. Happy to have a quiet system! Temp. is about 40 degrees.

Link to comment
Share on other sites

Thanks hnak! This one works flawlessly, no problems at all. Happy to have a quiet system! Temp. is about 40 degrees.

 

Thanks for this hnak, you're the boss!

 

This is gonna help superhai to broaden his scope with VDPW

 

Cheers,

 

HC

Link to comment
Share on other sites

AMD K8 (only) VoodoPower.kext (1.2.3 + patch) + mach_kernel (voodoo 9.5.0 + patch)

 

Sorry for the bogus version last time.

Try this one ( at your own risk ) if you need power management and less timing change on K8 platform.

 

http://www.mediafire.com/?ytl5yjdzngb

 

In case you want to set p-state at max, just "pstate 0".

(It is necessary if you play sound with USBAudio and might be necessary to play music/movie )

 

I include source files for the case you need to debug / tweak.

If it does not work, please build your own kernel/kext or just avoid using it.

 

Note: old MB which has no ACPI_PSS support would not load the kext.

I would like to implement this in my kernel but I need to know if there are any disadvantages for other cpu's by patching the kernel this way...

If there are I'll make a boot argument for switching this on...

Great work BTW :)

Link to comment
Share on other sites

Hi

No problem so far with Hnak´s kext on a gigabyte ga-ma78gm-s2h, Phenom 9550 2,2 Ghz. Pstate shows 1100mhz on idle, 2200mhz when converting videos, watching HD movies.

Only "problem" is that i have to run a terminal command to view my temp..

 

Thanks Superhai and Hnak for your good work on AMD support

Link to comment
Share on other sites

I would like to implement this in my kernel but I need to know if there are any disadvantages for other cpu's by patching the kernel this way...

If there are I'll make a boot argument for switching this on...

Great work BTW :)

Hi Andy,

It is great if you incorporate the changes into your new kernel.

The patch is safe. I believe it should be enabled by default. It basically does the same thing as what the original voodoo does in less dangerous way.

 

CPU with constant TSC never calls the modified entries anyway. Systems without PowerNow/SpeedStep kext never call it. Actually, the Apple's original implementation is ospanic.

 

Here is the diff.

rtclock.diff.zip

Link to comment
Share on other sites

Hi

No problem so far with Hnak´s kext on a gigabyte ga-ma78gm-s2h, Phenom 9550 2,2 Ghz. Pstate shows 1100mhz on idle, 2200mhz when converting videos, watching HD movies.

Only "problem" is that i have to run a terminal command to view my temp..

 

Thanks Superhai and Hnak for your good work on AMD support

Run this python script if you care about pstate/freq/volt/temp. ( assuming pstate exists in path, for example /usr/local/bin/ )

You might have to install xcode ( not sure). If you install xcode, you can also build an executable applet.

stateloop.py.zip

Link to comment
Share on other sites

Hi Andy,

It is great if you incorporate the changes into your new kernel.

The patch is safe. I believe it should be enabled by default. It basically does the same thing as what the original voodoo does in less dangerous way.

 

CPU with constant TSC never calls the modified entries anyway. Systems without PowerNow/SpeedStep kext never call it. Actually, the Apple's original implementation is ospanic.

 

Here is the diff.

rtclock.diff.zip

Sorry to bother you once more but could you make an unified diff rather than a regular one with diff -Nur?

It is easier to apply to newer sources...

Thanks in advance

 

How to make GenericCPU... to work with voodoopower? By clicking in the window it changes only 5 times and there is no voodoo power

You use both GenericCPUPowerManagement and VoodooPower?

Remove GenericCPUPowerManagement.kext + Extensions cache...

Link to comment
Share on other sites

hnak, I'm testing your latest kext and it's running great so far, the only thing is that the temperature seems odd, it's higher when it's running at the lowest frequency. Any idea?

How do you monitor the temperature ?

If you are using pstate, it reads CPU thermal sensor, but pre-revision 0FH processor (I believe you are using rev.E) does not have the sensor. ( at least, it is not formally supported .)

My kext just reads the thermal register and returns the value regardless of CPU revision.

Link to comment
Share on other sites

AMD K8 (only) VoodoPower.kext (1.2.3 + patch) + mach_kernel (voodoo 9.5.0 + patch)

 

Sorry for the bogus version last time.

Try this one ( at your own risk ) if you need power management and less timing change on K8 platform.

 

http://www.mediafire.com/?ytl5yjdzngb

 

In case you want to set p-state at max, just "pstate 0".

(It is necessary if you play sound with USBAudio and might be necessary to play music/movie )

 

I include source files for the case you need to debug / tweak.

If it does not work, please build your own kernel/kext or just avoid using it.

 

Note: old MB which has no ACPI_PSS support would not load the kext.

 

Hey Hnak, Thanks again for the fixed. So; I've installed the AMD K8 (only) VoodoPower.kext (1.2.3 + patch) + mach_kernel (voodoo 9.5.0 + patch) on my AMD Turion Tl-64 . The only problem I've having right now is when I adjust the pstate to either 3,2,1,0 my fan starts to run constantly. But when I have it on 4 (the fan is somewhat quiet) or on auto the fan can auto throttle by itself (and adjust to how heavy I''m using the system). I don't want to burn out my fan (by always putting it on pstate 0 )but I also want to watch movie and I don't want to manually adjust the pstate to 0 everytime i want to watch a movie and change it back to auto in order to get good sound (without the jittering). So my final question is, is there anyway to get my fan quiet or autothrottle (or at least make my fan quiet down) when I set pstate to 0 in order to watch movies or any type of media without the jittering audio? I've tried to delete all the cputhermal.kext intelcpumanagement.kext and thermalcpu.kext but it doesn't see to work.

Link to comment
Share on other sites

Hey Hnak, Thanks again for the fixed. So; I've installed the AMD K8 (only) VoodoPower.kext (1.2.3 + patch) + mach_kernel (voodoo 9.5.0 + patch) on my AMD Turion Tl-64 . The only problem I've having right now is when I adjust the pstate to either 3,2,1,0 my fan starts to run constantly. But when I have it on 4 (the fan is somewhat quiet) or on auto the fan can auto throttle by itself (and adjust to how heavy I''m using the system). I don't want to burn out my fan (by always putting it on pstate 0 )but I also want to watch movie and I don't want to manually adjust the pstate to 0 everytime i want to watch a movie and change it back to auto in order to get good sound (without the jittering). So my final question is, is there anyway to get my fan quiet or autothrottle (or at least make my fan quiet down) when I set pstate to 0 in order to watch movies or any type of media without the jittering audio? I've tried to delete all the cputhermal.kext intelcpumanagement.kext and thermalcpu.kext but it doesn't see to work.

No way.

Fan is tied to MB hardware and we have no control on it. (At least, you need to write a driver for you own hardware )

Fan must work at pstate 0 to avoid burning CPU anyway.

As audio jittering is caused by TSC change, you need to fix it at some state in case of non constant TSC processor.

Link to comment
Share on other sites

No way.

Fan is tied to MB hardware and we have no control on it. (At least, you need to write a driver for you own hardware )

Fan must work at pstate 0 to avoid burning CPU anyway.

As audio jittering is caused by TSC change, you need to fix it at some state in case of non constant TSC processor.

 

Hey Hnak, thanks for giving me the clue of TSC change; so now I'm booting with cpus=1 (although I'm only running with one cpu but the sound is definitly much better) and idlehalt=0 and I'm able to go on auththrottle without any audio jittering. I hope this helps other people.

Link to comment
Share on other sites

Hey Hnak, thanks for giving me the clue of TSC change; so now I'm booting with cpus=1 (although I'm only running with one cpu but the sound is definitly much better) and idlehalt=0 and I'm able to go on auththrottle without any audio jittering. I hope this helps other people.

I think idlehalt=0 helps at the cost of power consumption. K8 stops counting TSC in halt state.

Does your Turion have 2 cores ? If so, cous=1 is also useful as no TSC synchronization is necessary. Maybe I should check whether TSC difference is big enough before executing TSC sync, because when idlehalt=0, TSC difference between cores should be much smaller.

Link to comment
Share on other sites

I think idlehalt=0 helps at the cost of power consumption. K8 stops counting TSC in halt state.

Does your Turion have 2 cores ? If so, cous=1 is also useful as no TSC synchronization is necessary. Maybe I should check whether TSC difference is big enough before executing TSC sync, because when idlehalt=0, TSC difference between cores should be much smaller.

 

Yes, I do have two cores. When I boot with cpus=2 and idlehalt=0 (I have the MCP67 chipset and I need to do this in order to boot faster or else it'll take me 30+ minutes just to boot) I get the jittering sound. But with cpus=1 and idlehalt=0 no sound jittering but only one core; :\, maybe you can look into being able to use both cores with no sound jittering.

Link to comment
Share on other sites

Yes, I do have two cores. When I boot with cpus=2 and idlehalt=0 (I have the MCP67 chipset and I need to do this in order to boot faster or else it'll take me 30+ minutes just to boot) I get the jittering sound. But with cpus=1 and idlehalt=0 no sound jittering but only one core; :\, maybe you can look into being able to use both cores with no sound jittering.

If you can build kext from Superhai's project + my source, please try disabling TSC synchronization (code block to check and call AMDTSCSync()) in VoodooPower::processorDriver() and build, install, then boot with idlehalt=0.

Link to comment
Share on other sites

If you can build kext from Superhai's project + my source, please try disabling TSC synchronization (code block to check and call AMDTSCSync()) in VoodooPower::processorDriver() and build, install, then boot with idlehalt=0.

 

I would love to build the kext for you; but I have no idea how to edit any of the parameters you just mentioned above or how to build a kext in general. If you can do a step by step tutorial I can follow it or else; I would have to ask you to build the kext with those settings and I can definitely test it for you to see if it works or not. Thanks again.

Link to comment
Share on other sites

I would love to build the kext for you; but I have no idea how to edit any of the parameters you just mentioned above or how to build a kext in general. If you can do a step by step tutorial I can follow it or else; I would have to ask you to build the kext with those settings and I can definitely test it for you to see if it works or not. Thanks again.

OK, I try to explain step by step.

 

1. Install xcode from OSX DVD. Or you can register yourself as a developer at http://connect.apple.com and download it. - it's big.

 

2. Once you install xcode, go to Superhai's website and follow the link to get the original project files. In short, execute the following command in terminal.

svn checkout http://voodoo-power.googlecode.com/svn/trunk/ voodoo-power

 

3. Open the xcode project file in the folder named "VoodooPower" in the folder above. Use the popup menus on top-left to switch to "Release" build. Then choose "build" from menu. The kext will be built in [Project folder]/build/Release/. Note: This is the original VoodooPower.

 

4. Replace VoodooPower.cpp of the project with my AMD version (included in zip) and do "build" again. You get the AMD version. This is the kext you are using.

 

5. locate the next 2 parts and remove ( or comment out ) them, then you can build what I said!

	// Properly update kernel frequencies when no constant tsc
if (k8_data.syncTSC && GlobalRequest[0].fid != fid0) {
	uint64_t tsc = rdtsc64();
	IOSimpleLockLock(SimpleLock);
	mp_rendezvous_no_intrs(AMDTSCWrite, &tsc);
	IOSimpleLockUnlock(SimpleLock);
}

 

	// Properly update kernel frequencies when no constant tsc
if (k8_data.syncTSC && GlobalCurrent[0].fid != fid0) {
	uint64_t tsc = rdtsc64();
	IOSimpleLockLock(SimpleLock);
	mp_rendezvous_no_intrs(AMDTSCWrite, &tsc);
	IOSimpleLockUnlock(SimpleLock);
}

Link to comment
Share on other sites

OK, I try to explain step by step.

 

1. Install xcode from OSX DVD. Or you can register yourself as a developer at http://connect.apple.com and download it. - it's big.

 

2. Once you install xcode, go to Superhai's website and follow the link to get the original project files. In short, execute the following command in terminal.

svn checkout http://voodoo-power.googlecode.com/svn/trunk/ voodoo-power

 

3. Open the xcode project file in the folder named "VoodooPower" in the folder above. Use the popup menus on top-left to switch to "Release" build. Then choose "build" from menu. The kext will be built in [Project folder]/build/Release/. Note: This is the original VoodooPower.

 

4. Replace VoodooPower.cpp of the project with my AMD version (included in zip) and do "build" again. You get the AMD version. This is the kext you are using.

 

5. locate the next 2 parts and remove ( or comment out ) them, then you can build what I said!

	// Properly update kernel frequencies when no constant tsc
if (k8_data.syncTSC && GlobalRequest[0].fid != fid0) {
	uint64_t tsc = rdtsc64();
	IOSimpleLockLock(SimpleLock);
	mp_rendezvous_no_intrs(AMDTSCWrite, &tsc);
	IOSimpleLockUnlock(SimpleLock);
}

 

	// Properly update kernel frequencies when no constant tsc
if (k8_data.syncTSC && GlobalCurrent[0].fid != fid0) {
	uint64_t tsc = rdtsc64();
	IOSimpleLockLock(SimpleLock);
	mp_rendezvous_no_intrs(AMDTSCWrite, &tsc);
	IOSimpleLockUnlock(SimpleLock);
}

Okay Hnak, I did what you said and I tested out the new Kext also; there are some bad results. running on idlehalt=0 cpus=2; when I load my computer the pstate is at 0; even when it's on authrottle the pstate stays at 0. If I manually change the pstate to 4 I still get the jittering sound.

Link to comment
Share on other sites

Okay Hnak, I did what you said and I tested out the new Kext also; there are some bad results. running on idlehalt=0 cpus=2; when I load my computer the pstate is at 0; even when it's on authrottle the pstate stays at 0. If I manually change the pstate to 4 I still get the jittering sound.

Thanks for testing.

Humm... it is different from my result with Athlon X2 4050e. I can see pstate changes at least.

Does pstate stay at 0 even with only finder ?

 

By the way, I found that TSC difference between cores stay within less than 500 without my crude synchronization code. Voodoo Kernel engineers must have done some smart job.

 

Will you try this one ?

This is what I am working on ( to support both Intel and AMD )

VoodooPower.kext.zip

Link to comment
Share on other sites

Version 1.2.3

 

Added the manual for VoodooPower: VoodooPower Manual

 

Update from 1.2.2 - Kernel frequencies updated

Update from 1.2.1 - Bugfixes and fixed bug when working with VoodooBattery

Update from 1.2.0 - Bugfixes for Pentium M, Some Pentium 4/D's, AMD K8, other overall bugfixes

 

What does this thing do?

It will control some aspects of power management for your cpu. Most important is the speedstep functionality, to lower power footprint. It makes your cpu cooler or your battery lasting longer.

 

Where to get it?

Downloads, and support is to be done at http://www.superhai.com/ Source is available from http://code.google.com/p/voodoo-power/.

 

Doesn't work?

I have moved the source to Google Code, so if you have issues please make an issue report there. http://code.google.com/p/voodoo-power/

You can also post bug report at http://www.superhai.com/.

Please read this post before posting (explains how you can get the required debug information).

 

Yet to come

  • Prefpane and statusbar tool
  • New documentation
  • New bugs etc.

System Requirements?

  • Intel Pentium M/4/D
    Intel Core (2) Quad/Duo/Solo
    Intel Atom
    AMD K8/K10
    (Intel i7 and AMD K11 are still experimental)
  • Apple "Vanilla" Kernel 10.5.x (Darwin Kernel 9.x)
    Voodoo Kernel
    ("Snow" 10.6.x will soon be available)
    (other spinoff kernels might or might not work, and are not supported)

Any ideas for improvements? Tell me

 

This is the continuation of GenericCPUPowerManagement under a new name.

thx so much superhai! this totally fixed my overheating issues with my amilo li 2727 :)

Link to comment
Share on other sites

Hallo!

first of all, I'd like to thank you for all the work you've done.

I've always used your speedstep (new and old), but I've always meet

a recognition error of the cpu...

my processor is an 2,4 but he think that's an 2,21 one.

if I do a control with a xbech he say me that the score is less.

you can find my hardware down (in my signature), could you help me, please?

I await for your reply and

 

i thank you.

bye

Link to comment
Share on other sites

 Share

×
×
  • Create New...