Thursday, March 02, 2006

KPowersave 0.5.9-rc3 released

Yesterday I released a new KPowersave release candidate (RC3). This new version (v0.5.9) fixes APM support in KPowersave. I found several problems with battery informatiion on APM with the applet tooltip and the information dialog which based on bugs in powersave. Looks as APM was not really tested with powersave since the HAL support was added. I fixed this in powersave and also the battery state if no battery is available. Because of this changes KPowersave depends now on the new powersave version 0.12.1.

With the new powersave version I registered that HAL poll every 2 seconds /proc/apm. The apm interface recalculate with each read the remaining time. Thus HAL change with each poll the battery remaining time properties and send events over D-Bus. If we get every 2 seconds new events in powersave and with it also in KPowersave we use the D-BUS more often than with ACPI if the machine is on battery. Everyone say DBUS doen't need much CPU, but in this case (APM/battery/powersave/kpowersave/2 second poll in HAL) the DBUS daemon produce a CPU usage between 5 and 25 %. This is IMO to much - we need to investigate what the reason is.

In fact the APM handling in HAL is complete broken. HAL should not poll battery information every 2 seconds. This is okay to get AC information, but not for remaining time. I plan to rewrite APM in HAL: poll AC every 2 seconds, poll battery every 30-60 seconds and compute the remainig time over the percentage because the APM remainig time information are not really trustable and APM does not provide remainig time for changing mode. Here a list of the major changes in KPowersave since 0.5.6 (the last version I wrote about here):
  • removed the sound settings from the configure dialog and replaced this functionality with KNotify support (thanks to Michael Biebl), added more KNotify events to KPowersave (now with KNotify support the user can play sound, change the type of notification and/or start e.g. a programm or script for a event)
  • fixed CPU information on machines with throttling support and on machines without CPUfreq or throttling support
  • several GUI fixes in the information dialog
  • some fixes to be more portable (autotool fixes and fixed path to pidof for autosuspend on FC4)
  • string, translation and handbook fixes and updates