KubuntuFeistyLaptop

Differences between revisions 8 and 20 (spanning 12 versions)
Revision 8 as of 2006-11-10 06:05:48
Size: 4217
Editor: 38
Comment: ready for review
Revision 20 as of 2008-08-06 16:22:01
Size: 5519
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * '''Launchpad entry''': https://features.launchpad.net/distros/ubuntu/+spec/kubuntu-feisty-laptop
 * '''Packages affected''': kdebase, kde-guidance, ksynaptics, acpi-support, casper
 * '''Launchpad entry''': UbuntuSpec:kubuntu-feisty-laptop
 * '''Packages affected''': kdebase, kdeutils, kde-guidance, ksynaptics, casper, acpid
Line 13: Line 13:
Some functionality implemented in Edgy is lacking or implemented with limitations ([https://launchpad.net/bugs/64650 #64650], [https://launchpad.net/bugs/70454 #70454], [https://launchpad.net/bugs/67341 #67341]). Some functionality implemented in Edgy is lacking or implemented with limitations ([[https://launchpad.net/bugs/64650|#64650]], [[https://launchpad.net/bugs/70454|#70454]], [[https://launchpad.net/bugs/67341|#67341]]).
Line 16: Line 16:
 * Sarah would like that suspend and hibernate buttons on her laptop just work out of the box.
 * Jonathan would like that power button would offer him logout/shutdown/restart/suspend/hibernate options and not just power-off immediately,
 * Sebastian would like to set different CPU frequency scaling levels (powersave, performance) and automatic action if laptop is idle.
 * Tonio does not find a way to configure synaptics touch pad as ksynaptics is not installed by default.
 * Nuno does not like suspend/hibernate options not working on Desktop CD.
 * Sarah wants to use laptop button shortcuts on her laptop. She presses the suspend button and the laptop properly suspends (and, later, wakes up again).
 * Jonathan wants to restart the system. By pressing the power button he is offered logout/shutdown/restart/suspend/hibernate options (depending on laptop support) and clicking an option does the right thing.
 * Sebastian is a power user who wants to squeeze more juice out of his batteries. He can select appropriate CPU frequency scaling levels (ondemand, powersave, performance), when needed, from the power management tray icon, and can configure automatic actions (like suspend) if his laptop is idle for X minutes.
 * Tonio wants to fine tune his synaptics touch pad and likes to temporary disable touch pad when typing (not to get in the way). He starts System settings and can calibrate the touch pad, starts tray icon and use the tray applet to disable touch pad when typing.
 * Nuno uses the Desktop CD to evaluate Kubuntu. He expects that power management options suspend/hibernate are not available on the live system and that all available options work correctly.
Line 32: Line 32:
 * Evaluate recent kpowersave with [http://dkukawka.blogspot.com/2006/11/kpowersave-on-way-to-070.html HAL support] for main inclusion and as potential replacement of Guidance Powermanager. In order to be considered as default power management application in Kubuntu, it needs to fulfill the following criteria:
    * Proper integration with Ubuntu laptop infrastructure (acpi-support, pmi, hal)
    * Simplification of user interface (comparable to existing Guidance Powermanager)
 * Evaluate recent kpowersave with [[http://dkukawka.blogspot.com/2006/11/kpowersave-on-way-to-070.html|HAL support]] for main inclusion and as potential replacement of Guidance Powermanager. In order to be considered as default power management application in Kubuntu, it needs to fulfill the following criteria:
    * Proper integration with Ubuntu laptop infrastructure (acpi-support, pmi, hal) '''[done: ok]'''
    * Simplification of user interface (comparable to existing Guidance Powermanager) '''[done: still very complex UI due to schema model]'''
Line 37: Line 37:
    * Define global shortcuts for Suspend/Hibernate buttons and call HAL action
    * Define global shortcut for Battery button and call Powermanager over DCOP to show battery info
    * Define global shortcut for Power button to present standard logout dialog with Logout/Shutdown/Restart/Suspend/Hibernate options
    * Parse `power-managerrc` file for `lockOnResume`, `disableSuspend` and `disableHibernate` options and act appropriately
    * Update xkeysyms assignments in /usr/share/apps/kxkb/ubuntu.xmodmap to match most laptops buttons
    * Parse `power-managerrc` file for `lockOnResume`, `disableSuspend` and `disableHibernate` options and act appropriately '''[done: 3.5.5a.dfsg.1-1ubuntu11]'''
    * Update xkeysyms assignments in /usr/share/apps/kxkb/ubuntu.xmodmap to match most laptops buttons '''[partially: need to review again]'''

 * `kdeutils`
    * Define global shortcuts for Suspend/Hibernate buttons and call Powermanager over DCOP to perform action '''[done:3.5.6-0ubuntu2]'''
    * Define global shortcut for Battery button and call Powermanager over DCOP to show battery info '''[done:3.5.6-0ubuntu2]'''
Line 44: Line 45:
    * Fix power-manager DCOP interface to not use PID
    * Parse `power-managerrc` file for `lockOnResume`, `disableSuspend` and `disableHibernate` options and act appropriately
    * Allow setting current CPU frequency scaling (ondemand, powersave, performance)
    * Idle actions: automatic actions if machine is idle for X minutes
    * Fix power-manager DCOP interface to not use PID '''[done: 0.7.1~svn20061215-0ubuntu1]'''
    * Parse `power-managerrc` file for `lockOnResume`, `disableSuspend` and `disableHibernate` options and act appropriately '''[done: 0.7.1~svn20061215-0ubuntu1]'''
    * Allow setting current CPU frequency scaling (ondemand, powersave, performance) '''[done: 0.7.1~svn20070111-0ubuntu2]'''
    * Idle actions: automatic actions if machine is idle for X minutes '''[done: 0.7.1~svn20070111-0ubuntu2]'''
Line 50: Line 51:
    * Provide `power-managerrc` with `disableSuspend` and `disableHibernate` options turned on for Desktop CD user.     * Provide `power-managerrc` with `disableSuspend` and `disableHibernate` options turned on for Desktop CD user. '''[done: casper 1.79]'''
Line 52: Line 53:
 * `ksynaptics`
    * Prepare package for main inclusion
 * `acpid`
    * Change `/etc/acpi/powerbtn.sh` action for single KDE session to request KDE logout dialog for user to decide what to do. '''[done: acpid 1.0.4-5ubuntu5]'''

 * `ksynaptics` - '''[feature postponed]'''
    * Prepare package for main inclusion '''[not ready due to changing of xorg.conf file]'''
Line 58: Line 62:
 * Does new KPowersave provide proper replacement for Guidance Powermanager and similar simple and just-works experience?
 * Will HAL in Feisty provide CPU frequency functionality?
 * Py``Qt/PyKDE does not provide proper dbus event handling (polling still required).
 * Does new KPowersave provide proper replacement for Guidance Powermanager and similar simple and just-works experience? '''[still to complex functionality]'''
 * Will HAL in Feisty provide CPU frequency functionality? '''[it does]'''
 * Py``Qt/PyKDE does not provide proper dbus event handling (polling still required) - porting to PyQt4 would require replacing some KDE features (tray, dcop...) '''[latest python-dbus/PyQt4 have qt mainloop support]'''

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad entry: kubuntu-feisty-laptop

  • Packages affected: kdebase, kdeutils, kde-guidance, ksynaptics, casper, acpid

Summary

Edgy has several improvements (see KubuntuLaptopButtons and KubuntuPowerManagement spec) in laptop support that brings laptop support to comparable level with Ubuntu. For Feisty, we need to polish the solution to get to great out-of-the-box experience on Kubuntu laptop.

Rationale

Some functionality implemented in Edgy is lacking or implemented with limitations (#64650, #70454, #67341).

Use cases

  • Sarah wants to use laptop button shortcuts on her laptop. She presses the suspend button and the laptop properly suspends (and, later, wakes up again).
  • Jonathan wants to restart the system. By pressing the power button he is offered logout/shutdown/restart/suspend/hibernate options (depending on laptop support) and clicking an option does the right thing.
  • Sebastian is a power user who wants to squeeze more juice out of his batteries. He can select appropriate CPU frequency scaling levels (ondemand, powersave, performance), when needed, from the power management tray icon, and can configure automatic actions (like suspend) if his laptop is idle for X minutes.
  • Tonio wants to fine tune his synaptics touch pad and likes to temporary disable touch pad when typing (not to get in the way). He starts System settings and can calibrate the touch pad, starts tray icon and use the tray applet to disable touch pad when typing.
  • Nuno uses the Desktop CD to evaluate Kubuntu. He expects that power management options suspend/hibernate are not available on the live system and that all available options work correctly.

Scope

The intention is to reconsider kpowersave and implement some minor improvements that were not implemented in Edgy due to technical and/or time constraints.

Design

  • Review new kpowersave for potential main inclusion and feasibility to replace Guidance Powermanager.

  • Review laptop buttons assignments and implement missing functionality.
  • Review ksynaptics for main inclusion and inclusion in default setup.

  • Disable suspend/hibernate functionality when running Live/Desktop CD

Implementation

  • Evaluate recent kpowersave with HAL support for main inclusion and as potential replacement of Guidance Powermanager. In order to be considered as default power management application in Kubuntu, it needs to fulfill the following criteria:

    • Proper integration with Ubuntu laptop infrastructure (acpi-support, pmi, hal) [done: ok]

    • Simplification of user interface (comparable to existing Guidance Powermanager) [done: still very complex UI due to schema model]

  • kdebase

    • Parse power-managerrc file for lockOnResume, disableSuspend and disableHibernate options and act appropriately [done: 3.5.5a.dfsg.1-1ubuntu11]

    • Update xkeysyms assignments in /usr/share/apps/kxkb/ubuntu.xmodmap to match most laptops buttons [partially: need to review again]

  • kdeutils

    • Define global shortcuts for Suspend/Hibernate buttons and call Powermanager over DCOP to perform action [done:3.5.6-0ubuntu2]

    • Define global shortcut for Battery button and call Powermanager over DCOP to show battery info [done:3.5.6-0ubuntu2]

  • kde-guidance

    • Fix power-manager DCOP interface to not use PID [done: 0.7.1~svn20061215-0ubuntu1]

    • Parse power-managerrc file for lockOnResume, disableSuspend and disableHibernate options and act appropriately [done: 0.7.1~svn20061215-0ubuntu1]

    • Allow setting current CPU frequency scaling (ondemand, powersave, performance) [done: 0.7.1~svn20070111-0ubuntu2]

    • Idle actions: automatic actions if machine is idle for X minutes [done: 0.7.1~svn20070111-0ubuntu2]

  • casper

    • Provide power-managerrc with disableSuspend and disableHibernate options turned on for Desktop CD user. [done: casper 1.79]

  • acpid

    • Change /etc/acpi/powerbtn.sh action for single KDE session to request KDE logout dialog for user to decide what to do. [done: acpid 1.0.4-5ubuntu5]

  • ksynaptics - [feature postponed]

    • Prepare package for main inclusion [not ready due to changing of xorg.conf file]

    • Should not be started by default and should have proper default settings for just-works experience.
    • Add configuration module to System settings -> Keyboard and Mouse

Unresolved issues

  • Does new KPowersave provide proper replacement for Guidance Powermanager and similar simple and just-works experience? [still to complex functionality]

  • Will HAL in Feisty provide CPU frequency functionality? [it does]

  • PyQt/PyKDE does not provide proper dbus event handling (polling still required) - porting to PyQt4 would require replacing some KDE features (tray, dcop...) [latest python-dbus/PyQt4 have qt mainloop support]


CategorySpec

KubuntuFeistyLaptop (last edited 2008-08-06 16:22:01 by localhost)