Bug 98375 - Intel driver is ignoring DPMS monitor section
Summary: Intel driver is ignoring DPMS monitor section
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-21 21:34 UTC by Mariusz Białończyk
Modified: 2016-10-24 15:03 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.log with logverbose 20 (124.90 KB, text/x-log)
2016-10-21 21:34 UTC, Mariusz Białończyk
no flags Details
xorg.conf (3.51 KB, text/plain)
2016-10-21 21:36 UTC, Mariusz Białończyk
no flags Details

Description Mariusz Białończyk 2016-10-21 21:34:33 UTC
Created attachment 127455 [details]
Xorg.log with logverbose 20

Hi.
The problem is that the intel driver seems to ignoring the:
Option "DPMS" "false"
of the associated monitor section in the xorg.conf.

Expected behavior: If a monitor has "DPMS" set to "false" the monitor should stay powered on, even after typing "xset dpms force off"/or DPMS enabled by the window manager.

Current behavior: The monitor is powered down.
I was also testing to put "DPMS" "false" to all monitors associated with the intel driver - the result was the same => all monitors went sleep.

Other drivers (tested on nvidia and nouveau) honors this option and monitor with the above option set is not turned off, while the others are.

As a side note, I can see a difference in parsing the option by the driver, because when all intel-driven monitors are without the DPMS option, then I have in the log:
[   147.737] (==) intel(0): DPMS enabled
[   147.737] (==) intel(1): DPMS enabled

and when I disable DPMS for monitor0, then in the log is only one line:
[   147.737] (==) intel(1): DPMS enabled

I am attaching my xorg.conf and the log with .
Comment 1 Mariusz Białończyk 2016-10-21 21:36:05 UTC
Created attachment 127456 [details]
xorg.conf
Comment 2 Chris Wilson 2016-10-21 22:16:29 UTC
The blanking came in via dixSaveScreens, oddly.

commit b7d6f695ddab02b7afef0f1ca3ae132f4fdbfd43
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Oct 21 23:11:42 2016 +0100

    sna: Disable screen saver if Option "DPMS" is specified
    
    The defacto standard is that the screensaver only blanks the screen but
    keeps the outputs alive. We differ by actually disabling the CRTC when
    the screen saver kicks in (to save power), however this circumvents
    Option "DPMS".
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98375
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 3 Mariusz Białończyk 2016-10-22 12:15:29 UTC
Chris,
First of all thank you for quick response and a fix.
Unfortunately your fix is working partially:
Any monitor with "DPMS" "false" option is not showing anything besides the last console state.
I mean the following: when I am starting xorg from console then after starting Xorg, all monitors are showing my wallpaper from my window manager, but the one with DPMS=false has this console texts frozen (cursor is not blinking).

The good news is: when I tested it with "xset dpms force off", then mentioned monitor did not power off, while the second one connected to intel driver (without specified DPMS option) went sleep correctly, so in this area the patch is working fine :)

Steps to reproduce:
Set the "DPMS" "false" option in the monitor section, and see that Xorg is not "rendering" anything on it.
Comment 4 Mariusz Białończyk 2016-10-24 15:03:07 UTC
Chris,
After applying 90172d81ea762eeca4cfb3796fab83cff9f0acaa everything is now working great as expected.

Thank you very much!!! :)


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.