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.
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!