# Undervoltage CPU

**URL:** <https://www.debian-fr.org/t/undervoltage-cpu/26417>\
**Category:** Trucs et Astuces\
**Created:** [Février 20, 2016, 10:16 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417 "2016-02-20T22:16:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![zx26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/e99b99/32.png) [@zx26](https://www.debian-fr.org/u/zx26)\
**Post date:** [Février 20, 2016, 10:16 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/1 "2016-02-20T22:16:00Z")

</div>

Salut!  
L’undervoltage du cpu permet de diminuer la température et l’autonomie sans sacrifier la performance,  
source : [http://www.linux-phc.org/](http://www.linux-phc.org/). La procédure est, contrairement à l’overclocking, sans danger.

1. on récupère le bon patch (intel ou AMD) ici [http://www.linux-phc.org/forum/viewtopic.php?f=13&t=2](http://www.linux-phc.org/forum/viewtopic.php?f=13&t=2), pour moi intel qui sera pris comme example.

2. on le decompresse  
tar -xf ~/phc-intel-0.3.2-10.tar.bz2

3. on se place dans le dossier créé  
cd ~/phc-intel-0.3.2-10

4. Préparation, construction, intallation du paquet debian  
make prepare

# checkinstall make install

1. On lance le module

# modprobe phc-intel

(parfois il est nécessaire de dé-charger acpi-cpufreq : modprobe -r acpi-cpufreq)

1. Voltage par défaut et modification  
les valeurs par défauts : # cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_default\_vids  
pour les modifier : # echo “vos\_valeurs” \> /sys/devices/system/cpu/cpu0/cpufreq/phc\_vids && echo “vos\_valeurs” \> /sys/devices/system/cpu/cpu1/cpufreq/phc\_vids  
(si vous avez deux core…)  
Diminuez progressivement jusqu’à ce que ça freeze, pour chaque fréquence de votre proc, passez à une valeur supérieur et sollicitez-le. Si ça re-freeze, on recommence…

ex: pour mon qosmio F50 (P8600) : 23 13 9 (pour 2,4 ; 1,8 ; 0,8 GHz)  
pour un dell inspiron 6400 (t2400) : défaut 44 29 19, nouvelles 28 21 11 (pour 1,8 ; 1,4 ; 1 GHz)

Un fois qu’on a nos valeurs stables, on va lancer le module au démarrage, des scripts sont proposés dans le forum, je l’ai vu après coup, moi j’ai fait d’intinct comme ça:  
script phc-intel :  
#! /bin/sh

## undervoltage

modprobe -r acpi-cpufreq && modprobe phc-intel && echo 28 21 11 \> /sys/devices/system/cpu/cpu0/cpufreq/phc\_vids && echo 28 21 11 \> /sys/devices/system/cpu/cpu1/cpufreq/phc\_vids

rendu exécutable, copié dans /etc/init.d, puis lié dans /etc/rcS.d avec S31 comme priorité…

Je n’ai pas fait de test de température/autonomie par manque de temps mais les ventilo se sont bien calmés 😃  
Une page du forum cité plus haut est d’ailleurs consacrée à cela…

Voilà enjoy! ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 10:16 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/2 "2016-02-20T22:16:02Z")

</div>

sa pourrait s’avérer utile sur les portables 🙂  
dommage que le paquet ne soit pas dans apt (note j’ai pas fouiner la flemme ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green") )

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 20, 2016, 10:16 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/3 "2016-02-20T22:16:03Z")

</div>

Pour les remarques :

[viewtopic.php?f=1&t=27389](http://forum.debian-fr.org/viewtopic.php?f=1&t=27389)

---

<div class="post-metadata">

**Author:** ![Francois\_29](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/fbc32d/32.png) [@Francois\_29](https://www.debian-fr.org/u/Francois_29)\
**Post date:** [Février 20, 2016, 10:29 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/4 "2016-02-20T22:29:31Z")

</div>

Bonjour,

Le ventilo tournant en permanence avec une température de 58° au repos, je viens d’installer phc-k8, version AMD, sur mon HP Probook, par DKMS.  
Mais je ne comprends pas très bien comment l’utiliser. Ci-après un extrait du readme :

# [code]2. Usage:

The PHC K8 driver uses “fid” instead of a frequency and “vid” instead of voltage. This is because that is what is used internally by AMD processors. To convert between frequency and fid you can use:  
frequency = 800MHz + (100MHz \* fid)  
fid = (frequency/100MHz) - 8  
To convert between voltage and vid, you will need to know what processor you have. To calculate the voltage you should probably use “millivolts = 1550 - 25_vid" for desktop processors and "millivolts = 1450 - 25_vid” for mobile processors. (Probably, because this is not well documented by AMD.)  
E.g.:  
AMD X2 processor:  
vid = 16 =\> voltage = 1550 - 25 \* 16 = 1150mV  
Vid = 24 =\> voltage = 1550 - 25 \* 24 = 950mV  
Turion 64 processor:  
vid = 4 =\> voltage = 1450 - 25 \* 4 = 1350mV  
Vid = 22 =\> voltage = 1450 - 25 \* 22 = 900mV

The phc-k8 driver can be used in two modes:  
a) Native powernow-k8 mode (the default).  
b) Relaxed powernow-k8 mode with direct transitions enabled (using “direct\_transitions=1” as module option for the phc-k8 driver)

## 2.a Native powernow-k8 mode:

In native powernow-k8 mode, the voltages for each fid can be changed. This can be done either by using phc\_vids or phc\_controls in /sys/devices/system/cpu/cpu/cpufreq/. The default vids can always be found in phc\_default\_vids, the default controls in phc\_default\_controls  
E.g.:  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_vids  
4 6 22  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_controls  
10:4 8:6 0:22  
~# echo ‘10 14 24’ \> /sys/devices/system/cpu/cpu0/cpufreq/phc\_vids  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_vids  
10 14 24  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_controls  
10:10 8:14 0:24  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_default\_vids  
4 6 22  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_default\_controls  
10:4 8:6 0:22

## 2.b Relaxed powernow-k8 mode with direct transitions enabled:

In “direct transitions” mode, not only the vids can be changed, but the available frequencies as well. Especially for Laptop owners, this is really great! In fact, any frequency between the maximum frequency of the processor down to its minimum can be used, with steps of 100MHz. By default, only the frequencies supported by default are enabled. “Direct transitions” technically mean that during frequency transitions the driver jumps straight to the new frequency, instead of applying an algorithm to move gradually towards it. This enables the driver to choose any fid the processors’ minimum and the processors’ maximum.

Look into /sys/devices/system/cpu/cpu/cpufreq/phc\_available\_fids to see what fids are available in either mode.  
To change the sets of frequencies/voltages, the best interface to use is:  
/sys/devices/system/cpu/cpu/cpufreq/phc\_controls  
E.g.:  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_controls  
10:4 8:6 0:22  
~# echo ‘10:10 8:14 2:22 0:24’ \> /sys/devices/system/cpu/cpu0/cpufreq/phc\_controls  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_controls  
10:10 8:14 2:22 0:24  
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc\_default\_controls  
10:4 8:6 0:22[/code]

Je ne trouve pas de fichier phc\_default\_vids.

J’ai cru comprendre qu’il faut connaître le modèle exact du processeur, et HP me donne l’embarras du choix dans la description de la bécane :

`Type de processeur
	Processeur AMD Turion™ II Ultra Dual-Core Mobile M620 (2,5 GHz, 2 Mo de mémoire cache L2) ou processeur AMD Turion™ II Ultra Dual-Core Mobile M600 (2,4 GHz, 2 Mo de mémoire cache L2) ou processeur AMD Turion™ II Dual-Core Mobile M540 (2,4 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Turion™ II Dual-Core Mobile M520 (2,3 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Athlon™ II Dual-Core M340 (2,2 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Athlon™ II Dual-Core M320 (2,1 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Sempron™ M120 (2,1 GHz, 512 Ko de mémoire cache L2) ou processeur AMD Sempron™ M100 (2,0 GHz, 512 Ko de mémoire cache L2)`

---

<div class="post-metadata">

**Author:** ![zx26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/e99b99/32.png) [@zx26](https://www.debian-fr.org/u/zx26)\
**Post date:** [Février 20, 2016, 10:29 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/5 "2016-02-20T22:29:38Z")

</div>

Salut,  
Si tu n’as pas de fichier phc\_default\_vids c’est que le module n’est pas lancé correctement, tu n’as pas de message d’erreur quand tu le charges avec modprobe?

---

<div class="post-metadata">

**Author:** ![Francois\_29](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/fbc32d/32.png) [@Francois\_29](https://www.debian-fr.org/u/Francois_29)\
**Post date:** [Février 20, 2016, 10:29 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/6 "2016-02-20T22:29:39Z")

</div>

Je l’ai installé à partir du dossier de décompression après avoir installé DKMS, comme indiqué dans le readme :

```auto

```

C’est la seule commande pour l’installation. Je ne sais pas s’il y avait un message d’erreur dans tout ce qui a défilé dans le terminal.

---

<div class="post-metadata">

**Author:** ![zx26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/e99b99/32.png) [@zx26](https://www.debian-fr.org/u/zx26)\
**Post date:** [Février 20, 2016, 10:29 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/7 "2016-02-20T22:29:51Z")

</div>

dkms status donne quoi? et quand tu essaies de le charger avec modprobe?

---

<div class="post-metadata">

**Author:** ![Francois\_29](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/fbc32d/32.png) [@Francois\_29](https://www.debian-fr.org/u/Francois_29)\
**Post date:** [Février 20, 2016, 10:29 UTC](https://www.debian-fr.org/t/undervoltage-cpu/26417/8 "2016-02-20T22:29:58Z")

</div>

dkms status :  
phc-k8, 0.4.2, 2.6.30-2-amd64, x86\_64: installed

Utilisation de modprobe : aucun message d’erreur. Aucun changement.  
Une incompatibilité entre le module et le processeur? Ou un voltage classé secret de fabrication par AMD ?
