Automatic sleep settings are not followed precisely

Bug #1055874 reported by Sparhawk on 2012-09-24
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
GNOME Settings Daemon
Fix Released
Medium
OEM Priority Project
High
Unassigned
Precise
High
Unassigned
gnome-power-manager (Ubuntu)
Undecided
Unassigned
Precise
Undecided
Unassigned
gnome-settings-daemon (Ubuntu)
Low
Unassigned
Precise
Undecided
Unassigned

Bug Description

[Impact]

According to the current design in Ubuntu Precise, users can choose the suspend time and blank time in the gnome control center (system settings). However, there's another gsetting called "org.gnome.settings-daemon.plugins.power idle-dim-time" which controls the screen dim time. The default value of idle-dim-time in Ubuntu is 30 secs and this makes the screen dim after idle for 30 secs. This part (idle-dim-time) is not accessible to users in the default UI but can only be accessed by using the CLI.

   This two categories of values (dim time/suspend&blank time) should not be related at all, however, the current Ubuntu Precise (12.04)'s gnome settings daemon (3.4.2) it actually suspend or blank the screen on "user set time plus the dim time", which added additional 30 secs by default. Since dim time is not accessible by users in default UI, this confusing users why extra 30 secs is added to the total time on top of the selected suspend/blank time.

   In some OEM projects, in order to fulfill the OEM requests for Energy Star standard, the dim time is set to 5 minutes default (instead of 30 secs), and this make the suspend time and screen blank time very inaccurate, because user will have additional 5 minutes to wait before the screen blank or system suspend. (Inactive time to suspend is about 5 minutes more than setting.)

 * User do not need modify anything for this patch.

[Test Case]

* Please use Ubuntu Precise (12.04) to test, this issue is already fixed in Ubuntu Raring (13.04)

* Set idle-dim-time to 300 first (5 minutes), it's much easier to find out this issue.
(the default is 30 secs and it's somehow not as easy to observe, but the result should be same.)
Command:
#gsettings set org.gnome.settings-daemon.plugins.power idle-dim-time 300

*In settings:
Turn screen off: 10 minutes
Suspend: 10 minutes on battery power, 30 minutes when plugged in.

Actual:
On battery: Screen turned off after 10 minutes, suspend after about 5 more minutes(15 minutes total).
When plugged in: Screen turned off after 10 minutes, suspend after about 25 more minutes(35 minutes total).

Steps:
1. Check power settings and brightness settings
2. Leave the system inactive

Expected results: Inactive time to suspend is same as setting

Actual results: Inactive time to suspend is about 5 minutes more than setting

[Regression Potential]

* This do not need to modify any user settings.

* The impact should be minimal for an inaccurate timing of suspend/blanking.

[Other Info]

Original bug description:

When I set the various timeouts via dconf-editor, my computer does not follow them precisely. I'm referring to these settings:

org.gnome.settings-daemon.plugins.power sleep-display-ac
org.gnome.settings-daemon.plugins.power sleep-display-battery
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout

For example if I set all to 5, then the display sleeps at 30 seconds, and the computer at 70 seconds. Similarly, if I set them all to 60, the computer suspends around 90 seconds. I've only tried these shorter settings. These are clearly values that are low for normal usage, but this bug is very frustrating if one attempts to troubleshoot unrelated automatic-sleep bugs. Firstly, I think I missed the case when automatic sleep might have worked. Secondly, it increases the time it takes to troubleshoot by a lot.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: gnome-power-manager 3.4.0-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-31.50-generic 3.2.28
Uname: Linux 3.2.0-31-generic x86_64
ApportVersion: 2.0.1-0ubuntu13
Architecture: amd64
Date: Tue Sep 25 09:43:50 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
SourcePackage: gnome-power-manager
UpgradeStatus: Upgraded to precise on 2012-04-29 (148 days ago)

Related branches

Sparhawk (sparhawkthesecond) wrote :
Tim Chen (timchen119) wrote :

@Sparhawk
what's the result of
#gsettings get org.gnome.settings-daemon.plugins.power idle-dim-time
?

idle-dim-time will affect the time you set on those settings, you need to plus the dim time.

if idle-dim-time is 30, and sleep-display-ac is 60
your monitor will turn off after 90 secs inactive.

and whenever you set sleep-display-ac by gsettings , you also need to set

[org.gnome.settings-daemon.plugins.power]
sleep-display-ac
sleep-display-battery
and

[org.gnome.desktop.session]
idle-delay

these 3 values need to be same in the gsettings.

Tim Chen (timchen119) wrote :

@Sparhawk
and if your sleep-inactive-(ac|battery)-type is suspend

the actual suspend time will be

sleep-inactive-(ac|battery)-timeout + idle-dim-time

but if your sleep-display-(ac|battery) > sleep-inactive-(ac|battery)-timeout

the actual suspend time will be

sleep-display-(ac|battery) + idle-dim-time

hope these explains the default behavior in ubuntu now.

btw, this should related to gnome-setttings-daemon not gnome-power-manager , and it's indeed has some design issue,

there is a upstream fix already submitted. ( https://bugzilla.gnome.org/show_bug.cgi?id=668703 )

but not yet in precise (and quantel), I'd assume this is going to be changed in 13.04.

Tim Chen (timchen119) on 2012-10-05
affects: gnome-settings-daemon → gnome-settings-daemon (Ubuntu)
Tim Chen (timchen119) on 2012-10-05
affects: gnome-settings-daemon (Ubuntu) → gnome-settings-daemon
Changed in gnome-settings-daemon:
importance: Unknown → Medium
status: Unknown → Fix Released
Sparhawk (sparhawkthesecond) wrote :

Thanks for the explanation, Tim. It's a bit unintuitive, especially since I have idle-dim(ac|battery) set to false!

In any case, I still see some inconsistencies. I've got the following settings:
sleep-display-(ac|battery) 4
sleep-inactive-(ac|battery)-timeout 5
idle-dim-time 5

The screen dims at 9 seconds, which is consistent with sleep-display-(ac|battery) + idle-dim-time.

OTOH, the computer suspends at c. 50 seconds, which doesn't seem to make sense at all?

Tim Chen (timchen119) wrote :

@sparhawkthesecond

what is your idle-delay ?
org.gnome.desktop.session idle-delay may affect on this.

as I said in #2, idle-delay setting must be same with sleep-display-(ac|battery).
I think g-c-c UI have this check but if you use gsettings to cheange the value then it may not that easy to find out this issue.

Sparhawk (sparhawkthesecond) wrote :

Ah okay. Sorry about that. I must've missed that part of your comment for some reason. That seems to work now.

Cheers.

Tim Chen (timchen119) on 2012-11-13
Changed in gnome-power-manager (Ubuntu):
status: New → Invalid
Changed in gnome-settings-daemon (Ubuntu):
importance: Undecided → Low
status: New → Fix Committed
Sebastien Bacher (seb128) wrote :

The issue is fixed with 3.6 in raring

Changed in gnome-settings-daemon (Ubuntu):
status: Fix Committed → Fix Released
Tammy Yang (wanchingy) on 2013-11-11
Changed in oem-priority:
importance: Undecided → High
Tim Chen (timchen119) on 2013-11-12
description: updated
description: updated
Tim Chen (timchen119) on 2013-11-12
description: updated
Ara Pulido (ara) on 2014-04-04
Changed in oem-priority:
status: New → In Progress

Hello Sparhawk, or anyone else affected,

Accepted gnome-settings-daemon into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/gnome-settings-daemon/3.4.2-0ubuntu0.6.6 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in gnome-settings-daemon (Ubuntu Precise):
status: New → Fix Committed
tags: added: verification-needed
Sparhawk (sparhawkthesecond) wrote :

Sorry, I can't test this. I'm not using gnome any more, as I've moved to KDE.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-power-manager (Ubuntu Precise):
status: New → Confirmed
Bartosz Kosiorek (gang65) wrote :

After install from proposed (precise), the problem with suspend has gone for me.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-settings-daemon - 3.4.2-0ubuntu0.6.6

---------------
gnome-settings-daemon (3.4.2-0ubuntu0.6.6) precise; urgency=low

  * debian/patches/fix-suspend-and-blanking-time.patch
    - Make suspend and blanking time followed gsettings precisely,
      fix suspend and blanking time related to idle-dim-time issue.
      (LP: #1055874)
 -- Jian-Ding Chen (timchen119) <email address hidden> Mon, 11 Nov 2013 14:12:28 +0800

Changed in gnome-settings-daemon (Ubuntu Precise):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for gnome-settings-daemon has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Ara Pulido (ara) on 2014-05-05
Changed in oem-priority:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.