Re: [Oneiric-Topic] Simplifying system sleep functions
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
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
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
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
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