Now I guess you want a cool GUI to easier setting VIDs: get it here. Unpack it to a non temporary folder and move there.

From the main phctool folder run:

sudo ./install.sh

Follow the instruction (both yes will be OK)

Create a new program link in the menu with "Main Menu" to the command /**your_path**/pchtool.sh

Be sure to create a startup entry with the command

/**your_path**/phctray.sh

So voltages will be restored at each startup!

After this installation procedure try to launch phctool from the main menu: there you can set the voltages and see many infos about your CPU. If it happens that you can't refresh the actual values install msr-tools and run it with:

sudo apt-get install msr-tools
sudo modprobe msr

The correct undervolted values are not universal, so you'll need some testing. If you think you'll need a guide, then take a look here:

"Temp1: 65.0 ° C (crit = 120.0 ° C) [meaning what?]temp2: 64.0 ° C (crit = 120.0 ° C) [mean what?]"Temp1 is one core temperature or video card temperature or core temperature but mishure in other plase or other metod.Temp2 is also can be other core temperature and so on...Crit =120 ° C means, that then temperature rich 120 ° C you computer turn off to protect processor from it damage.

Please keep replying to the same comment. Ok I suppose you to know these commands, but i'll explain them. The first checks if you have loaded any phc driver, so in your case phc-intel, the second loads the driver. If the problem is solved and the second command did not give any output error the driver now should be loaded (please check with lsmod...) and the bug solved. If you need further infos (or of course if it still does not work) feel free to ask.

I'm pretty clueless when it comes to this stuff and I'm just following your directions. I _think_ I've loaded the new modules, and I am able to open phctool. However, under the Voltages tab, everything is just blank and I don't seem to be able to edit anything anywhere. Any idea where I went wrong?

I could install phctool and got it to run once, but upon trying to relaunch it, it crashes with the following error:./phctool.sh app=appgui() File "./phctool.py", line 100, in __init__ self.phcdata.RestoreValues() ##restore VIDs from last session File "inc/libs/generic.py", line 55, in RestoreValues self.parent.throttling.set_throttledata_array(throttles) File "inc/libs/throttling.py", line 77, in set_throttledata_array self.set_throttledata(cpu, array[cpu]) File "inc/libs/throttling.py", line 69, in set_throttledata if int(value) >= 0 and int(value)< self.data[cpu]["state_count"]:ValueError: invalid literal for int() with base 10: ''

When it was running it showed only CPU 0 and CPU 7 and all of the voltage values were N/A, but it was running.

Hi. I've followed the guide and it all seems to work ok apart from the PHCTOOL is only showing my CPU0 and CPU3, not the other CPU1 and CPU2, and its only showing 8 of the 10 voltages. I put screenshot here http://s334.photobucket.com/albums/m421/NigelHealy/?action=view&current=phc.jpg

I wanted to set undervolted values for my CPU cores but how can achieve that with PHCtool? I get a "Voltages" tab where there is no enough width to fit all the frequencies (my CPU ranges from 2667 to 1199 but PHCtool only shows down to 1866).

Plus, I can not fix a max CPU from here.

So basically PHCtool is useless for me.

Plus, suspend does not work (cpu goes 100%, fan goes 100%, heat goes 100%, and does not recover). Which has nothing to do with your article, but whining feels good... and I'll add that Linux/Ubuntu laptop power efficiency fucking sucks 360º and I swear to God I'd use another OS if it wasn't because they all suck their own way.

PHCtool does open know, thanks. However, it says my CPU is not recognized.I assumed I could blindly change the VID values, but that doesn't seem to be the case.On Windows, using RMClock, I get a instant BSOD as soon as I set the voltages too low, but setting the VID to 0 doesn't seem to cause this on Linux, nor it seems to affect the temperature. Is there anything I can do about it?

I followed it and everything works, except I cannot change CPU voltage in the phctool. It says "CPU not recognized - calculation not available". I have an Intel i3 Sandybridge. You know anything about this?

1st thx for your work on this famous tool. if i start phctool.sh it crashs:

Traceback (most recent call last): File "./phctool.py", line 468, in app=appgui() File "./phctool.py", line 81, in __init__ self.cpuinfo=cpuinfo.cpuinfo() ##functions to gather CPU informations File "inc/libs/cpuinfo.py", line 14, in __init__ self._get_cpuinfos() ##get Infos from /proc/cpuinfo for every ACPI-CPU we found File "inc/libs/cpuinfo.py", line 95, in _get_cpuinfos self._get_phc(cpu) ##get PHC infos File "inc/libs/cpuinfo.py", line 104, in _get_phc self.data[cpunr]["phcvalues"]=self._get_PHCData(cpunr) File "inc/libs/cpuinfo.py", line 123, in _get_PHCData for line in phcif:IOError: [Errno 19] No such device

First, thanks for making available this amazing tool! I've just discovered the amazing world of undervolting and I have a few newbie questions.

I've been running ubuntu for a couple of years, and I've noticed that periodically I get kernel updates.

(1) If I switch to a phc kernel, would the system updater messes up the phc kernel? Or perhaps your package would turn off (only?) that part of the auto-updater?(2) Does the phc kernel get updated in step with the mainline kernel?(3) Is it possible to "undo" the phc kernelc, or do I need to reinstall the system from scratch?(4) Is there a recipe for building my own phc kernel?

1 - maybe... if it founds an update to a newer version of the mainstream it updates and switches to it. The thing you can do is lock auto-update of the kernel and do it manually just when you see the phc update.2 - sort of... if you want more infos ask here: http://www.linux-phc.org/3 - you can just boot back the standard kernel from grub at boot. In that case phc driver can't load and you won't be able to undervolt.4 - Pretty sure. With linux anything is possible. The core point in the phc kernel is that cpu driver and the modules depending on mperf are not built-in, so you can unload them and load the phc driver. For more infos on how to build a custom kernel you'll find out tons of guides, but be sure to look for the ubuntu way, which is different from the other.

Hi! I'm using an Intel chip and have been following your instructions for undervolting under 12.04, however I have run into a snag. On step 4, I enter 'make dkms_mkdeb' but I get the error message, 'make: *** No rule to make target `dkms_mkdeb'. Stop.' Up until this point there have been no problems. Please help.

2) When I restart my computer, phctool no longer runs (and I can't access the cpufreq commands). Running this code:

sudo modprobe phc-intel

as suggested to a user above, fixes the problem. However, I have to run it every time I start up. Is there a way I can fix this?

3) Kind of unrelated, but after looking at the article on testing and doing some research on the different cpu governors, I decided to change mine from 'performance' to 'ondemand'. But when I restart, it is always set back to performance. Is there a way to save this setting?

Hi, today i tried your method for installing phc, but when i go to voltages, everything in the "new voltage" row its locked at n/a, and so is the "difference to original row". I tried the method at https://wiki.archlinux.org/index.php/PHC#Finding_safe_low_voltages with the mprime-phc-setup script and it tries all the vid's until 0 (and it never crashes). So finally, it returns vid 2 for all frequency's (minimum plus 2). The processor is an i5-430m on an hp g62-149wm. It has a serious heating problem... Do you have any idea on how to proceed? Thanks in advance, your post was really helpfull

Output: WARNING: All config files need .conf: /etc/modprobe.d/options, it will be ignored in a future release.WARNING: /etc/modprobe.d/options line 3: ignoring bad line starting with 'gksu'

Upon doing these (and ignoring the errors) i can start phctool.sh, made modifications to the voltages based on a table I found online from someone else using same CPU. But i havent noticed any changes to the temperature of my CPU.

Or, perhaps my tool for measuring the system temperature is not good? I use the output read from a fan control software.

It wasnt clear what you meant by "If it pops simply running phc try to delete settings data in your home folder". Can you elaborate? I am a newbie at ubuntu. I looked for a data folder in my home directory, but it does not exist.

Don't worry, it's just hard to debug everyone's error. The config location is your home folder, its name is .phcstore.phc and, since it's a config file, it's hidden, so you may need to ctrl+h to see it.

We have also to consider you have a centrino cpu, in which the throttling interface might still have some functionality. This may introduce unexpected bugs in the GUI...

Ok so this worked. For the other users out there: I had to delete the file .phcstore.phc (as fabio indicated). Then I reinstalled the phctool and the gui opened.

My only remaining question is how to keep setting as is (once modified) for every reboot. In other words: does one alsways need to load phctool to make the desired changes? Or, can settings be saved and loaded upon every bootup?

Hi Fabio,It seems I overlooked that throttling is "Not Available" according to the dropdown menus in the PHC GUI. Does this mean changes I make have no effect? I do see "Vcc Calculation: CPU recognized, calculation available" Under Analysis tab target VID, target Vcc and reached VID are all n/A.

I tried to hit the refresh button but the values on that page do not change. What i mean is that the entries for target VID/target VCC/Reached VID and reached VCC are all n/A. I saved my changes and made to the voltages and exited the program, entered back in. The entries in Analysis tab are still n/A even if I press the refresh button.

More information that could be useful (maybe):

I checked what was in/sys/devices/system/cpu/cpu0/cpufreq/phc_controls and I indeed see the changes I made in the gui.

Are these being implemented? How can one check?

Is there something else I need to switch on in order for the changes to take effect?

No man, it doesn't work! I have 2 intel laptops trying to undervolt:on the older xubu12.04 and on the newer ubu12.04. On both i get the same message after installing the created .deb package on step 5: "Error! Bad return status for module build on kernel: 3.2.0-25-generic-phc(i686) Consult /var/lib/dkms/phc-intel/0.3.2/build/make.log for more information."

Recently i am trying to undervolte my intel core i 5 M 540, I am using ubuntu 12.04 LTS and i have three python in my ubuntu 2.6.6 in a default and 2.7.3 is used by ubunut and 3.2 is used by pycairo, anyway, when i am trying to launch phctool, i am getting this message :

sudo python2.7 phctool.py

GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.Traceback (most recent call last): File "phctool.py", line 468, in app=appgui() File "phctool.py", line 102, in __init__ self.ShowPHCVIDs() ##display current VIDs File "phctool.py", line 283, in ShowPHCVIDs columns = self.data[cpu]['frequencies'] ##define the amount of columns we'll use to display all dataKeyError: 'frequencies'

and when sudo python2.7 phctray.py

GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.You need to install pyGTK or GTKv2 or set your PYTHONPATH correctly.try: export PYTHONPATH= /usr/local/lib/python2.2/site-packages/

i am trying to export the PYTHONPATH but every time this message appear.sudo ls /sys/devices/system/cpu/cpu*

Somehow i managed to run phctool.sh with your guid through above comments, but after I rerun the phctool.sh the follow error appear. even i remove cpuinfo.pyc from the lib and download the phctool0.5.2-3 again and copy the lib but it didn't work. I got the error again. can you help me please.

Thank you Fabio for your great thread, it is working fine right now, I delete the .phcstore.phc as you mentioned above and reinstall the phctool. it work fine. even my vid refresh but still my throttling is "Not Available". I am going to next step.Thankspayam

Uhm...I've run the command...it's said that "linux-generic-phc is already the newest version"....what do you mean by "pause" ?? Just stop ? I've restarted my laptop , but I don't know how to choose the new *-phc kernel...

sorry about all these...I'm a newbie in Linux...just decided to give it a try last week ^^

I also tried to create the program link in Step 10 , but it didn't work , I clicked on the application in Dash , and when I keyed in my password , nothing happened...I have to execute "phctool.sh" manually from the folder where it is located...any ideas on my problem ?

Hello, thank you for tutorial, iv been using PHC on 10.04, but unfortunately i m not able on 12.04. Maybe i am missing someting, but after installing kernelfrom phc-repos, compiling module using your guide i still won`t boot without acpi=off - otherwise it gives error: " fixing recursive fault but reboot is needed". I am using Pentium M laptop. Thanks in advance.

Thanks a lot for this tutorial ! I am currently struggling with the " FATAL: Module cpufreq_stats is builtin "As you said it's because of the step 2 "be sure to choose your new *-phc kernel." but how to be sure ?