HAL FDI matched Buttons

David Zeuthen david at fubar.dk
Tue Nov 29 12:13:27 PST 2005


On Tue, 2005-11-29 at 20:46 +0100, Stefan Seyfried wrote:
> for a long time, i had users complaining that "with windows, my battery
> runs much longer than with linux". Now we are at least on par on many
> machines (on some we are better) but we need some advanced features to
> be able to do this. And unfortunately this is not all easily
> autodetected, so we need some way to enable / disable the stuff.

AFAIK, both Windows XP and Mac OS X does runtime power management, yes,
and that gives a few watts here and there to e.g. turn off your
soundcard when not used (hence why you sometimes hear a characteristic
"click" just before you hear the bell signaling new e-mail). All this
can surely be done without user intervention.

Btw, Dave Jones writes a bit about this here

 http://www.livejournal.com/users/kernelslacker/30873.html

> Last time i used Windows, there was a tool called "regedit" that allowed
> to tweak such stuff.

Last time I checked we have sysfs that allows what you call "advanced
users" to tweak such stuff. And the direction runtime power management
is going (as far as I understand it) in is very much that the kernel is
going to enforce a policy that user space can set via sysfs. Because all
this stuff isn't baked yet we get to do crazy-crazy stuff in user space
at the moment. That doesn't make it right however. Let's rather spend
our time influencing what the kernel should be doing and fix the root
problems instead.

So.. if some geek wants to write a GNOME or KDE applet for tweaking some
knob via sysfs, fine by me. But don't come and tell me that more than
0.01% of users will ever need to use it. Because if they do we already
failed cuz really who, besides the geek on the block, cares if they have
3hrs 30 minutes or 3hrs or 45 minutes of battery. And I refuse to put
interfaces for such a tiny applet in HAL because, really, I like to keep
things simple (also cf. all the FUD about HAL being a ACME Mega Daemon
from Hell).

Hence, there's absolutely no need in my view to put this into another
user space daemon. The only thing we really want, I think, is "selective
suspend" and we'll just fix that in HAL by e.g. making the HAL device
object representing the USB device export methods called 

 org.freedesktop.Hal.Device.RuntimePowerManagement.Suspend()
 org.freedesktop.Hal.Device.RuntimePowerManagement.Resume()

and you can trivially write a 100-line python applet to dock in your
panel or make Konqi or Nautilus use this to e.g. selectively suspend an
external hard disk through the context menu (but even this I consider a
geek feature but again I want to be reasonable).

(note that the kernel should/will suspend the external hard disk when
not used too, but this is distinctly different from "selective
suspend").

> Oh - and many users switch to Linux because they are tired of being
> infantilized by those "mainstream operating systems".

I refuse to design my software in a particular way just because the
Slashdot Peanut Gallery tells me too. FWIW, I consider Windows to have
too many crazy options but that is another story :-)

Sorry for the rant btw :-)

Best Regards,
David



More information about the hal mailing list