Hi,
I've had to tweak small bits of code to package XDirectFB against
directfb's CVS.
The first one is one that is also valid when non-cvs directfb is used.
It fixes the include paths of X headers being used.
The second one is due to a change this year in directfb wrt. where
powersave mode is set: some API has been moved. It looks to me like
this patch does the correct thing, and xset -dpms seems to work for me
(Though in the past I've never had an XDirectFB server go into powersave
mode anyway - does it work at all ?).
Thomas
Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
God how I hate myself for
still wanting her
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/
Index: xc/programs/Xserver/hw/directfb/directfbX.c
--- xc.patched/programs/Xserver/hw/directfb/directfbX.c 2003-05-30 17:20:16.000000000 +0200
+++ xc/programs/Xserver/hw/directfb/directfbX.c 2004-04-11 11:43:03.000000000 +0200
@@ -676,6 +676,7 @@
void DPMSSet(int level)
{
IDirectFBDisplayLayer *layer;
+ IDirectFBScreen *screen;
DFBScreenPowerMode mode;
if (!dfb)
@@ -701,9 +702,12 @@
if (dfb->GetDisplayLayer (dfb, directfbPrefs.layerID, &layer))
return;
- if (layer->SetCooperativeLevel (layer, DLSCL_ADMINISTRATIVE) == DFB_OK)
- if (layer->SetScreenPowerMode (layer, mode) == DFB_OK)
+ if (layer->SetCooperativeLevel (layer, DLSCL_ADMINISTRATIVE) == DFB_OK) {
+ if (layer->GetScreen (layer, &screen))
+ return;
+ if (screen->SetPowerMode (screen, mode) == DFB_OK)
DPMSPowerLevel = level;
+ }
layer->Release (layer);
}
diff -Naur xc/programs/Xserver/hw/directfb/directfbClipboard.c xc.patched/programs/Xserver/hw/directfb/directfbClipboard.c
--- xc/programs/Xserver/hw/directfb/directfbClipboard.c 2003-05-30 11:20:15.000000000 -0400
+++ xc.patched/programs/Xserver/hw/directfb/directfbClipboard.c 2003-08-23 09:13:05.000000000 -0400
@@ -45,11 +45,11 @@
#include <pthread.h>
/* X headers */
-#include "X.h"
-#include "Xatom.h"
-#include "Xproto.h"
-#include "Xutil.h"
-#include "Xlocale.h"
+#include "X11/X.h"
+#include "X11/Xatom.h"
+#include "X11/Xproto.h"
+#include "X11/Xutil.h"
+#include "X11/Xlocale.h"
#include "directfbClipboard.h"
#include "directfbPasteboard.h"