Outils pour utilisateurs

Outils du site


config:archlinux:powersaving

Table des matières

Gestion de l'énergie

Un portable, c'est bien.

Quand la batterie ne se décharge pas en 30 minutes, c'est mieux ! :-P

Quelle(s) solution(s) adopter avec ArchLinux ?

laptop-mode-tools

La solution complète et optimale pour gérer l'énergie. Plein de choses à paramétrer. Tip top.

Mais mets 17 secondes à démarrer sur mon Alienware M11Xr2 (double le temps de démarrage).

Si vous n'êtes pas pressés, c'est sympa, mais pas pour moi.

tpl

Disponible sur AUR.

Semble sympa et moins lourd que le précédent.

Mais là encore, il faut démarrer un daemon.

powerdown

En fait, toutes ces solutions ne font que lancer un certain nombre de commandes lorsque vous démarrez le mode d'économie de l'énergie.

Alors pourquoi ne pas sélectionner vous-même quoi optimiser ?

powerdown utilise deux scripts et une règle udev : powerdown est appelé quand vous débranchez l'alimentation, et powerup quand vous la rebranchez.

Pour différentes raisons, j'ai modifié ces deux scripts et voici le résultat :

powerdown
#!/usr/bin/env bash
# powerdown - powersave script
# please use this with xset dpms, hdparm
 
if [[ $EUID != 0 ]]; then
  echo "[powerdown] must be run as root"
  exit 1
fi
 
source /usr/lib/powerdown-functions
 
lock
 
# bus
for i in /sys/bus/*; do
  ## USB will be treated separatly
  [[ "$i" == "/sys/bus/usb" ]] && continue
  for ii in $i/devices/*/power/control; do opt $ii auto; done
done
 
# usb
## Unknown device
opt /sys/bus/usb/devices/1-1/power/control auto
## Unknown device
opt /sys/bus/usb/devices/1-2/power/control auto
## Unknown device
opt /sys/bus/usb/devices/2-1/power/control auto
## EHCI Host Controller 1
opt /sys/bus/usb/devices/usb1/power/control auto
## EHCI Host Controller 2
opt /sys/bus/usb/devices/usb2/power/control auto
## Webcam
opt /sys/bus/usb/devices/1-1.2/power/control auto
## Trendnet TEW-648-UBM -- lower right USB port --- Will fail if not 'on'
#opt /sys/bus/usb/devices/2-1.2/power/control auto
## Alienware Phantom [Gaming device]
opt /sys/bus/usb/devices/2-1.4/power/control auto
 
#for i in /sys/bus/*/devices/*/power/control; do opt $i auto; done
 
# usb autosuspend
## Already have a better setting: 2 seconds
#for i in /sys/bus/usb/devices/*/power/autosuspend; do opt $i 10; done
 
# nmi_watchdog
opt /proc/sys/kernel/nmi_watchdog 0
 
# cpu
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do opt $i powersave; done
# for i in /sys/devices/system/cpu/cpu*/online; do opt $i 0; done
 
# aspm
opt /sys/module/pcie_aspm/parameters/policy powersave
 
# kernel write mode
opt /proc/sys/vm/laptop_mode 5
opt /proc/sys/vm/dirty_ratio 90
opt /proc/sys/vm/dirty_background_ratio 1
opt /proc/sys/vm/dirty_expire_centisecs 60000
opt /proc/sys/vm/dirty_writeback_centisecs 60000
 
# Disk powersave
for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run mount -o remount,relatime $dev; done
for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run blockdev --setra 4096 $dev; done
for i in /sys/class/scsi_host/host*/link_power_management_policy; do opt $i min_power; done
for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run hdparm -B 127 -S 12 $dev; done
 
# Sound card powersave
opt /sys/module/snd_hda_intel/parameters/power_save 1
#opt /sys/module/snd_hda_intel/parameters/power_save_controller Y
#opt /sys/module/snd_ac97_codec/parameters/power_save 1
 
# wlan0/eth0 powersave
opt /sys/modules/8192cu/parameters/rtw_power_mgnt 2
#run iw dev wlan0 set power_save on
 
# Screen powersave
for i in /sys/class/backlight/acpi_video*/brightness; do opt $i 0; done
## Already have a better setting: 7
#opt /sys/module/i915/parameters/i915_enable_rc6 1
 
# Disable webcam/discrete graphic card
unload_mod uvcvideo
unload_mod nvidia
#unload_mod nouveau
#unload_mod videodev
 
# Disable bluetooth
unload_mod btusb
unload_mod bluetooth
 
# EoF
powerup
#!/usr/bin/env bash
# powerdown - powerup
 
if [[ $EUID != 0 ]]; then
  echo "[powerdown] must be run as root"
  exit 1
fi
 
source /usr/lib/powerdown-functions
 
lock
 
# usb autosuspend
## Already have a better setting: 2 seconds
#for i in /sys/bus/usb/devices/*/power/autosuspend; do opt $i 600; done
 
# cpu
#for i in /sys/devices/system/cpu/cpu*/online; do opt $i 1; done
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do opt $i ondemand; done
 
## aspm
opt /sys/module/pcie_aspm/parameters/policy performance
 
## Sound card powersave
opt /sys/module/snd_hda_intel/parameters/power_save 0
 
# kernel write mode
opt /proc/sys/vm/laptop_mode 0
opt /proc/sys/vm/dirty_ratio 30
opt /proc/sys/vm/dirty_background_ratio 10
opt /proc/sys/vm/dirty_expire_centisecs 600
opt /proc/sys/vm/dirty_writeback_centisecs 600
 
# Disk powersave
for i in /sys/class/scsi_host/host*/link_power_management_policy; do opt $i max_performance; done
## Restore optimal HDparm settings (for performance)
for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run hdparm -B 254 -S 0 $dev; done
 
# wlan0/eth0 powersave
opt /sys/modules/8192cu/parameters/rtw_power_mgnt 0
#run iw dev wlan0 set power_save off
 
# Screen powersave
for i in /sys/class/backlight/acpi_video*/brightness; do opt $i 7; done
 
# Disable webcam
load_mod uvcvideo
#load_mod videodev
#load_mod nouveau
 
# Disable bluetooth
#load_mod btusb
#load_mod bluetooth
 
# EoF
config/archlinux/powersaving.txt · Dernière modification: 2013/11/21 18:29 par cyriac