How to modify the CPU voltage

Hi !

Today I just experimented with an old tool: Linux-PHC. This is a kernel module that replaces the default apci module and allows more control over the cpu. The main function of this module is to allow the user to modify the CPU voltage, usually lower it.

Why would you lower the CPU voltage ? The answer is simple: On a laptop, it means less heat and more battery.

I tried the experiment a long time ago, we still needed to patch and recompile the kernel … Long procedure, boring when the updates come … Now it is possible to just compile a module and insert it, so I decided to try again.

You can get the archive from the official website: http://www.linux-phc.org.

We need to have the kernel headers to compile a module, so let’s install them:

$ sudo aptitude install linux-headers-2.6-686

After a simple

$ ./prepare.sh 2.6.32
$ make
$ sudo make install

I was good to go !

First, get the default voltage values:

$ cat cpu0/cpufreq/phc_controls
75:39 74:34 8:28 6:23 136:19

And then, try some new one … There is no risk involved, except a beautiful system freeze if you set the voltage too low. Even then, the voltages are reset on reboot …

for i in `seq 0 1`; do echo "75:25 74:20 8:8 6:8 136:8" | sudo tee /sys/devices/system/cpu/cpu$i/cpufreq/phc_controls; done;

Have fun !