Difference between revisions of "Powerdown"

From ArchWiki
Jump to: navigation, search
m (See also: rm invalid link)
(15 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[[Category:Hardware]]
+
[[Category:Power management]]
 
{{Article summary start}}
 
{{Article summary start}}
{{Article summary text|Powerdown is a script by Taylorchu that combines all sorts of settings to make your computer consume less energy and thus save batterylife.}}
+
{{Article summary text|{{AUR|powerdown}} is a bunch of scripts by Taylorchu that combine all sorts of settings to make your computer consume less energy and thus save batterylife.}}
 
{{Article summary heading|Related}}
 
{{Article summary heading|Related}}
 
{{Article summary wiki|Pm-utils}}
 
{{Article summary wiki|Pm-utils}}
 +
{{Article summary wiki|Udev}}
 
{{Article summary wiki|Display Power Management Signaling}}
 
{{Article summary wiki|Display Power Management Signaling}}
 
{{Article summary end}}
 
{{Article summary end}}
  
Powerdown is a script to take the hassle out of maximizing battery-life.
+
Powerdown is a bunch of scripts to take the hassle out of maximizing battery-life.
  
{{Note|Use at your own risk. It is recommended to read through all the tweaks in order to disable those that might not be compatible with your system.}}
+
{{Warning|Use at your own risk. It is recommended to read through all the tweaks in order to disable those that might not be compatible with your system.}}
  
 
==Installation==
 
==Installation==
Use your favourite AUR-helper to install {{AUR|powerdown}}, f.e.
+
{{AUR|powerdown-git}} is available from the [[AUR]].
# packer -S powerdown xorg-xset
+
  
Add the following options to your kernel boot-line (f.e. in grub's menu.lst):
+
{{Note|Powerdown tries disabling NMI watchdog on the fly. If this doesn't work for you, you'll see "Dazed and confused" messages when suspending. You can disable it completely by adding {{ic|1=nmi_watchdog=0}} to the kernel command line.
pcie_aspm=force i915.i915_enable_rc6=1
+
}}
  
Add the following lines to ~/.xinitrc:
+
Add the following lines to {{ic|~/.xinitrc}} to turn off your screen after 5 minutes of idling by default:
# screen powersave
+
{{hc|~/.xinitrc|
xset +dpms
+
# screen powersave
xset dpms 0 0 300
+
xset +dpms
 +
xset dpms 0 0 300
 +
}}
  
The script is located at ... Should you want to disable certain tweaks, you can easily comment them out by prepending '#'
+
{{Note|The script. If unsatisfactory, add {{ic|1=consoleblank=0}} to the kernel command line and run the following {{ic|xset}} commands (this would be a great addition to the powerdown scripts):
 +
xset s off
 +
xset s noblank
 +
xset s noexpose
 +
xset c on
 +
xset -dpms
 +
}}
 +
 
 +
The {{ic|powerdown}} shell script located in {{ic|/usr/bin}} can be customised to your needs. To disable any undesired features simply comment out its appropriate line.
  
 
==Usage==
 
==Usage==
After a reboot the script can now be run in a terminal:
 
# powerdown
 
  
To make it run on startup add the following to /etc/rc.local:
+
The following table presents all scripts installed.
  powerdown &
+
 
 +
{| border="1"
 +
! Name !! Function
 +
|-
 +
| powerdown, powerup || Powers everything down or up.
 +
|-
 +
| powerdown-functions || Defines functions that are used by powerdown and powerup.
 +
|-
 +
| powernow || Displays current power usage and settings.
 +
|-
 +
| powerdown.rules || The Udev rule that loads powerdown or powerup.
 +
|-
 +
| suspend-to-mem || Suspends to RAM.
 +
|-
 +
| suspend-to-disk || Suspends to HDD, creates a 2GB swap file at the first time doing so.
 +
|-
 +
| suspend-hybrid || First, suspends to RAM. After 10 minutes, wakes up and suspends to HDD.
 +
|-
 +
| pm-is-supported, pm-powersave, pm-suspend, pm-hibernate || Wrappers with pm-utils syntax (for legacy support?).
 +
|}
 +
 
 +
After a reboot the scripts can now be run in a terminal.
 +
 
 +
== Automatically running powerdown at power state changes ==
 +
 
 +
Powerdown is automatically loaded by a [[Udev]] rule, so no daemon, rc-script or service-file is necessary.
 +
 
 +
However, this doesn't work on every machine, so you might want to enable upower.service in systemd with
 +
  # systemctl enable upower.service
 +
or add {{ic|upower -e}} to your {{ic|.xinitrc}}.
 +
 
 +
== Configuration ==
  
There are also other scripts included in the package:
+
As there are no config files for powerdown, you have to edit {{ic|/usr/bin/powerdown}} by hand and adjust the values. Note, however, that these changes will be overwritten during an update!
# powerup
+
...
+
  
 
==FAQ==
 
==FAQ==
Line 43: Line 80:
 
==Packages that are no longer necessary after installation==
 
==Packages that are no longer necessary after installation==
 
[https://bbs.archlinux.org/viewtopic.php?pid=1094283#p1094283 Source]
 
[https://bbs.archlinux.org/viewtopic.php?pid=1094283#p1094283 Source]
# powertop, powertop2: these packages have no updates for at least 3-4 years. if you think kernel has no changes on power management for 3 or 4 years, go ahead and continue to use them. Replacement: ppower is included in new powerdown. it shows laptop power usage in mWh. the value is usually between 10000 to 25000.
+
# <s>powertop, powertop2: these packages have no updates for at least 3-4 years. if you think kernel has no changes on power management for 3 or 4 years, go ahead and continue to use them. Replacement: powernow is included in new powerdown. it shows laptop power usage in mWh. the value is usually between 10000 to 25000.</s>
 
# laptop-mode-tools: this is a huge framework on power management. It has dozens of configs you need to setup, which normally no one knows how to control them. I think it is a "troubleware"; to use it properly, you have to google more. most of time, you dont even know what works or not. Replacement: powerdown shows what does not work right in the screen. it contains all the rules optimized that just work.
 
# laptop-mode-tools: this is a huge framework on power management. It has dozens of configs you need to setup, which normally no one knows how to control them. I think it is a "troubleware"; to use it properly, you have to google more. most of time, you dont even know what works or not. Replacement: powerdown shows what does not work right in the screen. it contains all the rules optimized that just work.
# tuxonice, uswsusp, pm-utils: too hassle to set things up. again, they complicate suspend and resume. the default kernel already support suspends and resume pretty well. Replacement: ps2mem uses default kernel for ram suspend and resume. you just run "sudo ps2mem"; no framework, no setup.
+
# tuxonice, uswsusp, pm-utils: too hassle to set things up. again, they complicate suspend and resume. the default kernel already support suspends and resume pretty well. Replacement: ps2mem uses default kernel for ram suspend and resume. you just run "sudo suspend-to-mem"; no framework, no setup.
# ppoweroff solves a bug in kernel(even in 3,4 rc that ehci_hcd messes up shutdown when it is set to powersave mode). This is a wrapper for 'poweroff'. You just call it to shut down your arch box.
+
# turn-off solves a bug in kernel(even in 3,4 rc that ehci_hcd messes up shutdown when it is set to powersave mode). This is a wrapper for 'poweroff'. You just call it to shut down your arch box.
  
 
==See also==
 
==See also==
 
* [https://bbs.archlinux.org/viewtopic.php?id=134109 Initial thread on the forum]
 
* [https://bbs.archlinux.org/viewtopic.php?id=134109 Initial thread on the forum]
* [https://aur.archlinux.org/packages.php?ID=57421 AUR page]
 
 
* [https://github.com/taylorchu/powerdown Github repository]
 
* [https://github.com/taylorchu/powerdown Github repository]
 +
* [https://github.com/Unia/powersave Alternative, more simple powersave script]
 +
* [https://aur.archlinux.org/packages/powerconf Another simple power saving system]

Revision as of 14:01, 7 August 2013

Summary help replacing me
powerdownAUR is a bunch of scripts by Taylorchu that combine all sorts of settings to make your computer consume less energy and thus save batterylife.
Related
Pm-utils
Udev
Display Power Management Signaling

Powerdown is a bunch of scripts to take the hassle out of maximizing battery-life.

Warning: Use at your own risk. It is recommended to read through all the tweaks in order to disable those that might not be compatible with your system.

Installation

powerdown-gitAUR is available from the AUR.

Note: Powerdown tries disabling NMI watchdog on the fly. If this doesn't work for you, you'll see "Dazed and confused" messages when suspending. You can disable it completely by adding nmi_watchdog=0 to the kernel command line.

Add the following lines to ~/.xinitrc to turn off your screen after 5 minutes of idling by default:

~/.xinitrc
# screen powersave
xset +dpms
xset dpms 0 0 300
Note: The script. If unsatisfactory, add consoleblank=0 to the kernel command line and run the following xset commands (this would be a great addition to the powerdown scripts):
xset s off
xset s noblank
xset s noexpose
xset c on
xset -dpms

The powerdown shell script located in /usr/bin can be customised to your needs. To disable any undesired features simply comment out its appropriate line.

Usage

The following table presents all scripts installed.

Name Function
powerdown, powerup Powers everything down or up.
powerdown-functions Defines functions that are used by powerdown and powerup.
powernow Displays current power usage and settings.
powerdown.rules The Udev rule that loads powerdown or powerup.
suspend-to-mem Suspends to RAM.
suspend-to-disk Suspends to HDD, creates a 2GB swap file at the first time doing so.
suspend-hybrid First, suspends to RAM. After 10 minutes, wakes up and suspends to HDD.
pm-is-supported, pm-powersave, pm-suspend, pm-hibernate Wrappers with pm-utils syntax (for legacy support?).

After a reboot the scripts can now be run in a terminal.

Automatically running powerdown at power state changes

Powerdown is automatically loaded by a Udev rule, so no daemon, rc-script or service-file is necessary.

However, this doesn't work on every machine, so you might want to enable upower.service in systemd with

# systemctl enable upower.service

or add upower -e to your .xinitrc.

Configuration

As there are no config files for powerdown, you have to edit /usr/bin/powerdown by hand and adjust the values. Note, however, that these changes will be overwritten during an update!

FAQ

I do get more spinups and clicks from my HDD. Where is this setting stored in powerdown?

Set the following tweak to a higher value:

hdparm -B

Packages that are no longer necessary after installation

Source

  1. powertop, powertop2: these packages have no updates for at least 3-4 years. if you think kernel has no changes on power management for 3 or 4 years, go ahead and continue to use them. Replacement: powernow is included in new powerdown. it shows laptop power usage in mWh. the value is usually between 10000 to 25000.
  2. laptop-mode-tools: this is a huge framework on power management. It has dozens of configs you need to setup, which normally no one knows how to control them. I think it is a "troubleware"; to use it properly, you have to google more. most of time, you dont even know what works or not. Replacement: powerdown shows what does not work right in the screen. it contains all the rules optimized that just work.
  3. tuxonice, uswsusp, pm-utils: too hassle to set things up. again, they complicate suspend and resume. the default kernel already support suspends and resume pretty well. Replacement: ps2mem uses default kernel for ram suspend and resume. you just run "sudo suspend-to-mem"; no framework, no setup.
  4. turn-off solves a bug in kernel(even in 3,4 rc that ehci_hcd messes up shutdown when it is set to powersave mode). This is a wrapper for 'poweroff'. You just call it to shut down your arch box.

See also