Power Management

Richard Hughes hughsient at gmail.com
Fri Jun 8 09:51:00 EDT 2007


OLPC now uses the olpc-hardware-manager python service to do power
management tasks. This is not really suitable for long term use, and we
can't easily do clever things with this infrastructure.

I'm proposing to use OHM (ohm.freedesktop.org) to do the clever things,
and apply system wide policy. OHM has working code, and I'm currently
preparing a package for olpc. I've got some time now I'm interning at
Red Hat (and now I've finished my exams...). I want to integrate this,
and hopefully have a kick-ass solution that is long-term supportable in
as little time as possible.

OHM sits above HAL and lets HAL do the heavy lifting for reporting
events and doing actions. HAL is already packaged and being used for
OLPC. OHM is incredibly lightweight, and has a flexible compiled plugin
system for the rules, making it an ideal choice in my opinion. I wrote
most of the code, so consider my opinion very biased :-)

I'm thinking about system power management interactions for the OLPC. So
far I've got:

• When system idle for > 10 seconds and on battery we dim screen to 40%
• When system idle for > 30 seconds we turn the screen off
• When system idle for > 1 minute we suspend, assuming we have no
inhibits and CPU load is low
• When AC removed reduce brightness by 20%
• When battery power < 10% turn of wireless
• When battery power < 2% then shutdown
• When the lid is closed then turn off screen and suspend
• When battery power < 30% and not on AC then tell applications to use
low power mode (low quality video, only essential tasks)
• When the power button is pressed then save state and shutdown (we
probably should hibernate... can we do this yet?)
• If we interrupt the screen dim or power-off, then the time to dim is
doubled (task)
• If we are inhibited (system update) we do not auto-suspend
• If the ambient brightness is very high (outside mode), switch the
panel into reflective mode

I've been talking much to cjb and dwmw2, and of course blizzard, and
they have given me much of the hardware information I need.

Suggestions, feedback and cool feature ideas welcome,

Thanks,

Richard.




More information about the Devel mailing list