Unified power management for linux

Hosted by:


Powermgr is a daemon written in Perl that ties together all the aspects of power management on a Linux system.

It can control the CPU speed and governor (or speedfreq policy), change the screen brightness, enable or disable wireless power management, change the fan status and/or speed, switch runlevels, start or stop services, execute programs, and write files based on AC adapter state, battery time and percentage, fan state, CPU and hard drive temperatures, load average, and running processes.  It can access the manufacturer-specific extensions for Asus, Dell, IBM, OmniBook, and Toshiba laptops, as well as standard ACPI.

Powermgr is configured with Profiles and Rules.  A Profile specifies the state of all the power management functions as a whole.  For example, a Profile named "performance" could specify that the CPU governor be set to performance, laptop mode be turned off, and the screen brightness be turned all the way up.  A Rule specifies the conditions under which a Profile will be selected.

Supported Hardware

Test Results

Test machine specs: Asus M2400Ne laptop, Intel Pentium M processor 735 (1.7 GHz, 2 MB L2 cache, 400 MHz FSB), 512 MB RAM, 60 GB 7200 RPM hard drive.

Tests were performed when 1) idle at the console, 2) idle at the desktop, 3) running F@H at the desktop, and 4) running looped kernel compiles at the desktop.

Situation Measurement powersave critical battery normal ac performance
idle CPU speed 600000 600000 600000 618333 618333 1700000
Battery life 4:28 4:22 4:10 4:10 3:44 2:56
Temperature 47 47 46 47 47 56
desktop CPU speed 600000 600000 600000 636666 618333 1700000
Battery life 4:42 4:58 4:28 4:22 3:53 3:08
Temperature 51 49 48 47 47 55
running F@H CPU speed 600000 600000 813333 1700000 1700000 1700000
Battery life 3:53 3:58 3:44 2:02 1:49 1:55
Temperature 54 55 58 82 93 96
building kernel CPU speed 600000 600000 1655000 1681666 1700000 1700000
Battery life 3:44 3:30 1:54 1:54 1:54 1:55
Temperature 55 55 83 96 96 96


You can download powermgr at the SourceForge project.

There is an ebuild for Gentoo here; install it as $PORTDIR_OVERLAY/sys-power/powermgr/powermgr-0.0.10.ebuild. You will then have to run ebuild $PORTDIR_OVERLAY/sys-power/powermgr/powermgr-0.0.10.ebuild digest, and then you can run emerge powermgr. There are several USE flags for powermgr: acpi, dell, ibm, ipw2200, omnibook, speedfreq, and wireless. They will each ask portage to install the dependencies for those drivers: acpi installs acpid, dell installs i8kutils, ibm installs ibm-acpi, ipw2200 installs ipw2200, omnibook installs omnibook, speedfreq installs speedreq, and wireless installs wireless-tools. I suggest starting with acpi and wireless and also including dell, ibm, ipw2200, or omnibook if they apply to your laptop.


Comments, suggestions, and constructive criticism are greatly appreciated!