Bug 106963

Summary: dpms timeout settings specified in ServerFlags are overwritten by dpms extension initialization
Product: xorg Reporter: John Lumby <johnlumby>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: minor    
Priority: medium    
Version: git   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description John Lumby 2018-06-19 15:04:57 UTC
any values specified for any of the following DPMS timeouts in the ServerFlags section of the xorg.conf appear to be ignored :
e.g. my 
Section "ServerFlags"
       Option "StandbyTime"  "0"
       Option "SuspendTime"  "0"
       Option "OffTime"  "5"
EndSection

but immediately after starting Xorg,  xset q shows
DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600

whereas they should be 
DPMS (Energy Star):
  Standby: 0    Suspend: 0    Off: 300

background -
 
      dix/main.c main issues certain init commands in the following order
        InitOutput(&screenInfo, argc, argv); /*   indirectly calls configServerFlags to parse various server flags in conf file */
        InitExtensions(argc, argv);          /*   indirectly calls xserver/Xext/dpms.c DPMSExtensionInit to initialise the DPMS extension  */

cause  -    some fairly recent change in DPMS has included dpms unconditionally initializing the three timeout values which overwrites the dpms settings from the config
                                                                                
Suggested fix  -   change the DPMS initialization to be conditional on not set from config
Comment 1 Michel Dänzer 2018-06-27 08:09:25 UTC
Thanks for the report and patch, fixed in Git master:

commit f5aace7a27d6d61068dcae46c9756b669ab51d50
Author: John Lumby <johnlumby@hotmail.com>
Date:   Tue Jun 26 17:14:34 2018 -0700

    Change the DPMS initialization to be conditional on not set from config

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.