Add power on/off display functionality
Reported by
jacobwis...@aopen.com,
Jul 13 2016
|
|||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 Steps to reproduce the problem: 1. Chrome Power API doesn't power off display separate of system 2. Also the release keep awake function doesn't allow you to release screen and display separately. 3. No API is available to power off displays individually. What is the expected behavior? Screens would power off and back on when requested. What went wrong? Screen doesn't power off. Did this work before? No Chrome version: <Copy from: 'about:version'> Channel: n/a OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: Shockwave Flash 22.0 r0 We would like there to be an API to allow us to power off and on displays individually. Ideally this would be a function that is part of the existing system.display API set.
,
Jul 19 2016
,
Jul 19 2016
You're referring to the chrome.power API (https://developer.chrome.com/extensions/power), right? Could you provide some example use cases describing what you're trying to do and why you want to do it? Are you trying to do this on Windows or on Chrome OS? It's already possible to switch between the "system" and "display" keep-awake levels. From the requestKeepAwake documentation: "If a request previously made by the same app is still active, it will be replaced by the new request."
,
Nov 10 2016
Hi Guys,
Sorry I thought I had replied.
The idea behind this is for Digital Signage, out of hours the displays need to turn off completely. In some cases this is critical because the panels are only rated for 16 hours On / 8 hours Off. If you run the displays for 24 hours it shortens the warranty period.
The issue with request keep awake is that you cannot release the keep awake on an individual "level" you have to release all keep awakes via chrome.power.releaseKeepAwake() and then call chrome.power.requestKeepAwake("system") to ensure that the device doesn't sleep.
In any case I have tested doing the above and the displays still don't turn off/sleep, I believe this is because the keep awake is maintained on the "system" level.
Ideally this would be an api that is part of the chrome.system.display set of APIs. For example: chrome.system.display.powerOff(id) chrome.system.display.powerOn(id), where ID is the unique ID of that display.
In some cases we would want to turn off individual displays attached to a single device.
An example of this use case is:
External facing display runs 24/7 and advertises to the street, whereas the internal facing display is switched off out of hours. This cannot be done with the current API.
There is the following API for sending control messages over HDMI http://elinux.org/CEC_(Consumer_Electronics_Control)_over_HDMI, I imagine there is something similair for DP. For Aopen hardware it is neccessary to have both HDMI & DP control messaging as our chromebox features both HDMI & DP and the Internal Display on the Aopen Chromebase display is run over DP with an external HDMI port available.
I hope this gives you more of an idea of what we are looking for.
Regards
Jacob Wischnat
,
Nov 10 2016
> The issue with request keep awake is that you cannot release the keep awake on
> an individual "level" you have to release all keep awakes via
> chrome.power.releaseKeepAwake() and then call
> chrome.power.requestKeepAwake("system") to ensure that the device doesn't
> sleep.
An extension can only have a single request. Calling requestKeepAwake with a new level replaces the current request. https://developer.chrome.com/apps/power seems clear about this:
"Requests that power management be temporarily disabled. |level| describes the degree to which power management should be disabled. If a request previously made by the same app is still active, it will be replaced by the new request."
If your extension previously called chrome.power.requestKeepAwake("display") and you now want it to instead only keep the system awake, just call chrome.power.requestKeepAwake("system"). Is that not working as documented?
Please attach /var/log/power_manager/powerd.LATEST after reproducing the problem (and also mention the timestamps when you tried to switch modes, expected the display to turn off, etc.).
You should be able to get the desired behavior by doing something like the following:
- Call requestKeepAwake("display") when you want the display to turn on.
- Call requestKeepAwake("system") when you want the display to turn off (soon) but the system to remain awake.
If you want "soon" to be shorter, you can set policies to configure it: https://www.chromium.org/administrators/policy-list-3#PowerManagement
(In that case, you can also override the idle action and/or delay so the system will always be awake. Then you can just use requestKeepAwake("display") and releaseKeepAwake() to force the display on or not.)
,
Nov 10 2016
Sorry, I completely misread the API. I will test this on our hardware and validate it works as expected. Hopefully we can still consider extending this API to support the use case I described. Thanks for your help. Regards Jacob.
,
Nov 10 2016
Cc-ing some people who modified chrome.system.display to see if there are any plans to support disabling individual displays via e.g. setDisplayProperties. I think that marcheu@ has told me before that most Chrome OS devices lack hardware support for HDMI-CEC.
,
Nov 10 2016
The cec pin isn't connected. We can't do it at all.
,
Nov 11 2016
Hi Guys, I have done my testing and everything works as expected. Without CEC support there is nothing we can do surrounding control of individual display state that is fair enough. In regard to the policies surrounding the power timeout, the page lists those policies as being deprecated, is this the case? Additionally where are those policies set? Note: This is for Kiosk Apps on ChromeOS. Regards Jacob.
,
Nov 11 2016
I believe that PowerManagementIdleSettings replaces the deprecated policies. https://support.google.com/chrome/a/answer/1289314?hl=en has more details about device management.
,
Nov 11 2016
Ok Thanks, We will look in to this. Regards Jacob.
,
Nov 18 2016
Thank you for providing more feedback. Adding "Needs-Review" label for tracking. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 29 2016
,
Nov 29 2016
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by sdurais...@google.com
, Jul 13 2016Components: UI>Shell>Kiosk