Difference between revisions of "PHC"

From ArchWiki
Jump to: navigation, search
Line 1: Line 1:
[[Category:Power management]]
[[Category:Power management]]
{{Article summary start}}
{{Article summary start}}

Revision as of 13:27, 13 June 2012

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:PHC#)

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end


PHC is an acpi-cpufreq patch built with the purpose of enabling arbitrarily undervolting on your processor. PHC works only if your processor's architecture supports undervolting. This is the ultimate and extreme tweak to reduce power consumption in modern PCs, therefore it's very interesting, especially for laptop computers.

For a complete power management suite see Related articles in top-right of the page.

Automatically undervolting CPUs

As of right now, the only automatic CPU voltage solution available is the cpupowerdAUR package in the AUR and is only available to AMD users. If you own an Intel processor, then you need to install the phc-intelAUR module, again from the AUR, and manually configure your own voltages.

Supported CPUs

PHC supports the two most common processor families:

  • Intel
  • AMD


  • Mobile Centrino
  • Atom (N2xx)
  • Core / Core2 (T and P Series)
  • Core i (tested on Core i3 550)


  • K8 series
Note: there is also a package in AUR named cpupowerdAUR, which is somehow related to downvolting on AMD processors, check it out!

Installing the necessary packages

Install phc-intelAUR if you have an Intel processor, or phc-k8AUR if you have an AMD-K8-series one.

{{Note | The required packages are not present in the main repository, so you must install them from the AUR.

Install phc-intel (assuming you have an Intel CPU) and phctool from the AUR. Next you need to compile the module for your kernel, this will also be necessary after a kernel update.

You need to have linux-headers and/or linux-lts-headers installed to be able to build the module.

# /etc/rc.d/phc-intel setup

Then add "acpi-cpufreq" in the modules section of your /etc/rc.conf file, if you have not done it before.

Configuring PHC

After the phc module is compiled and the lowest voltages are found, they need to be added to the configuration file at /etc/conf.d/phc-intel.

# VIDS="25 22 15 8 5"

Even if it's possible to configure phc using a command line interface, the configuration is much easier using phctool. Just run

# phctool

and select the "voltage" tab. Every processor has its own VID values: finding the value that fits your processor's needs is up to you.

Module loading


# dmesg | grep acpi-cpufreq

If you see errors regarding this module, something has gone wrong OR you cannot use PHC.

Hardware recognition

There should be some files in /sys/devices/system/cpu/cpu0/cpufreq/ beginning with "phc_". To check whether PHC is working or not, just type:

# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls

you should read some values. If the values do not appear, then PHC is probably not supported by your CPU.

Voltage controlling

You can easily check whether PHC is working or not by looking at the cpu voltages: if the voltages are lower than the normal ones, then PHC has done it's job. You can also manually set voltages, for example:

echo 34 26 18 12 8 5 > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids

To find the best values, install linux-phc-optimizeAUR from the AUR. The script progressively lower the values until the system crashes, and add two the values for stability. Because the system will crash, do not do anything else during the tests. Run it once for each value, then check /usr/share/linux-phc-optimize/phc_tweaked_vids.