There's a report in bugzilla from Ed Fardos about problems that can happen
if DPMS is enabled (with xset) while the screen isn't blanked.

I can think of several ways to handle this.  One is to force screen
blanking everwhere DPMSSet(level) with level != DPMSModeOn is
called.  However, the easiest is probably to handle it in DPMSSet()
with something like this:

Index: xf86DPMS.c
===================================================================
RCS file: /home/x-cvs/xc/programs/Xserver/hw/xfree86/common/xf86DPMS.c,v
retrieving revision 1.10
diff -u -r1.10 xf86DPMS.c
--- xf86DPMS.c  17 Oct 2003 20:02:12 -0000      1.10
+++ xf86DPMS.c  11 Nov 2003 02:44:14 -0000
@@ -37,6 +37,8 @@
 #include "xf86.h"
 #include "xf86Priv.h"
 #ifdef DPMSExtension
+#define DPMS_SERVER
+#include "extensions/dpms.h"
 #include "dpmsproc.h"
 #endif
 
@@ -140,6 +142,9 @@
 
     if (DPMSIndex < 0)
        return;
+
+    if (level != DPMSModeOn)
+       SaveScreens(SCREEN_SAVER_FORCER, ScreenSaverActive);
 
     /* For each screen, set the DPMS level */
     for (i = 0; i < xf86NumScreens; i++) {


Since XFree86 is the only DDX in our source tree that implements DPMSSet(),
this would be the simplest way to do it pre-4.4.

Any comments?

David
-- 
David Dawes
developer/release engineer                      The XFree86 Project
www.XFree86.org/~dawes
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to