Re: [Oneiric-Topic] Simplifying system sleep functions

2011-04-22 Thread Ted Gould
On Thu, 2011-04-21 at 12:06 -0400, Tony Espy wrote:
 On 04/21/2011 11:49 AM, Ted Gould wrote:
  On Thu, 2011-04-21 at 11:34 -0400, Tony Espy wrote:
  On 04/19/2011 08:09 PM, Jason Warner wrote:
  Hi Everyone - Sending this on behalf of John Lea, desktop design lead.
 
  ==
 
  Currently Ubuntu contains two separate sleep functions, suspend and
  hibernate.  This choice confuses users and is a un-necessary
  complication to 'sleeping' the computer.  The proposed change is to
  combine both 'suspend' and 'hibernate' into a single 'sleep' function.
 When the user presses 'sleep', the computer should both suspend and
  hibernate simultaneously.  The computer remains suspended for a set
  period of time (e.g. 30min) or until the battery charge falls below a
  set level.  At the point the suspend state is discarded, and if  the
  user wakes the computer after this point their state is restored from
  hibernate.  However if the user wakes the computer before the suspend
  state is discarded, the computer is restored from 'suspend' and the
  'hibernate' state is discarded.
 
  I'm not a fan of this idea.
 
  If suspend works for the vast majority of users, why complicate it by
  adding a timed auto-hibernate to the equation?  As a few folks have
  pointed out, what if hibernate fails?  What if the BIOS doesn't properly
  support a wake timer?
 
  I'm pretty sure the latter criteria for triggering hibernate ( critical
  low-battery event while suspended ) already works.  It essentially wakes
  the system from suspend, the power manager notices the battery is
  critically low, and invokes a hibernate.  The timed scenario would work
  in a similar manner, except that after a timer event wakes the system,
  the power manager would have to have added logic to trigger the hibernate.
 
  I'm much more in favor of hiding or even removing hibernate from the UI,
  as long as it remains an option for critical low-battery event for
  those systems that properly support hibernate.
 
  I think these are all valid cases, but I think that we should support
  this feature.  I think how we should handle this is with a whitelist if
  machines that we know hibernate works on.  We can provide instructions
  on adding your machine to that list if you want.  Otherwise machines
  that get certified by a vendor that cares about Ubuntu could ship their
  machine in that whitelist.
 
 Two words come to mind...maintenance nightmare.  ;)
 
 After having lived through OEM-hell the last three months dealing with 
 ACPI stress testing and hibernate failures on Sandy Bridge machines, the 
 idea of maintaining a whitelist of machines that are known to have a 
 working hibernate function, doesn't seem very practical to me.

I'm confused, wouldn't your work there be effectively building that
whitelist?  Sounds like work you've already done ;-)

  What I think this does, and I don't believe it's really a bad thing, is
  makes it so there are effectively two Ubuntu experiences.  That which
  you get from installing off of the CD on random hardware, and that which
  you get when you use a hardware vendor that cares about Ubuntu.  I think
  that we need to make the experience the best we can for hardware vendors
  that want to participate in Ubuntu -- and provide reasonable fallback
  for those who don't.
 
 Personally, if we really want to consider this idea, I think we need to 
 put cycles into making hibernate work better first ( faster, more user 
 feedback, ... ).
 
 Another alternative would be to explore something more radical, along 
 the lines of what OS X does, which actually tries to combine hibernate 
 and sleep as opposed to running them in a serial fashion as proposed.

So I guess that'd be the list of things we should discuss in the
session.  What are the requirements and changes we'd need to make
hibernate work well enough to make this a reality?  We can't budget time
if we don't know what we want :-)

Also, I thought this *was* how OSX did things.  Can you explain how that
works as I don't know.

--Ted




signature.asc
Description: This is a digitally signed message part
-- 
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop


Re: [Oneiric-Topic] Simplifying system sleep functions

2011-04-22 Thread Tony Espy

On 04/22/2011 10:27 AM, Ted Gould wrote:

On Thu, 2011-04-21 at 12:06 -0400, Tony Espy wrote:

On 04/21/2011 11:49 AM, Ted Gould wrote:

On Thu, 2011-04-21 at 11:34 -0400, Tony Espy wrote:

On 04/19/2011 08:09 PM, Jason Warner wrote:

Hi Everyone - Sending this on behalf of John Lea, desktop design lead.

==

Currently Ubuntu contains two separate sleep functions, suspend and
hibernate.  This choice confuses users and is a un-necessary
complication to 'sleeping' the computer.  The proposed change is to
combine both 'suspend' and 'hibernate' into a single 'sleep' function.
When the user presses 'sleep', the computer should both suspend and
hibernate simultaneously.  The computer remains suspended for a set
period of time (e.g. 30min) or until the battery charge falls below a
set level.  At the point the suspend state is discarded, and if  the
user wakes the computer after this point their state is restored from
hibernate.  However if the user wakes the computer before the suspend
state is discarded, the computer is restored from 'suspend' and the
'hibernate' state is discarded.


I'm not a fan of this idea.

If suspend works for the vast majority of users, why complicate it by
adding a timed auto-hibernate to the equation?  As a few folks have
pointed out, what if hibernate fails?  What if the BIOS doesn't properly
support a wake timer?

I'm pretty sure the latter criteria for triggering hibernate ( critical
low-battery event while suspended ) already works.  It essentially wakes
the system from suspend, the power manager notices the battery is
critically low, and invokes a hibernate.  The timed scenario would work
in a similar manner, except that after a timer event wakes the system,
the power manager would have to have added logic to trigger the hibernate.

I'm much more in favor of hiding or even removing hibernate from the UI,
as long as it remains an option for critical low-battery event for
those systems that properly support hibernate.


I think these are all valid cases, but I think that we should support
this feature.  I think how we should handle this is with a whitelist if
machines that we know hibernate works on.  We can provide instructions
on adding your machine to that list if you want.  Otherwise machines
that get certified by a vendor that cares about Ubuntu could ship their
machine in that whitelist.


Two words come to mind...maintenance nightmare.  ;)

After having lived through OEM-hell the last three months dealing with
ACPI stress testing and hibernate failures on Sandy Bridge machines, the
idea of maintaining a whitelist of machines that are known to have a
working hibernate function, doesn't seem very practical to me.


I'm confused, wouldn't your work there be effectively building that
whitelist?  Sounds like work you've already done ;-)


Ah, there you go, volunteering me for work items!  We can talk about 
this over beers in Budapest!



What I think this does, and I don't believe it's really a bad thing, is
makes it so there are effectively two Ubuntu experiences.  That which
you get from installing off of the CD on random hardware, and that which
you get when you use a hardware vendor that cares about Ubuntu.  I think
that we need to make the experience the best we can for hardware vendors
that want to participate in Ubuntu -- and provide reasonable fallback
for those who don't.


Personally, if we really want to consider this idea, I think we need to
put cycles into making hibernate work better first ( faster, more user
feedback, ... ).

Another alternative would be to explore something more radical, along
the lines of what OS X does, which actually tries to combine hibernate
and sleep as opposed to running them in a serial fashion as proposed.


So I guess that'd be the list of things we should discuss in the
session.  What are the requirements and changes we'd need to make
hibernate work well enough to make this a reality?  We can't budget time
if we don't know what we want :-)

Also, I thought this *was* how OSX did things.  Can you explain how that
works as I don't know.


My understanding is that macbooks running the latest versions of OS X, 
always write a hibernate image to disk when sleeping, however the 
machine still goes into S3 (sleep).  If the system is resumed and power 
has never dropped below critical level, then it's just like a normal 
suspend/resume.  If however the system runs out of juice...the next time 
it's booted, it will resume from the hibernate image.


This is different than a normal Ubuntu install, where sleep == suspend, 
with no hibernate image written.  If the battery reaches a critical 
level, the machine is woken up, and the power manager will initiate a 
hibernate ( unless the user has changed the default setting ).


pm-utils does support something called pm-suspend-hybrid which acts like 
the OS X sleep, but I have little experience with it.


Does anybody care to comment on the current 

Re: [Oneiric-Topic] Simplifying system sleep functions

2011-04-21 Thread Ted Gould
On Thu, 2011-04-21 at 11:34 -0400, Tony Espy wrote:
 On 04/19/2011 08:09 PM, Jason Warner wrote:
  Hi Everyone - Sending this on behalf of John Lea, desktop design lead.
 
  ==
 
  Currently Ubuntu contains two separate sleep functions, suspend and
  hibernate.  This choice confuses users and is a un-necessary
  complication to 'sleeping' the computer.  The proposed change is to
  combine both 'suspend' and 'hibernate' into a single 'sleep' function.
When the user presses 'sleep', the computer should both suspend and
  hibernate simultaneously.  The computer remains suspended for a set
  period of time (e.g. 30min) or until the battery charge falls below a
  set level.  At the point the suspend state is discarded, and if  the
  user wakes the computer after this point their state is restored from
  hibernate.  However if the user wakes the computer before the suspend
  state is discarded, the computer is restored from 'suspend' and the
  'hibernate' state is discarded.
 
 I'm not a fan of this idea.
 
 If suspend works for the vast majority of users, why complicate it by 
 adding a timed auto-hibernate to the equation?  As a few folks have 
 pointed out, what if hibernate fails?  What if the BIOS doesn't properly 
 support a wake timer?
 
 I'm pretty sure the latter criteria for triggering hibernate ( critical 
 low-battery event while suspended ) already works.  It essentially wakes 
 the system from suspend, the power manager notices the battery is 
 critically low, and invokes a hibernate.  The timed scenario would work 
 in a similar manner, except that after a timer event wakes the system, 
 the power manager would have to have added logic to trigger the hibernate.
 
 I'm much more in favor of hiding or even removing hibernate from the UI, 
 as long as it remains an option for critical low-battery event for 
 those systems that properly support hibernate.

I think these are all valid cases, but I think that we should support
this feature.  I think how we should handle this is with a whitelist if
machines that we know hibernate works on.  We can provide instructions
on adding your machine to that list if you want.  Otherwise machines
that get certified by a vendor that cares about Ubuntu could ship their
machine in that whitelist.

What I think this does, and I don't believe it's really a bad thing, is
makes it so there are effectively two Ubuntu experiences.  That which
you get from installing off of the CD on random hardware, and that which
you get when you use a hardware vendor that cares about Ubuntu.  I think
that we need to make the experience the best we can for hardware vendors
that want to participate in Ubuntu -- and provide reasonable fallback
for those who don't.

--Ted



signature.asc
Description: This is a digitally signed message part
-- 
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop


Re: [Oneiric-Topic] Simplifying system sleep functions

2011-04-21 Thread Tony Espy

On 04/21/2011 11:49 AM, Ted Gould wrote:

On Thu, 2011-04-21 at 11:34 -0400, Tony Espy wrote:

On 04/19/2011 08:09 PM, Jason Warner wrote:

Hi Everyone - Sending this on behalf of John Lea, desktop design lead.

==

Currently Ubuntu contains two separate sleep functions, suspend and
hibernate.  This choice confuses users and is a un-necessary
complication to 'sleeping' the computer.  The proposed change is to
combine both 'suspend' and 'hibernate' into a single 'sleep' function.
   When the user presses 'sleep', the computer should both suspend and
hibernate simultaneously.  The computer remains suspended for a set
period of time (e.g. 30min) or until the battery charge falls below a
set level.  At the point the suspend state is discarded, and if  the
user wakes the computer after this point their state is restored from
hibernate.  However if the user wakes the computer before the suspend
state is discarded, the computer is restored from 'suspend' and the
'hibernate' state is discarded.


I'm not a fan of this idea.

If suspend works for the vast majority of users, why complicate it by
adding a timed auto-hibernate to the equation?  As a few folks have
pointed out, what if hibernate fails?  What if the BIOS doesn't properly
support a wake timer?

I'm pretty sure the latter criteria for triggering hibernate ( critical
low-battery event while suspended ) already works.  It essentially wakes
the system from suspend, the power manager notices the battery is
critically low, and invokes a hibernate.  The timed scenario would work
in a similar manner, except that after a timer event wakes the system,
the power manager would have to have added logic to trigger the hibernate.

I'm much more in favor of hiding or even removing hibernate from the UI,
as long as it remains an option for critical low-battery event for
those systems that properly support hibernate.


I think these are all valid cases, but I think that we should support
this feature.  I think how we should handle this is with a whitelist if
machines that we know hibernate works on.  We can provide instructions
on adding your machine to that list if you want.  Otherwise machines
that get certified by a vendor that cares about Ubuntu could ship their
machine in that whitelist.


Two words come to mind...maintenance nightmare.  ;)

After having lived through OEM-hell the last three months dealing with 
ACPI stress testing and hibernate failures on Sandy Bridge machines, the 
idea of maintaining a whitelist of machines that are known to have a 
working hibernate function, doesn't seem very practical to me.



What I think this does, and I don't believe it's really a bad thing, is
makes it so there are effectively two Ubuntu experiences.  That which
you get from installing off of the CD on random hardware, and that which
you get when you use a hardware vendor that cares about Ubuntu.  I think
that we need to make the experience the best we can for hardware vendors
that want to participate in Ubuntu -- and provide reasonable fallback
for those who don't.


Personally, if we really want to consider this idea, I think we need to 
put cycles into making hibernate work better first ( faster, more user 
feedback, ... ).


Another alternative would be to explore something more radical, along 
the lines of what OS X does, which actually tries to combine hibernate 
and sleep as opposed to running them in a serial fashion as proposed.


/t




--
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop


Re: [Oneiric-Topic] Simplifying system sleep functions

2011-04-20 Thread Didier Roche
Le mercredi 20 avril 2011 à 17:38 +1000, Christopher James Halse Rogers
a écrit :
 
 I think that reliability will be the determining factor in whether
this
 is usable or not.  This behaviour would be a win if I don't have to
 worry that hibernate's not going to work - or that my laptop's going
to
 wake up in my backpack and then not shut down properly.

I totally agree with Christopher. The recent discussion on ubuntu-devel
showed that hibernate was broken on a quite huge extend of
hardwares/drivers, especially blob driver where we have no control over
at all (IIRC, nvidia doesn't work when resuming from hibernate. At
least, all my hardware with that card never had for me).

Didier


-- 
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop