The issue comes up now, because systemd and gnome-settings-daemon now
implement the SuspendThenHibernate option, which will automatically
hibernate after 3 hours. This is a major change in policy. It is in
particular problematic, as it means that we end up using hibernation by
default, which is (currently) unsupported and likely to result in data
loss for some users.
I believe the following options were proposed:
1. Create a setting for gnome-settings-daemon to disable the
SuspendThenHibernate feature and simply always use Suspend.
Expose this in gnome-control-center.
2. Disable Hibernate (and SuspendThenHibernate) in systemd(-logind)
3. Disable hibernation support in the Fedora kernel
4. Disable SuspendThenHibernate and switch to hybrid suspend
So, as I see it:
1. Adding a GNOME setting
+ Easy to configure by users
- Requires Fedora specific gnome-settings-daemon and
gnome-control-center patches and UI changes
- Looks like hibernation and suspend-then-hibernate is supported,
while we do not support it
2. Disable hibernation (and suspend-then-hibernate) in systemd
+ Also removed "Hibernate" option from "Power Button action"
in gnome-control-center (as we don't support it)
+ Easy enough to enable for testing purposes
+ Users get the more desirable suspend-then-hibernate policy by
default if enabled in systemd.
* Note that I am unsure if this is currently easily possible.
A systemd patch may be necessary to make this configurable.
3. Hibernation disabled in Kernel
+ Prevents this issue completely
+ Makes it very clear we do not support hibernate
- Makes it hard to test hibernation
- Probably makes some existing users rather unhappy
* This would be a decision for the kernel team to make.
4. Prefer hybrid suspend (rather than SuspendThenHibernate)
+ Might result in some extra testing exposure for hibernation
+ Added feature to not loose data when battery runs out
- No advantage with regard to battery runtime
(suspend-then-hibernate is all about power saving)
- Is a also a bigger change in default policy in my view
- Makes suspend operation much slower
* This might be easiest to implement in systemd, not sure though
i.e. disable SuspendThenHibernate and change default Suspend action
I hope that this summarises the discussion sufficiently and I didn't
miss important bits.
On Thu, 2018-09-13 at 15:45 +0200, Hans de Goede wrote:
Hi Benjamin, Carlos,
I'm mailing you 2 because you maintain g-s-d now.
As discussed on the Fedora desktop mailinglist in the
"system now hibernates automatically 3 hours after suspend ?"
thread, the suspend-then-hibernate behavior is not really
ready for mainstream use yet (according to the systemd folks).
Also from a kernel pov all of a sudden using hibernate is
a huge change and involves code paths which no other major
distro has been using sofar.
So we really need to disable this for Fedora 29. And as
mentioned in the thread when we decide to enable this for
a future release, it really needs to go through the changes
process so that it is well document we are changing this
and people will have a clue what is the likely culprit
if leaving their laptop suspend for > 3h all of a sudden