Laptop Mode Tools

De ArchwikiFR


Le noyau Linux depuis la version 2.6.6 dispose d'une option laptop mode. On la retrouve aussi dans la version 2.4 depuis la 2.4.23. Une fois cette option activée, le noyau autorise le disque dur à se mettre en veille ce qui permet une économie d'énergie significative. Laptop Mode Tools (LTM) sont des outils qui ont évolués de simples programmes de contrôle de disque dur en une solution de gestion d'énergie centralisée fournissant une large sélection d'options et qui peut gérer simultanément au travers de sous système, un nombre variable de fonction d'économie d'énergie. Combiné avec acpid, cpufrequtils et pm-utils, LTM fournisent une suite complète d'outil de gestion d'énergie pour les portables.

Sommaire

Installation

laptop-mode-tools fait partie du dépôt AUR.

Configuration

Astuce: L'ensemble des fichiers de configuration comporte une documentation succincte ainsi qu'un (ou plusieurs) exemple d'utilisation, n'hésitez pas à les parcourir.

Avec systemd, lancer le service au démarrage :

systemctl enable laptop-mode.service

Le fichier de configuration principal est /etc/laptop-mode/laptop-mode.conf et les fichiers de configuration spécifiques aux modules se trouvent dans /etc/laptop-mode/conf.d/*. Depuis la version 1.56, LTM active automatiquement les modules marqué en auto, vous trouverez la liste initiale dans /etc/laptop-mode/laptop-mode.conf juste avant la variable ENABLE_AUTO_MODULES.

Activation

LTM possède trois niveaux de fonctionnement :

  • Un quand l'ordinateur est sur batterie.
  • Un autre quand l'ordinateur est sur secteur.
  • Un dernier quand l'écran est rabattu.

Pour chacun de ces modes LTM peut adopter une comportement différent. Par défaut LTM ne s'active que si l'ordinateur est sur batterie. Pour modifier ce comportement éditer /etc/laptop-mode/laptop-mode.conf et modifier les variables suivantes (une valeur à 1 active LMT et une valeur à 0 l'inhibe).

  • ENABLE_LAPTOP_MODE_ON_BATTERY : Activé quand l'ordinateur est sur batterie.
  • ENABLE_LAPTOP_MODE_ON_AC : Activé quand l'ordinateur est sur secteur.
  • ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED : Activé quand l'écran est rabattu, quelque soit le mode d'alimentation. (Ce mode nécessite d'acpi)

Disques

Si le disque dur le supporte, les paramètres d'économie d'énergie avancés de ce dernier peuvent être paramétrés grâce à la commande hdparm -B (cf. hdparm pour plus d'informations). Sans argument elle renvoie les paramètres actuels. Les valeurs possibles sont comprises entre 1 et 255 où 1 signifie une économie d'énergie très agressive et 255 aucune économie d'énergie. Par défaut, LTM place cette valeur à 1 quand il est sur batterie. Pour modifier la manière dont LTM gère ces paramètres modifier ces lignes dans le /etc/laptop-mode/laptop-mode.conf :

Détermine si LTM doit contrôler l'alimentation des disques durs (0 pour désactiver):

CONTROL_HD_POWERMGMT="auto"

Paramètre la valeur de hdparm -B en fonction du mode d'alimentation:

BATT_HD_POWERMGMT=200
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254

Les paramètres qui suivent modifient le temps d'inactivité en seconde qu'il faut attendre avant la mise en veille du disque dur. Il est aussi recommandé de modifier cette valeur affin d'éviter que la tête de lecture du disque dure ne soit parquée trop souvent :

Active la surveillance de la durée d'inactivité du disque (0 pour désactiver):

CONTROL_HD_IDLE_TIMEOUT=1

Détermine les durées à attendre avant de mettre en veille le disque selon le mode d'alimentation (hdparm -S):

LM_AC_HD_IDLE_TIMEOUT_SECONDS=7200
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=20
NOLM_HD_IDLE_TIMEOUT_SECONDS=7200

Processeur

Exemple:

Fichier: /etc/laptop-mode/conf.d/cpufreq.conf
# cpufreq.conf
# ThinkPad T40/T42/T60 Example
#
CONTROL_CPU_FREQUENCY=1
BATT_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=ondemand
BATT_CPU_IGNORE_NICE_LOAD=1
LM_AC_CPU_MAXFREQ=fastest
LM_AC_CPU_MINFREQ=slowest
LM_AC_CPU_GOVERNOR=ondemand
LM_AC_CPU_IGNORE_NICE_LOAD=1
NOLM_AC_CPU_MAXFREQ=fastest
NOLM_AC_CPU_MINFREQ=slowest
NOLM_AC_CPU_GOVERNOR=ondemand
NOLM_AC_CPU_IGNORE_NICE_LOAD=0
CONTROL_CPU_THROTTLING=0

Voir Cpufreq pour plus de détail.

Périphérique et bus

Intel SATA

  • Active le mode ALPM du contrôleur Intel SATA utilisant AHCI afin de permettre la connexion SATA au disque de se mettre en mode de consommation très basse en l'absence d'échange de données.
Fichier: /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf
 # intel-sata-powermgmt.conf
 # ThinkPad T40/T42/T60 Example
 #
 DEBUG=0
 CONTROL_INTEL_SATA_POWER=1
 BATT_ACTIVATE_SATA_POWER=1
 LM_AC_ACTIVATE_SATA_POWER=1
 NOLM_AC_ACTIVATE_SATA_POWER=0
Note: Plus de détails dans /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf.

USB désactivation en auto

Fichier: /etc/laptop-mode/conf.d/usb-autosuspend.conf
 # usb-autosuspend.conf
 # ThinkPad T40/T42/T60 Example
 #
 DEBUG=0
 CONTROL_USB_AUTOSUSPEND=1
 BATT_SUSPEND_USB=1
 LM_AC_SUSPEND_USB=1
 NOLM_AC_SUSPEND_USB=0
 AUTOSUSPEND_TIMEOUT=2
Note: Plus de détails dans /etc/laptop-mode/conf.d/usb-autosuspend.conf.

Affichage

Luminosité

Le fichier contrôlant la luminosité est /etc/laptop-mode/conf.d/lcd-brightness.conf, c'est un ensemble de commande à lancer selon le mode d'alimentation.

Note: Le plus souvent, les valeurs de luminosité sont à écrire dans le fichier /sys/class/backlight/*/brightness, l'intervalle partant de 0 jusqu'à /sys/class/backlight/*/max_brightness.
Néanmoins, selon le modèle de votre pc, les fichiers peuvent être différents.

Exemple:

Fichier: /etc/laptop-mode/conf.d/lcd-brightness.conf
 # lcd-brightness.conf
 # ThinkPad T60 Example
 #
 DEBUG=0
 CONTROL_BRIGHTNESS=1
 BATT_BRIGHTNESS_COMMAND="echo 0"
 LM_AC_BRIGHTNESS_COMMAND="echo 7"
 NOLM_AC_BRIGHTNESS_COMMAND="echo 7"
 BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"


Extinction du terminal

Seulement pour les terminaux virtuels:

Fichier: /etc/laptop-mode/conf.d/terminal-blanking.conf
 # terminal-blanking.conf
 # ThinkPad T40/T42/T60 Example
 #
 DEBUG=0
 CONTROL_TERMINAL=1
 TERMINALS="/dev/tty1"
 BATT_TERMINAL_BLANK_MINUTES=1
 BATT_TERMINAL_POWERDOWN_MINUTES=2
 LM_AC_TERMINAL_BLANK_MINUTES=10
 LM_AC_TERMINAL_POWERDOWN_MINUTES=10
 NOLM_AC_TERMINAL_BLANK_MINUTES=10
 NOLM_AC_TERMINAL_POWERDOWN_MINUTES=10

Réseau

Ethernet

Fichier: /etc/laptop-mode/conf.d/ethernet.conf
 # ethernet.conf
 # ThinkPad T40/T42/T60 Example
 #
 DEBUG=0
 CONTROL_ETHERNET=1
 LM_AC_THROTTLE_ETHERNET=0
 NOLM_AC_THROTTLE_ETHERNET=0
 DISABLE_WAKEUP_ON_LAN=1
 DISABLE_ETHERNET_ON_BATTERY=1
 ETHERNET_DEVICES="eth0"

Wifi

Les réglages de gestion d'énergie de l'interface wifi sont dépendant du matériel, de ce fait, ils sont plus subtils à configurer. Les réglages dépendent du chipset et sont gérés dans un des trois fichiers suivants :

  • /etc/laptop-mode/conf.d/wireless-power.conf pour une méthode générique de gestion d'énergie (utilise iwconfig wlan0 power on/off). Ces réglages sont appliqués pour la majorité des chipsets.
  • /etc/laptop-mode/conf.d/wireless-ipw-power.conf pour les chipsets Intel pilotés par les vieux driver ipw. Ceci s'applique a ipw2100/2200.
  1. /etc/laptop-mode/conf.d/wireless-iwl-power.conf pour les chipsets pilotés par les modules iwl*.
Note: L'activation des trois ne devrait pas poser beaucoup de problèmes car LTM détecte le module utilisé par l'interface et utilise la configuration adéquate.

Il y a une particularité avec quelques chipset fonctionnant avec le module iwlagn (entre autres, le chipset 5300 et d'autres peut être). Pour ces derniers les paramètres suivant dans /etc/laptop-mode/conf.d/wireless-iwl-power.conf :

IWL_AC_POWER
IWL_BATT_POWER

sont ignoré car le fichier /sys/class/net/wlan*/device/power_level n'existe pas. A la place, c'est la méthode standard qui est automatiquement utilisé (avec iwconfig wlan0 power on/off).

Audio

Voir les fichiers ac97-powersave.conf ou intel-hda-powersave.conf.

Dépannage

laptop-mode-tools ne réagit pas aux évènements !

LTM à besoin que le service acpid tourne pour fonctionner correctement, lancez-le au démarrage:

systemctl enable acpid

Si ça ne fonctionne pas, vérifiez que le service que vous voulez utiliser est bien activé (son paramètre d'activation positionner à 1) dans le fichier de configuration principale, car pour la plupart (le contrôle de cpufreq inclus) il est positionner par défaut à "auto", ce qui ne lance pas toujours le service.

Outils personnels
Autres langues