GNOME Bugzilla – Bug 340355
Need "Minimize power usage" setting
Last modified: 2006-06-18 14:56:00 UTC
The world would be better off if computers didn't use a lot of energy so even when on AC the user should have an option to aggresively save a lot of energy by sacrificing performance. On the other hand, most users wants as much performance as possible when running on AC. Finally, some users wants top performance even on batteries. Hence, it makes sense for the user to configure this in the UI. I think it would be fair. Here's an idea to achieve that 1. The user gets a new option [ ] Sacrifice performance for power savings (might want to reword it, English is not my native tongue) in both the AC, Battery and UPS tabs. By default it's checked in the Battery and UPS tabs but not in the AC tab. 2. g-p-m gets new stuff on the session bus method: bool shouldSacrificePerformance() signal: shouldSacrificePerformanceChanged(bool value) and applications such as NetworkManager's GNOME bits (less aggressive scanning, lower radio stuff), Totem (select less CPU hungry codec) etc. can use this _if_ they like. 3. Implementation-wise, for the system stuff, g-p-m calls setLowPower() on HAL with the appropriate value. Btw, it would also benefit users using these kind of extra batteries http://www.sps-ltd.com/product/external/max90/max90.htm since they would choose to sacrifice performance for less energy consumption even when the computer "thinks" it's plugged in. For reference, see http://lists.freedesktop.org/archives/pm-utils/2006-May/000087.html
While thinking about this, we should remove method: bool getOnAc() signal: onAcChanged(bool value) as applications should move to the new interface described above.
See also http://lists.freedesktop.org/archives/pm-utils/2006-May/000089.html for some more UI suggestions (dialog and option in tray icon) as well as http://lists.freedesktop.org/archives/pm-utils/2006-May/000088.html for some more rationale.
Kay Sievers also remarked to me in a chat session that one reason for "sacrificing performance for energy savings" is to prevent the noisy fans for starting...
Yes, this is a good idea, and lots better thank just blindly using lowpowermode when we use battery power. We're going to need: /apps/gnome-power-manager/use_lowpower_ac (default off) /apps/gnome-power-manager/use_lowpower_ups (default on) /apps/gnome-power-manager/use_lowpower_battery (default on) I'm not sure sacrifice is a good word, due the thoughts about death and ritual killing... Maybe a simple prefer might be better: In all three state tabs in the preferences: [x] Prefer power savings over performance (or) [x] Prefer performance over power savings Plus the dropdown menu element: [x] Power saving The dbus stuff: runtimePowerSave(bool) Plus some stuff in yelp explaining it all. That sound good? Feel free to argue about names and stuff. Richard.
I had a spare 30 minutes: 2006-05-02 Richard Hughes <richard@hughsie.com> * data/gnome-power-manager.schemas.in, src/gpm-prefs.h: Add the /apps/gnome-power-manager/use_lowpower_{ac|ups|battery} keys. * data/gpm-prefs.glade: Add the checkboxes to enable the lowpower mode checkboxes. * src/gpm-prefs-core.c (setup_ac_actions, setup_battery_actions, setup_ups_actions): Support the new checkboxes and tie the values into gconf keys. Starting to work towards a fix for #340355. * src/gpm-prefs-core.c (gpm_prefs_init): Use gconf_key_changed_cb() to act on gconf keys changing outside of g-p-p. Should help out the Ubuntu guys with their modifications also. It's not hooked into the GpmManager stuff yet, it only sets the right gconf keys and is exposed in the UI. Richard.
2006-05-05 Richard Hughes <richard@hughsie.com> * src/gpm-manager.c: (change_power_policy): Respect the user policy enabling low power mode when required. Can you check cvs pls, and tell me if everything looks okay. Thanks.
2006-06-18 Richard Hughes <richard@hughsie.com> * docs/dbus-interface.xml: * docs/gnome-power-manager.html: * src/gpm-manager.c: * src/gpm-manager.h: * src/gpm-manager.xml: Add gpm_manager_get_low_power_mode and the dbus method GetLowPowerMode for #340355. Still need to do the signal, but that needs some more refactoring of the state code.