Opened 6 years ago

Last modified 6 years ago

#8442 new defect

Backlight dim/off timers are too conservative

Reported by: gnu Owned by: cjb
Priority: normal Milestone: 9.1.0-cancelled
Component: power manager (OHM) Version: not specified
Keywords: power cjbfor9.1.0 Cc: mikus
Blocked By: Blocking:
Deployments affected: Action Needed: design
Verified: no


Powering off the screen saves at least a quarter of the power consumed by an average running XO (1.5W out of 6W). We currently wait *twenty minutes* before we do this, though we dim the backlight after a single minute. Dimming saves some of that power, but dimming all the way to monochrome only saves 1W. Turning the screen off after dimming saves another 0.5W or more.

I think that dimming after a minute is fine (though it should be adjustable with the xset command and/or the Sugar control panel). I think that after we dim the screen, perhaps one or two minutes after, we should turn off the screen. If a human is looking at it when it dims, they will likely press a shift key or stroke the touchpad to un-dim it. If no human is looking, we shouldn't wait 19 more minutes to double the power savings.

(Turning the screen off would produce even greater power savings once we also power-down the DCON; see #2765.)

As I proposed in, I think this should be done by standard X DPMS support, which would allow querying and changing the timeouts with the standard X "xset dpms" command. The "standby" setting would dim the backlight, and the "suspend" or "off" setting would turn the screen off. This is a slight perversion of DPMS (normally, "standby" turns off the display, but comes back to life slightly faster than "suspend").

Note: currently in 8.2-759, dimming is a bit bizarre. With no power management enabled, we appear to never dim the screen, we merely blank it after 20 minutes using X facilities. With "advanced" power management enabled, we dim it with Ohm after 1 minute, then suspend the CPU if the CPU is idle. If we do suspend the CPU, we then don't blank the screen after 20 minutes (because we're suspended, and suspend doesn't yet wake up based on pending timer queue entries). You can observe both the 1-minute dimming and the 20-minute blanking by running something that burns CPU time ("while true; do true; done").

Change History (4)

comment:1 Changed 6 years ago by cjb

We currently wait *twenty minutes* before we do this, though we dim the backlight after a single minute.

No, this isn't right. Either you have power management turned on, in which case the backlight dims after a minute and then you suspend and then nothing further happens to the screen, or you have power management turned off, in which case the screen turns off but never dims.

I haven't been working on the case where power management's turned off; I tend to think that people have no desire to save power in that situation. We could probably stand to lower these timeouts, though.

comment:2 Changed 6 years ago by gregorio

  • Milestone changed from Not Triaged to 8.2.1

comment:3 Changed 6 years ago by mstone-xmlrpc

  • Keywords cjbfor9.1.0 added
  • Milestone changed from 8.2.1 to 9.1.0

Pushing out to 9.1.0, per edmcnierney's request.

comment:4 Changed 6 years ago by mikus

  • Cc mikus added
Note: See TracTickets for help on using tickets.