Bug 9497 - Can't disable DPMS
Summary: Can't disable DPMS
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 7.1 (2006.05)
Hardware: All Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-31 09:13 UTC by Derek Martin
Modified: 2010-11-26 11:40 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Derek Martin 2006-12-31 09:13:53 UTC
Please first let me state clearly that, while I am going to discuss a problem
caused by a bug in a proprietary driver, the bug I am reporting now is in Xorg,
not in the proprietary driver.  Please do not close this bug thinking that the
problem is in the proprietary driver.  It isn't (it's a separate and distinct
problem, but the two interact rather badly).

In recent versions of Xorg, there appears to be no way to disable DPMS.  It used
to be possible to shut DPMS off by setting something like 'Option "DPMS" "no"'
or something very similar to that in the Xorg/XF86Config file, but this no
longer seems to work in recent versions of Xorg.

I've filed a bug against Fedora Core for this as well:

  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219578

It appears to be possible to turn off (but not disable) DPMS via xset, at least
some of the time.  This really isn't adequate, because it doesn't prevent some
pesky, hard-to-identify userland process (which might change from distro to
distro or OS to OS) from re-enabling DPMS, or from a malicious user from
enabling it.  I have also seen reports on the net while researching this problem
 that xset does not always work...

The reason that this is a problem is that some drivers (nVidia proprietary, for
example) don't interact well with DPMS on some hardware, causing the screen to
permanently blank, become corrupt, or other similarly disruptive behavior. 
Granted, that problem is a bug with the driver, but it should be possible to
work around such problems by permanently disabling DPMS in the Xorg config file
(which it was, at least until recently).

In addition to the option I always used, above, I've also tried setting all of
the following options in the xorg.conf file:

        Option      "NoPM" "True"
        Option      "BlankTime" "0"
        Option      "StandbyTime" "0"
        Option      "OffTime" "0"
        Option      "SuspendTime" "0"

The logs say that the driver is ignoring all of these options:

(WW) NVIDIA(0): Option "NoPM" is not used
(WW) NVIDIA(0): Option "BlankTime" is not used
(WW) NVIDIA(0): Option "StandbyTime" is not used
(WW) NVIDIA(0): Option "OffTime" is not used
(WW) NVIDIA(0): Option "SuspendTime" is not used

Thus there needs to be a hardware/driver-independent way to disable DPMS
completely in the config file.  It was possible to do this until very
recently...  I only started having a problem with this when I upgraded to Fedora
Core 6 and applied all the updates.  Xorg as shipped with Fedora Core 5, up to
and including all the updates as of around November 2006, was able to disable
DPMS using the option I mentioned in the 2nd paragraph.

FWIW, I have also reported the DPMS bug to nVidia, though since it has already
existed in every release of their driver for about the last two years (versions
older than that did not contain the bug [at least not for any hardware I use],
and worked fine with dpms enabled), I fully expect Xorg to be much more responsive.

Thanks for your help.
Comment 1 Derek Martin 2006-12-31 09:22:20 UTC
Correction: the last version of Fedora Core I ran on this hardware was FC4, not
FC5.  I'm not sure what version of Xorg was current with that, but I guess you
guys probably will...  Still, I had the latest updates for it, and I was able to
shut off DPMS with the option I mentioned.

Thanks again.
Comment 2 Daniel Stone 2007-02-27 01:35:23 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 3 Jesse Adkins 2010-11-26 11:40:20 UTC
I think you're looking for option "dpms" "off". This is in xf86DPMS initialization as of git commit 544cd9e7b50cd9905afc52404de1a5a2bcff91b5 in xserver. So this has been fixed.


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.