Difference between revisions of "TLP"

From ArchWiki
Jump to: navigation, search
(linrunner)
m (Remove deprecated instructions for deamonarray)
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Power management (English)]]
+
[[Category:Power management]]
== Introduction ==
+
'''TLP''' implements advanced power management for Linux. TLP is a pure command line tool with
'''TLP''' is a set of scripts that bring you the benefits of advanced power management for Linux without the need to understand every technical detail. The default configuration provides optimized power saving out of the box.  
+
automated background tasks. It does not contain a GUI. The default configuration provides optimized power saving out of the box.  
  
It was originally written by linrunner for Ubuntu. A port is available at the [https://aur.archlinux.org/packages.php?ID=48464l AUR].  
+
{{aur|tlp}} is available in the AUR. Read the the full documentation at the [http://linrunner.de/tlp project homepage].
+
 
 +
== Features ==
 
Settings depending on the power source ac/bat:
 
Settings depending on the power source ac/bat:
* Kernel laptop mode, dirty buffer params and file system commit timeout
+
* Kernel laptop mode and dirty buffer params
* Power aware process scheduler for multi-core/multi-threading
+
* CPU scaling governor and mix/max frequencies
* Hard disk advanced power magement level (per disk)
+
* Power aware process scheduler for multi-core/hyper-threading
 +
* Hard disk advanced power magement level and spin down timeout (per disk)
 
* SATA aggressive link power management (ALPM)
 
* SATA aggressive link power management (ALPM)
* PCI Express active state power management (PCIe ASPM) - Kernel 2.6.35 and above
+
* PCIe active state power management (PCIe ASPM) - Kernel 2.6.35 and above
* Runtime power management for pci/spi/i2c bus devices - Kernel 2.6.35 and above
+
* Runtime power management for PCI(e) bus devices - Kernel 2.6.35 and above
 
* Radeon graphics KMS power management - Kernel 2.6.35 and above, not fglrx
 
* Radeon graphics KMS power management - Kernel 2.6.35 and above, not fglrx
 
* Wifi power saving mode -  depending on kernel/driver
 
* Wifi power saving mode -  depending on kernel/driver
Line 17: Line 19:
  
 
Additional functions:
 
Additional functions:
* Hard disk spin down timeout and I/O scheduler (per disk)
+
* I/O scheduler (per disk)
* USB autosuspend with blacklist
+
* USB autosuspend with blacklist (input devices excluded automatically)
 
* Audio power saving mode - hda_intel, ac97
 
* Audio power saving mode - hda_intel, ac97
* Disable Wifi, bluetooth or WWAN devices upon system startup and shutdown
+
* Enable or disable integrated radio devices upon system startup and shutdown
 +
* Restore radio device state on system startup (from previous shutdown).
 +
* Radio device wizard: switch radios upon network connect/disconnect and dock/undock
 
* Disable Wake On LAN
 
* Disable Wake On LAN
* WWAN state is restored after suspend/hibernate
+
* Integrated wwan state is restored after suspend/hibernate
 
* Untervolting of Intel processors - requires kernel with PHC-Patch
 
* Untervolting of Intel processors - requires kernel with PHC-Patch
 
* Battery charge thresholds - ThinkPads only
 
* Battery charge thresholds - ThinkPads only
Line 31: Line 35:
 
After successful installation, you can start TLP by typing ''as root/with sudo'':
 
After successful installation, you can start TLP by typing ''as root/with sudo'':
 
  tlp start
 
  tlp start
To start TLP as a daemon, add '''tlp''' to the DAEMONS section in {{Filename|/etc/rc.conf}}
+
To run TLP automatically upon system startup, enable the service via:
DAEMONS=( ... '''tlp''' ...)
+
  systemctl enable tlp-init.service
  
 
== Configuration ==
 
== Configuration ==
The config-file is located at {{Filename|/etc/default/tlp}}. A full list of options is documented here: [https://github.com/linrunner/TLP/wiki/TLP-Configuration TLP Configuration]. To make use of the battery-related options, install and configure [[Tp_smapi]].  
+
The config-file is located at {{ic|/etc/default/tlp}}. A full list of options is documented here: [http://linrunner.de/en/tlp/docs/tlp-configuration.html TLP Configuration]. To make use of the battery-related options, install and configure [[Tp_smapi]].  
  
 
== Kernel 2.6.39 ==
 
== Kernel 2.6.39 ==
Line 42: Line 46:
 
You can use PCIe ASPM settings by starting the kernel with
 
You can use PCIe ASPM settings by starting the kernel with
 
  pcie_aspm=force
 
  pcie_aspm=force
== Wi-Fi ==
 
Some Intel Wi-Fi cards require to set their powersaving options '''after''' establishing connection. Therefore the original version of TLP adds a script to {{Filename|/etc/network/if-up.d/}}, which itself calls (''as root'')
 
tlp wifi $IFACE
 
where '''$IFACE''' is the current Interface (e.g. wlan0). In Arch Linux, there is no such possibility by default. If you own a wifi card, which is not supported out of the box, please use the post-up methods of your preferred networking manager (like [[netcfg]] oder [[NetworkManager]]).
 
If TLP sets the powersaving options properly on ac-state changed, you do not need to change anything. Check this, by issuing the following command twice, before and after unplugging your ac adapter:
 
iwconfig | grep "Power Management"
 
 
=== NetworkManager ===
 
linrunner has created a little script for NetworkManager , which sets the the Powersaving options. It should be located in {{Filename|/etc/NetworkManager/dispatcher.d/02_tlp-ifup}}. Again, if everything is working ok, you do not need to add this script!
 
 
#!/bin/sh
 
# tlp - ifup hook
 
[ -n "$1" ] || exit 0
 
 
IWC=iwconfig
 
TLP=/usr/sbin/tlp
 
[ -x $TLP ] || exit 0
 
 
IFACE="$1"
 
case "$2" in
 
    up)
 
        if [ -z $($IWC $IFACE 2>&1 | grep "no wireless extensions") ]; then
 
            # interface is wifi
 
            $TLP wifi $IFACE
 
        elif [ "${IFACE#usb}" != "$IFACE" -o "${IFACE#hso}" != "$IFACE" -o "${IFACE#ppp}" != "$IFACE" ]; then
 
            # interface is (probably) wwan
 
            $TLP usb
 
        fi
 
        ;;
 
       
 
    *) # do nothing
 
        ;;
 
esac
 
exit 0
 
 
=== netcfg ===
 
Just add
 
POST_UP=tlp wifi $INTERFACE
 
to the config-file.
 
  
 
== External Links ==
 
== External Links ==
* [https://github.com/linrunner/TLP/wiki/TLP-Linux-Advanced-Power-Management TLP Documentation]
+
* [http://linrunner.de/tlp TLP - Linux Advanced Power Management] - Project homepage & documentation
* [https://github.com/linrunner/TLP/wiki/TLP-Configuration TLP Configuration] - Settings
+
* [https://github.com/linrunner/TLP/blob/master/debian/changelog TLP Changelog]
+
* [https://github.com/linrunner/TLP/wiki/TLP-Developer-Documentation TLP Developer Documentation]
+
* [http://thinkpad-wiki.org/TLP_-_Linux_Stromsparen TLP - Linux Stromsparen] – Dokumentation in deutsch
+

Revision as of 13:04, 14 November 2012

TLP implements advanced power management for Linux. TLP is a pure command line tool with automated background tasks. It does not contain a GUI. The default configuration provides optimized power saving out of the box.

tlpAUR is available in the AUR. Read the the full documentation at the project homepage.

Features

Settings depending on the power source ac/bat:

  • Kernel laptop mode and dirty buffer params
  • CPU scaling governor and mix/max frequencies
  • Power aware process scheduler for multi-core/hyper-threading
  • Hard disk advanced power magement level and spin down timeout (per disk)
  • SATA aggressive link power management (ALPM)
  • PCIe active state power management (PCIe ASPM) - Kernel 2.6.35 and above
  • Runtime power management for PCI(e) bus devices - Kernel 2.6.35 and above
  • Radeon graphics KMS power management - Kernel 2.6.35 and above, not fglrx
  • Wifi power saving mode - depending on kernel/driver
  • Power off optical drive in drive bay (on battery)

Additional functions:

  • I/O scheduler (per disk)
  • USB autosuspend with blacklist (input devices excluded automatically)
  • Audio power saving mode - hda_intel, ac97
  • Enable or disable integrated radio devices upon system startup and shutdown
  • Restore radio device state on system startup (from previous shutdown).
  • Radio device wizard: switch radios upon network connect/disconnect and dock/undock
  • Disable Wake On LAN
  • Integrated wwan state is restored after suspend/hibernate
  • Untervolting of Intel processors - requires kernel with PHC-Patch
  • Battery charge thresholds - ThinkPads only
  • Recalibrate battery - ThinkPads only

Installation

Just install it from the AUR. After successful installation, you can start TLP by typing as root/with sudo:

tlp start

To run TLP automatically upon system startup, enable the service via:

 systemctl enable tlp-init.service

Configuration

The config-file is located at /etc/default/tlp. A full list of options is documented here: TLP Configuration. To make use of the battery-related options, install and configure Tp_smapi.

Kernel 2.6.39

According to this thread, the kernel 2.6.39 does not allow user-settings to

/sys/module/pcie_aspm/parameters/policy

You can use PCIe ASPM settings by starting the kernel with

pcie_aspm=force

External Links