Pour gérer le matériel lors du changement d'état de la batterie, laptop-mode-tools est indispensable.
Mais il faut encore le paramétrer aux petits oignons.
Sur le Lenovo Thinkpad X220 Tablet, j'avais un lag sur l'écran tactile uniquement lorsque j'étais sur batterie.
Cela parce que laptop-mode-tools, par défaut, mets les périphériques usb en veille.
Egalement, quand je travaille sur batterie, je n'ai pas besoin du bluetooth.
Passons aux choses sérieuses : le paramétrage.
Les différents fichier de configuration pour le matériel se trouve dans /etc/laptop-mode/conf.d.
un petit ls montrera que l'on peut agir sur pratiquement tout le matériel.
Prenons mes besoins : le bluetooth et mon écran tactile, un périphérique usb.
# cd /etc/laptop-mode/conf.d
Bluetooth
# vi bluetooth.conf
Pour le désactiver automatiquement au passage sur batterie, il suffit de mettre d'avoir la ligne :
BATT_ENABLE_BLUETOOTH=0
USB
L'usb est un peu moins simple à gérer. Car on ne veut pas activer/désactiver l'ensemble des périphériques usb.
On ne veut pas non plus supprimer la mise en veille automatique (au bout de 2s) du paramétrage par défaut.
Le fichier à éditer est avec les éléments suivants :
# vi /etc/laptop-mode/conf.d/usb-autosuspend.conf
AUTOSUSPEND_USE_WHITELIST=0
pour utiliser la blacklist de matériels : ceux à ne pas suspendre automatiquement.
Ensuite il faut les déclarer dans cette blacklist.
La configuration de laptop-mode permet de déclarer les périphériques usb par leur id ou leur nom.
avec l'id du périphérique usb :
AUTOSUSPEND_USBID_BLACKLIST="056a:00e6"
On obtient cet id avec la commande suivante :
$ lsusb
Bus 001 Device 001: ...
...
Bus 002 Device 003: ID 056a:00e6 Wacom Co., Ltd
En effet, l'écran tactile est un périphérique usb de type Wacom ;)
Pour déclarer le périphérique usb avec le nom de son driver, il faut renseigner ce dernier au niveau de la ligne :
AUTOSUSPEND_USBTYPE_BLACKLIST=""
En commentaire, il est écrit ceci :
# The list of USB driver types that should not use autosuspend. The driver
# type is given by "DRIVER=..." in a USB device's uevent file.
# Example: AUTOSUSPEND_USBID_BLACKLIST="usbhid usb-storage"
Mais je n'ai pas su trouver comment obtenir le nom du driver d'un périphérique usb.
N'hésiter pas à mentionner comment faire dans un commentaire...
Il est également possible de lancer ou d'éteindre des programmes selon les événements de la batterie dans le fichier start-stop-programs.conf .
Laptop-mode permet également de lancer des scripts au changement d'état de la batterie : débranchement ou rebranchement du câble d'alimentation électrique.
Ces scripts sont à mettre selon la nécessité dans les répertoires de /etc/laptop-mode :
batt-start
→ ensemble de scripts à exécuter quand on entre en mode batteriebatt-stop
→ ensemble de scripts à exécuter quand on sort du mode batterielm-ac-start
→ ensemble de scripts à exécuter quand on entre en mode sur secteurlm-ac-stop
→ ensemble de scripts à exécuter quand on sort du mode sur secteurnolm-ac-start
→ ensemble de scripts à exécuter quand on entre en mode sur secteur au reposnolm-ac-stop
→ ensemble de scripts à exécuter quand on sort du mode sur secteur au repos
En commentaire, n'hésitez pas à dire quelle configuration vous avez réalisé sur votre machine ;)
source: http://doc.ubuntu-fr.org/laptop-mode-tools