[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-fbdev: Changes to 'debian-experimental'



 .gitignore   |   23 ++++++++++++
 autogen.sh   |   12 ++++++
 configure.ac |   10 +++++
 src/fbdev.c  |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 4 files changed, 142 insertions(+), 12 deletions(-)

New commits:
commit 31707aeccd805fb530872e4b088189665c970076
Author: Ian Romanick <idr@us.ibm.com>
Date:   Mon Jan 22 08:52:43 2007 -0800

    Add conditional support for pci-rework branch.
    
    To build VESA driver for use with pci-rework Xserver, add --enable-pciacces
    to the configure command line.  Otherwise, the "traditional" VESA driver will
    be built.

diff --git a/configure.ac b/configure.ac
index a19710c..f82f563 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,6 +46,9 @@ AC_ARG_WITH(xorg-module-dir,
                            [Default xorg module directory [[default=$libdir/xorg/modules]]]),
             [moduledir="$withval"],
             [moduledir="$libdir/xorg/modules"])
+AC_ARG_ENABLE(pciaccess,     AS_HELP_STRING([--enable-pciaccess],
+                             [Enable use of libpciaccess (default: disabled)]),
+			     [PCIACCESS=$enableval], [PCIACCESS=no])
 
 # Checks for extensions
 XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
@@ -56,6 +59,13 @@ # Checks for pkg-config packages
 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
+AM_CONDITIONAL(PCIACCESS, [test "x$PCIACCESS" = xyes])
+if test "x$PCIACCESS" = xyes; then
+    AC_DEFINE(PCIACCESS, 1, [Use libpciaccess])
+    PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
+    XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
+fi
+
 # Checks for libraries.
 
 # Checks for header files.
diff --git a/src/fbdev.c b/src/fbdev.c
index 4136c11..9fb335f 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -34,6 +34,10 @@ #include "fbdevhw.h"
 
 #include "xf86xv.h"
 
+#ifdef PCIACCESS
+#include <pciaccess.h>
+#endif
+
 static Bool debug = 0;
 
 #define TRACE_ENTER(str) \
@@ -49,6 +53,10 @@ #define TRACE(str) \
 static const OptionInfoRec * FBDevAvailableOptions(int chipid, int busid);
 static void	FBDevIdentify(int flags);
 static Bool	FBDevProbe(DriverPtr drv, int flags);
+#ifdef PCIACCESS
+static Bool	FBDevPciProbe(DriverPtr drv, int entity_num,
+     struct pci_device *dev, intptr_t match_data);
+#endif
 static Bool	FBDevPreInit(ScrnInfoPtr pScrn, int flags);
 static Bool	FBDevScreenInit(int Index, ScreenPtr pScreen, int argc,
 				char **argv);
@@ -76,6 +84,17 @@ #define FBDEV_VERSION		4000
 #define FBDEV_NAME		"FBDEV"
 #define FBDEV_DRIVER_NAME	"fbdev"
 
+#ifdef PCIACCESS
+static const struct pci_id_match fbdev_device_match[] = {
+    {
+	PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
+	0x00030000, 0x00ffffff, 0
+    },
+
+    { 0, 0, 0 },
+};
+#endif
+
 _X_EXPORT DriverRec FBDEV = {
 	FBDEV_VERSION,
 	FBDEV_DRIVER_NAME,
@@ -87,7 +106,12 @@ #endif
 	FBDevAvailableOptions,
 	NULL,
 	0,
-	FBDevDriverFunc
+	FBDevDriverFunc,
+
+#ifdef PCIACCESS
+    fbdev_device_match,
+    FBDevPciProbe
+#endif
 };
 
 /* Supported "chipsets" */
@@ -273,6 +297,55 @@ FBDevIdentify(int flags)
 	xf86PrintChipsets(FBDEV_NAME, "driver for framebuffer", FBDevChipsets);
 }
 
+
+#ifdef PCIACCESS
+static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
+			  struct pci_device *dev, intptr_t match_data)
+{
+    ScrnInfoPtr pScrn = NULL;
+
+    if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
+	return FALSE;
+	    
+    xf86LoaderReqSymLists(fbdevHWSymbols, NULL);
+
+    pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, NULL,
+				NULL, NULL, NULL, NULL);
+    if (pScrn) {
+	char *device;
+	GDevPtr devSection = xf86GetDevFromEntity(pScrn->entityList[0],
+						  pScrn->entityInstanceList[0]);
+
+	device = xf86FindOptionValue(devSection->options, "fbdev");
+	if (fbdevHWProbe(NULL, device, NULL)) {
+	    pScrn->driverVersion = FBDEV_VERSION;
+	    pScrn->driverName    = FBDEV_DRIVER_NAME;
+	    pScrn->name          = FBDEV_NAME;
+	    pScrn->Probe         = FBDevProbe;
+	    pScrn->PreInit       = FBDevPreInit;
+	    pScrn->ScreenInit    = FBDevScreenInit;
+	    pScrn->SwitchMode    = fbdevHWSwitchModeWeak();
+	    pScrn->AdjustFrame   = fbdevHWAdjustFrameWeak();
+	    pScrn->EnterVT       = fbdevHWEnterVTWeak();
+	    pScrn->LeaveVT       = fbdevHWLeaveVTWeak();
+	    pScrn->ValidMode     = fbdevHWValidModeWeak();
+
+	    xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+		       "claimed PCI slot %d@%d:%d:%d\n", 
+		       dev->bus, dev->domain, dev->dev, dev->func);
+	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+		       "using %s\n", device ? device : "default device");
+	}
+	else {
+	    pScrn = NULL;
+	}
+    }
+
+    return (pScrn != NULL);
+}
+#endif
+
+
 static Bool
 FBDevProbe(DriverPtr drv, int flags)
 {
@@ -300,21 +373,27 @@ FBDevProbe(DriverPtr drv, int flags)
 	
 	for (i = 0; i < numDevSections; i++) {
 	    Bool isIsa = FALSE;
+#ifndef PCIACCESS
 	    Bool isPci = FALSE;
+#endif
 
 	    dev = xf86FindOptionValue(devSections[i]->options,"fbdev");
 	    if (devSections[i]->busID) {
+#ifndef PCIACCESS
 	        if (xf86ParsePciBusString(devSections[i]->busID,&bus,&device,
 					  &func)) {
 		    if (!xf86CheckPciSlot(bus,device,func))
 		        continue;
 		    isPci = TRUE;
-		} else if (xf86ParseIsaBusString(devSections[i]->busID))
+		} else
+#endif
+		if (xf86ParseIsaBusString(devSections[i]->busID))
 		    isIsa = TRUE;
 		  
 	    }
 	    if (fbdevHWProbe(NULL,dev,NULL)) {
 		pScrn = NULL;
+#ifndef PCIACCESS
 		if (isPci) {
 		    /* XXX what about when there's no busID set? */
 		    int entity;
@@ -331,7 +410,9 @@ FBDevProbe(DriverPtr drv, int flags)
 		    xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
 			       "claimed PCI slot %d:%d:%d\n",bus,device,func);
 
-		} else if (isIsa) {
+		} else
+#endif
+		if (isIsa) {
 		    int entity;
 		    
 		    entity = xf86ClaimIsaSlot(drv, 0,

commit b17f9256d5958fdd45dd5fe0ce10663ef9634900
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Sun Dec 31 17:43:52 2006 +0100

    Only determine pitch after setting initial mode.
    
    We were determining it from the mode which is current at X server startup,
    which may have a completely different pitch.

diff --git a/src/fbdev.c b/src/fbdev.c
index 1e09515..4136c11 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -523,15 +523,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 		fbdevHWUseBuildinMode(pScrn);
 	pScrn->currentMode = pScrn->modes;
 
-	if (fPtr->shadowFB)
-		pScrn->displayWidth = pScrn->virtualX;	/* ShadowFB handles this correctly */
-	else {
-		int fbbpp;
-		/* FIXME: this doesn't work for all cases, e.g. when each scanline
-			has a padding which is independent from the depth (controlfb) */
-		fbdevHWGetDepth(pScrn,&fbbpp);
-		pScrn->displayWidth = fbdevHWGetLineLength(pScrn)/(fbbpp >> 3);
-	}
+	/* First approximation, may be refined in ScreenInit */
+	pScrn->displayWidth = pScrn->virtualX;
 
 	xf86PrintModes(pScrn);
 
@@ -719,6 +712,17 @@ #endif
 	  int tmp = pScrn->virtualX;
 	  pScrn->virtualX = pScrn->displayWidth = pScrn->virtualY;
 	  pScrn->virtualY = tmp;
+	} else if (!fPtr->shadowFB) {
+		/* FIXME: this doesn't work for all cases, e.g. when each scanline
+			has a padding which is independent from the depth (controlfb) */
+		pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
+				      (pScrn->bitsPerPixel / 8);
+
+		if (pScrn->displayWidth != pScrn->virtualX) {
+			xf86DrvMsg(scrnIndex, X_INFO,
+				   "Pitch updated to %d after ModeInit\n",
+				   pScrn->displayWidth);
+		}
 	}
 
 	if(fPtr->rotate && !fPtr->PointerMoved) {

commit 436a2c094aecb661e183e3ca247765a0fe1fa4bc
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Fri Dec 29 12:57:44 2006 +0100

    Bump to 0.3.1 for release.

diff --git a/configure.ac b/configure.ac
index 7f24eaa..a19710c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.3.0,
+        0.3.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 

commit 5b54cbd70e12b10f7d8b76d0bfdda2d8bc2cb969
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Fri Dec 29 12:57:23 2006 +0100

    Use package version definitions from XORG_RELEASE_VERSION macros.

diff --git a/src/fbdev.c b/src/fbdev.c
index fe59bb2..1e09515 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -75,8 +75,6 @@ static int pix24bpp = 0;
 #define FBDEV_VERSION		4000
 #define FBDEV_NAME		"FBDEV"
 #define FBDEV_DRIVER_NAME	"fbdev"
-#define FBDEV_MAJOR_VERSION	0
-#define FBDEV_MINOR_VERSION	3
 
 _X_EXPORT DriverRec FBDEV = {
 	FBDEV_VERSION,
@@ -191,7 +189,7 @@ static XF86ModuleVersionInfo FBDevVersRe
 	MODINFOSTRING1,
 	MODINFOSTRING2,
 	XORG_VERSION_CURRENT,
-	FBDEV_MAJOR_VERSION, FBDEV_MINOR_VERSION, 0,
+	PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
 	ABI_CLASS_VIDEODRV,
 	ABI_VIDEODRV_VERSION,
 	NULL,

commit b6fd3708242b492acdaa125099b4e29837596605
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Fri Dec 29 12:29:31 2006 +0100

    Don't prefer 24bpp for depth 24.

diff --git a/src/fbdev.c b/src/fbdev.c
index ca5752c..fe59bb2 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -415,7 +415,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 		return FALSE;
 	default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
 	if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,
-			     Support24bppFb | Support32bppFb | SupportConvert32to24 | PreferConvert32to24))
+			     Support24bppFb | Support32bppFb | SupportConvert32to24 | SupportConvert24to32))
 		return FALSE;
 	xf86PrintDepthBpp(pScrn);
 

commit 43236f5bfc33f4757dbc5ed9d5682a73c06d8b87
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Wed Dec 27 13:05:12 2006 +0100

    Fix shadow framebuffer, and by extension rotation.
    
    Based on Adam Jackson's shadow framebuffer fixes in xf86-video-vesa.

diff --git a/src/fbdev.c b/src/fbdev.c
index 8955bcc..ca5752c 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -63,11 +63,6 @@ static Bool	FBDevDriverFunc(ScrnInfoPtr 
 
 enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
 
-/*static ShadowUpdateProc updateFuncs[] =
-  { shadowUpdatePacked, shadowUpdateRotate8_270, shadowUpdateRotate8_180, shadowUpdateRotate8_90,
-    shadowUpdatePacked, shadowUpdateRotate16_270, shadowUpdateRotate16_180, shadowUpdateRotate16_90,
-    shadowUpdatePacked, shadowUpdateRotate32_270, shadowUpdateRotate32_180, shadowUpdateRotate32_90 }; */
-
 
 /* -------------------------------------------------------------------- */
 
@@ -234,7 +229,9 @@ typedef struct {
 	int				lineLength;
 	int				rotate;
 	Bool				shadowFB;
+	void				*shadow;
 	CloseScreenProcPtr		CloseScreen;
+	CreateScreenResourcesProcPtr	CreateScreenResources;
 	void				(*PointerMoved)(int index, int x, int y);
 	EntityInfoPtr			pEnt;
 	/* DGA info */
@@ -613,33 +610,47 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	return TRUE;
 }
 
+
 static Bool
-FBDevShadowInit(ScreenPtr pScreen, FBDevPtr fPtr)
+FBDevCreateScreenResources(ScreenPtr pScreen)
 {
     PixmapPtr pPixmap;
-    ShadowUpdateProc update;
-    ShadowWindowProc window;
-    
-    pPixmap = pScreen->CreatePixmap(pScreen, pScreen->width, pScreen->height,
-				    pScreen->rootDepth);
-    if (!pPixmap)
+    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    FBDevPtr fPtr = FBDEVPTR(pScrn);
+    Bool ret;
+
+    pScreen->CreateScreenResources = fPtr->CreateScreenResources;
+    ret = pScreen->CreateScreenResources(pScreen);
+    pScreen->CreateScreenResources = FBDevCreateScreenResources;
+
+    if (!ret)
+	return FALSE;
+
+    pPixmap = pScreen->GetScreenPixmap(pScreen);
+
+    if (!shadowAdd(pScreen, pPixmap, fPtr->rotate ?
+		   shadowUpdateRotatePackedWeak() : shadowUpdatePackedWeak(),
+		   FBDevWindowLinear, fPtr->rotate, NULL)) {
 	return FALSE;
+    }
+
+    return TRUE;
+}
+
+static Bool
+FBDevShadowInit(ScreenPtr pScreen)
+{
+    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    FBDevPtr fPtr = FBDEVPTR(pScrn);
     
     if (!shadowSetup(pScreen)) {
-	pScreen->DestroyPixmap(pPixmap);
 	return FALSE;
     }
 
-    update = fPtr->rotate ? shadowUpdateRotatePackedWeak()
-	: shadowUpdatePackedWeak();
+    fPtr->CreateScreenResources = pScreen->CreateScreenResources;
+    pScreen->CreateScreenResources = FBDevCreateScreenResources;
 
-    if (!shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear,
-		   fPtr->rotate, NULL)) {
-	pScreen->DestroyPixmap(pPixmap);
-	return FALSE;
-    } else {
-	return TRUE;
-    }	    
+    return TRUE;
 }
 
 
@@ -650,7 +661,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr
 	FBDevPtr fPtr = FBDEVPTR(pScrn);
 	VisualPtr visual;
 	int init_picture = 0;
-	int ret,flags,width,height;
+	int ret, flags;
 	int type;
 
 	TRACE_ENTER("FBDevScreenInit");
@@ -707,11 +718,9 @@ #endif
 
 	if(fPtr->rotate==FBDEV_ROTATE_CW || fPtr->rotate==FBDEV_ROTATE_CCW)
 	{
-	  height = pScrn->virtualX;
-	  width = pScrn->displayWidth = pScrn->virtualY;
-	} else {
-	  height = pScrn->virtualY;
-	  width = pScrn->virtualX;
+	  int tmp = pScrn->virtualX;
+	  pScrn->virtualX = pScrn->displayWidth = pScrn->virtualY;
+	  pScrn->virtualY = tmp;
 	}
 
 	if(fPtr->rotate && !fPtr->PointerMoved) {
@@ -721,6 +730,17 @@ #endif
 
 	fPtr->fbstart = fPtr->fbmem + fPtr->fboff;
 
+	if (fPtr->shadowFB) {
+	    fPtr->shadow = xcalloc(1, pScrn->virtualX * pScrn->virtualY *
+				   pScrn->bitsPerPixel);
+
+	    if (!fPtr->shadow) {
+		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+			   "Failed to allocate shadow framebuffer\n");
+		return FALSE;
+	    }
+	}
+
 	switch ((type = fbdevHWGetType(pScrn)))
 	{
 #ifdef USE_AFB
@@ -751,8 +771,11 @@ #endif
 		case 16:
 		case 24:
 		case 32:
-			ret = fbScreenInit(pScreen, fPtr->fbstart, width, height,
-					   pScrn->xDpi, pScrn->yDpi, pScrn->displayWidth, pScrn->bitsPerPixel);
+			ret = fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow
+					   : fPtr->fbstart, pScrn->virtualX,
+					   pScrn->virtualY, pScrn->xDpi,
+					   pScrn->yDpi, pScrn->displayWidth,
+					   pScrn->bitsPerPixel);
 			init_picture = 1;
 			break;
 	 	default:
@@ -817,7 +840,7 @@ #endif
 		xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
 			   "Render extension initialisation failed\n");
 
-	if (fPtr->shadowFB && !FBDevShadowInit(pScreen, fPtr)) {
+	if (fPtr->shadowFB && !FBDevShadowInit(pScreen)) {
 	    xf86DrvMsg(scrnIndex, X_ERROR,
 		       "shadow framebuffer initialization failed\n");
 	    return FALSE;
@@ -920,6 +943,10 @@ FBDevCloseScreen(int scrnIndex, ScreenPt
 	
 	fbdevHWRestore(pScrn);
 	fbdevHWUnmapVidmem(pScrn);
+	if (fPtr->shadow) {
+	    xfree(fPtr->shadow);
+	    fPtr->shadow = NULL;
+	}
 	if (fPtr->pDGAMode) {
 	  xfree(fPtr->pDGAMode);
 	  fPtr->pDGAMode = NULL;
@@ -927,6 +954,7 @@ FBDevCloseScreen(int scrnIndex, ScreenPt
 	}
 	pScrn->vtSema = FALSE;
 
+	pScreen->CreateScreenResources = fPtr->CreateScreenResources;
 	pScreen->CloseScreen = fPtr->CloseScreen;
 	return (*pScreen->CloseScreen)(scrnIndex, pScreen);
 }
@@ -952,7 +980,7 @@ FBDevWindowLinear(ScreenPtr pScreen, CAR
     else
       *size = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
 
-    return ((CARD8 *)fPtr->fbmem + fPtr->fboff + row * fPtr->lineLength + offset);
+    return ((CARD8 *)fPtr->fbstart + row * fPtr->lineLength + offset);
 }
 
 static void

commit 643573a51fbdcaa4ddb8036956a626f3dce13881
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Wed Dec 27 13:03:05 2006 +0100

    Add missing argument to xf86DrvMsg().

diff --git a/src/fbdev.c b/src/fbdev.c
index 35bd4e1..8955bcc 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -790,7 +790,7 @@ #endif
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
 		           "internal error: unrecognised hardware type (%d) "
-			   "encountered in FBDevScreenInit()\n");
+			   "encountered in FBDevScreenInit()\n", type);
 		ret = FALSE;
 		break;
 	}

commit b5b1b7d7313fdcd8bd37cb53ca654874d4b395fb
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Wed Dec 27 13:01:32 2006 +0100

    Update my e-mail address.

diff --git a/src/fbdev.c b/src/fbdev.c
index 3623f2c..35bd4e1 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,6 +1,6 @@
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
- *	     Michel Dänzer, <michdaen@iiic.ethz.ch>
+ *	     Michel Dänzer, <michel@tungstengraphics.com>
  */
 
 #ifdef HAVE_CONFIG_H

commit abfc75fbcdf021a07f5b9c7ed6189e3b8cb69a7f
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Wed Dec 27 12:59:42 2006 +0100

    Convert .cvsignore to .gitignore.
    
    Add a couple of items while we're at it.

diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index fb1befd..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1,19 +0,0 @@
-Makefile
-Makefile.in
-*.la
-*.lo
-aclocal.m4
-autom4te.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-libtool
-ltmain.sh
-missing
-stamp-h1
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fa52c64
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,23 @@
+.deps
+.libs
+Makefile
+Makefile.in
+*~
+*.la
+*.lo
+aclocal.m4
+autom4te.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+depcomp
+fbdev.4
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
diff --git a/man/.cvsignore b/man/.cvsignore
deleted file mode 100644
index 282522d..0000000
--- a/man/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/src/.cvsignore b/src/.cvsignore
deleted file mode 100644
index 9730646..0000000
--- a/src/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-*.la
-*.lo

commit a12d1ce572e739cfe164915779adae2cf5191a06
Author: Adam Jackson <ajax@benzedrine.nwnk.net>
Date:   Wed Nov 8 12:22:53 2006 -0500

    Make debug output a run-time option instead of compile-time.

diff --git a/src/fbdev.c b/src/fbdev.c
index fec5cb5..3623f2c 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,5 +1,3 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
-
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
  *	     Michel Dänzer, <michdaen@iiic.ethz.ch>
@@ -36,17 +34,14 @@ #include "fbdevhw.h"
 
 #include "xf86xv.h"
 
-#define DEBUG 0
+static Bool debug = 0;
 
-#if DEBUG
-# define TRACE_ENTER(str)       ErrorF("fbdev: " str " %d\n",pScrn->scrnIndex)
-# define TRACE_EXIT(str)        ErrorF("fbdev: " str " done\n")
-# define TRACE(str)             ErrorF("fbdev trace: " str "\n")
-#else
-# define TRACE_ENTER(str)
-# define TRACE_EXIT(str)
-# define TRACE(str)
-#endif
+#define TRACE_ENTER(str) \
+    do { if (debug) ErrorF("fbdev: " str " %d\n",pScrn->scrnIndex); } while (0)
+#define TRACE_EXIT(str) \
+    do { if (debug) ErrorF("fbdev: " str " done\n"); } while (0)
+#define TRACE(str) \
+    do { if (debug) ErrorF("fbdev trace: " str "\n"); } while (0)
 
 /* -------------------------------------------------------------------- */
 /* prototypes                                                           */
@@ -115,13 +110,15 @@ #endif
 typedef enum {
 	OPTION_SHADOW_FB,
 	OPTION_ROTATE,
-	OPTION_FBDEV
+	OPTION_FBDEV,
+	OPTION_DEBUG
 } FBDevOpts;
 
 static const OptionInfoRec FBDevOptions[] = {
 	{ OPTION_SHADOW_FB,	"ShadowFB",	OPTV_BOOLEAN,	{0},	FALSE },
 	{ OPTION_ROTATE,	"Rotate",	OPTV_STRING,	{0},	FALSE },
 	{ OPTION_FBDEV,		"fbdev",	OPTV_STRING,	{0},	FALSE },
+	{ OPTION_DEBUG,		"debug",	OPTV_BOOLEAN,	{0},	FALSE },
 	{ -1,			NULL,		OPTV_NONE,	{0},	FALSE }
 };
 
@@ -474,6 +471,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	/* use shadow framebuffer by default */
 	fPtr->shadowFB = xf86ReturnOptValBool(fPtr->Options, OPTION_SHADOW_FB, TRUE);
 
+	debug = xf86ReturnOptValBool(fPtr->Options, OPTION_DEBUG, FALSE);
+
 	/* rotation */
 	fPtr->rotate = FBDEV_ROTATE_NONE;
 	if ((s = xf86GetOptValString(fPtr->Options, OPTION_ROTATE)))

commit 6ed2e61542ed37be2a5f3e41614a2b94649ea94f
Author: Jeremy C. Reed <reed@glacier.reedmedia.net>
Date:   Wed Oct 18 14:56:01 2006 -0500

    Replace stub file with real license.
    
    "XFree86 code without an explicit copyright is covered by the
    following copyright/license" ....
    
    Discussed on xorg list.

diff --git a/COPYING b/COPYING
index 7f33cbf..c513618 100644
--- a/COPYING
+++ b/COPYING
@@ -1,12 +1,23 @@
-This is a stub file.  This package has not yet had its complete licensing
-information compiled.  Please see the individual source files for details on
-your rights to use and modify this software.
+Copyright (C) 1994-2003 The XFree86 Project, Inc.  All Rights Reserved.
 
-Please submit updated COPYING files to the Xorg bugzilla:
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
 
-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
 
-All licensing questions regarding this software should be directed at the
-Xorg mailing list:
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-http://lists.freedesktop.org/mailman/listinfo/xorg
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.

commit 24177f72188f752c53d3dd772e5b7940a31004ae
Author: Adam Jackson <ajax@nwnk.net>
Date:   Fri May 19 19:17:46 2006 +0000

    Bump to 0.3.0

diff --git a/ChangeLog b/ChangeLog
index fdedc9c..ead4bce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-05-19  Adam Jackson  <ajax@freedesktop.org>
+
+	* configure.ac:
+	* src/fbdev.c:
+	Bump to 0.3.0
+
 2006-05-18  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* src/fbdev.c: (FBDevShadowInit), (FBDevScreenInit),
diff --git a/configure.ac b/configure.ac
index 8fcc06e..7f24eaa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.2.0,
+        0.3.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 
diff --git a/src/fbdev.c b/src/fbdev.c
index 4b3ac3f..fec5cb5 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -86,7 +86,7 @@ #define FBDEV_VERSION		4000
 #define FBDEV_NAME		"FBDEV"
 #define FBDEV_DRIVER_NAME	"fbdev"
 #define FBDEV_MAJOR_VERSION	0
-#define FBDEV_MINOR_VERSION	2
+#define FBDEV_MINOR_VERSION	3
 
 _X_EXPORT DriverRec FBDEV = {
 	FBDEV_VERSION,

commit c7b9e1a3275b98ba74eacb67e7dc86ae502a4a51
Author: Kevin E Martin <kem@kem.org>
Date:   Thu May 18 21:15:32 2006 +0000

    Fix ShadowFB support to work with recent miext/shadow changes from bug
        #5460 (Kevin Martin), and apply fix for miext/shadow crasher
        https://bugs.freedesktop.org/show_bug.cgi?id=6940 (Kristian Hoegsberg).

diff --git a/ChangeLog b/ChangeLog
index a142a24..fdedc9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-05-18  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* src/fbdev.c: (FBDevShadowInit), (FBDevScreenInit),
+	(FBDevCloseScreen):
+	Fix ShadowFB support to work with recent miext/shadow changes from
+	bug #5460 (Kevin Martin), and apply fix for miext/shadow crasher
+	https://bugs.freedesktop.org/show_bug.cgi?id=6940 (Kristian
+	Hoegsberg).
+
 2006-04-06  Adam Jackson  <ajax@freedesktop.org>
 
 	* configure.ac:
diff --git a/src/fbdev.c b/src/fbdev.c
index b3bd75f..4b3ac3f 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -141,7 +141,6 @@ static const char *fbSymbols[] = {
 
 static const char *shadowSymbols[] = {
 	"shadowAdd",
-	"shadowAlloc",
 	"shadowInit",
 	"shadowSetup",
 	"shadowUpdatePacked",
@@ -236,7 +235,6 @@ typedef struct {
 	unsigned char*			fbmem;
 	int				fboff;
 	int				lineLength;
-	unsigned char*			shadowmem;
 	int				rotate;
 	Bool				shadowFB;
 	CloseScreenProcPtr		CloseScreen;
@@ -617,6 +615,36 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 }
 
 static Bool
+FBDevShadowInit(ScreenPtr pScreen, FBDevPtr fPtr)
+{
+    PixmapPtr pPixmap;
+    ShadowUpdateProc update;
+    ShadowWindowProc window;
+    
+    pPixmap = pScreen->CreatePixmap(pScreen, pScreen->width, pScreen->height,
+				    pScreen->rootDepth);
+    if (!pPixmap)
+	return FALSE;
+    
+    if (!shadowSetup(pScreen)) {
+	pScreen->DestroyPixmap(pPixmap);
+	return FALSE;
+    }
+
+    update = fPtr->rotate ? shadowUpdateRotatePackedWeak()
+	: shadowUpdatePackedWeak();
+
+    if (!shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear,
+		   fPtr->rotate, NULL)) {
+	pScreen->DestroyPixmap(pPixmap);
+	return FALSE;
+    } else {
+	return TRUE;
+    }	    
+}
+
+
+static Bool
 FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 {
 	ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
@@ -692,20 +720,7 @@ #endif
 		pScrn->PointerMoved = FBDevPointerMoved;
 	}
 
-	/* shadowfb */
-	if (fPtr->shadowFB) {
-		if ((fPtr->shadowmem = shadowAlloc(width, height,
-						   pScrn->bitsPerPixel)) == NULL) {
-		xf86DrvMsg(scrnIndex,X_ERROR,
-			   "allocation of shadow framebuffer memory failed\n");
-		return FALSE;
-	}
-
-		fPtr->fbstart   = fPtr->shadowmem;
-	} else {
-		fPtr->shadowmem = NULL;
-		fPtr->fbstart   = fPtr->fbmem + fPtr->fboff;
-	}
+	fPtr->fbstart = fPtr->fbmem + fPtr->fboff;
 
 	switch ((type = fbdevHWGetType(pScrn)))
 	{
@@ -803,11 +818,7 @@ #endif
 		xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
 			   "Render extension initialisation failed\n");
 
-	if (fPtr->shadowFB && 
-	    (!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
-	      fPtr->rotate ? shadowUpdateRotatePackedWeak()
-	                   : shadowUpdatePackedWeak(),
-	      FBDevWindowLinear, fPtr->rotate, NULL)) ) {
+	if (fPtr->shadowFB && !FBDevShadowInit(pScreen, fPtr)) {
 	    xf86DrvMsg(scrnIndex, X_ERROR,
 		       "shadow framebuffer initialization failed\n");
 	    return FALSE;
@@ -910,8 +921,6 @@ FBDevCloseScreen(int scrnIndex, ScreenPt
 	
 	fbdevHWRestore(pScrn);
 	fbdevHWUnmapVidmem(pScrn);
-	if (fPtr->shadowmem)
-		xfree(fPtr->shadowmem);
 	if (fPtr->pDGAMode) {
 	  xfree(fPtr->pDGAMode);
 	  fPtr->pDGAMode = NULL;

commit fe1fa4c016202e7e07f4e3143b6cedb7f9e82f9b
Author: Adam Jackson <ajax@nwnk.net>
Date:   Fri Apr 7 19:02:07 2006 +0000

    Unlibcwrap. Bump server version requirement. Bump to 0.2.0.

diff --git a/ChangeLog b/ChangeLog
index 5366e71..a142a24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-06  Adam Jackson  <ajax@freedesktop.org>
+
+	* configure.ac:
+	* src/fbdev.c:
+	Unlibcwrap.  Bump server version requirement.  Bump to 0.2.0.
+
 2006-01-09  David Nusinow  <gravity-at-freedesktop-dot-org>
 
 	* man/fbdev.man:
diff --git a/configure.ac b/configure.ac
index eaa5fe8..8fcc06e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.1.0.5,
+        0.2.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 
@@ -53,7 +53,7 @@ XORG_DRIVER_CHECK_EXT(RENDER, renderprot
 XORG_DRIVER_CHECK_EXT(XV, videoproto)
 
 # Checks for pkg-config packages
-PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.
diff --git a/src/fbdev.c b/src/fbdev.c
index f7c0c65..b3bd75f 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -9,10 +9,11 @@ #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
+#include <string.h>
+
 /* all driver need this */
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 
 #include "mipointer.h"
 #include "mibstore.h"
@@ -81,14 +82,14 @@ enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE
  */
 static int pix24bpp = 0;
 
-#define VERSION			4000
+#define FBDEV_VERSION		4000
 #define FBDEV_NAME		"FBDEV"
 #define FBDEV_DRIVER_NAME	"fbdev"
 #define FBDEV_MAJOR_VERSION	0
-#define FBDEV_MINOR_VERSION	1
+#define FBDEV_MINOR_VERSION	2
 
 _X_EXPORT DriverRec FBDEV = {
-	VERSION,
+	FBDEV_VERSION,
 	FBDEV_DRIVER_NAME,
 #if 0
 	"driver for linux framebuffer devices",
@@ -360,7 +361,7 @@ FBDevProbe(DriverPtr drv, int flags)
 		if (pScrn) {
 		    foundScreen = TRUE;
 		    
-		    pScrn->driverVersion = VERSION;
+		    pScrn->driverVersion = FBDEV_VERSION;
 		    pScrn->driverName    = FBDEV_DRIVER_NAME;
 		    pScrn->name          = FBDEV_NAME;
 		    pScrn->Probe         = FBDevProbe;

commit 41a763816d9319680f31690baeab66407cd5f41c
Author: gravity <gravity>
Date:   Tue Jan 10 03:22:11 2006 +0000

    Convert manpage to utf-8

diff --git a/ChangeLog b/ChangeLog
index e6c8681..5366e71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-01-09  David Nusinow  <gravity-at-freedesktop-dot-org>
+
+	* man/fbdev.man:
+	Convert manpage to utf-8
+	Bugzilla #1925 <https://bugs.freedesktop.org/show_bug.cgi?id=1925>
+
 2005-12-20  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/man/fbdev.man b/man/fbdev.man
index f6a6f7d..da89ba8 100644
--- a/man/fbdev.man
+++ b/man/fbdev.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $ 
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $ 
 .\" shorthand for double quote that works everywhere.
 .ds q \N'34'
 .TH FBDEV __drivermansuffix__ __vendorversion__
@@ -15,7 +15,7 @@ fbdev \- video driver for framebuffer de
 .fi
 .SH DESCRIPTION
 .B fbdev
-is an XFree86 driver for framebuffer devices.  This is a non-accelerated
+is an __xservername__ driver for framebuffer devices.  This is a non-accelerated
 driver, the following framebuffer depths are supported: 8, 15, 16, 24.
 All visual types are supported for depth 8, and TrueColor visual is
 supported for the other depths.  Multi-head configurations are supported.
@@ -27,7 +27,7 @@ fbdev uses the os-specific submodule fbd
 to the kernel
 device driver.  Currently a fbdevhw module is available for linux.
 .SH CONFIGURATION DETAILS
-Please refer to XF86Config(__filemansuffix__) for general configuration
+Please refer to __xconfigfile__(__filemansuffix__) for general configuration
 details.  This section only covers configuration details specific to
 this driver.
 .PP
@@ -38,7 +38,8 @@ driver can pick up the currently used vi
 driver and will use it if there are no video modes configured.
 .PP
 For PCI boards you might have to add a BusID line to the Device
-section.  See above for a sample line.  You can use "XFree86 -scanpci"
+section.  See above for a sample line.  You can use \*q\__xservername__
+-scanpci\*q
 to figure out the correct values.
 .PP
 The following driver 
@@ -56,7 +57,7 @@ Enable rotation of the display. The supp
 90 degrees), "UD" (upside down, 180 degrees) and "CCW" (counter clockwise,
 270 degrees). Implies use of the shadow framebuffer layer.   Default: off.
 .SH "SEE ALSO"
-XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1),
+__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__),
 X(__miscmansuffix__), fbdevhw(__drivermansuffix__)
 .SH AUTHORS
-Authors include: Gerd Knorr, Michel Dänzer, Geert Uytterhoeven
+Authors include: Gerd Knorr, Michel Dänzer, Geert Uytterhoeven

commit 332464c43f0f73fabbfddadbdb6a1dd0358dcba7
Author: Kevin E Martin <kem@kem.org>
Date:   Wed Dec 21 02:30:00 2005 +0000

    Update package version for X11R7 release.

diff --git a/ChangeLog b/ChangeLog
index 253fecf..e6c8681 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-20  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version for X11R7 release.
+
 2005-12-14  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index 22210fe..eaa5fe8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.1.0.4,
+        0.1.0.5,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 

commit cf1b33cb4da017b4c81aa4a4f425e02b6db3275e
Author: Adam Jackson <ajax@nwnk.net>
Date:   Mon Dec 19 16:25:53 2005 +0000

    Stub COPYING files

diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..7f33cbf
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,12 @@
+This is a stub file.  This package has not yet had its complete licensing
+information compiled.  Please see the individual source files for details on
+your rights to use and modify this software.
+
+Please submit updated COPYING files to the Xorg bugzilla:
+
+https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+All licensing questions regarding this software should be directed at the
+Xorg mailing list:
+
+http://lists.freedesktop.org/mailman/listinfo/xorg

commit 35c09ae4c4587c3673f21cc59770ff1d1d386307
Author: Kevin E Martin <kem@kem.org>
Date:   Thu Dec 15 00:24:17 2005 +0000

    Update package version number for final X11R7 release candidate.

diff --git a/ChangeLog b/ChangeLog
index f1bd720..253fecf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-14  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version number for final X11R7 release candidate.
+
 2005-12-06  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* man/Makefile.am:
diff --git a/configure.ac b/configure.ac
index 7031717..22210fe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.1.0.3,
+        0.1.0.4,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 

commit 2e4f3e6a0a92688d3747caa3dd77acb7d656cd7e
Author: Kevin E Martin <kem@kem.org>
Date:   Tue Dec 6 22:48:34 2005 +0000

    Change *man_SOURCES ==> *man_PRE to fix autotools warnings.

diff --git a/ChangeLog b/ChangeLog
index e56beeb..f1bd720 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-06  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* man/Makefile.am:
+	Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
+
 2005-12-03  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/man/Makefile.am b/man/Makefile.am
index 27106a2..bf7ec17 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -27,9 +27,9 @@ # 
 
 drivermandir = $(DRIVER_MAN_DIR)
 
-driverman_SOURCES = @DRIVER_NAME@.man
+driverman_PRE = @DRIVER_NAME@.man
 
-driverman_DATA = $(driverman_SOURCES:man=@DRIVER_MAN_SUFFIX@)
+driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
 
 EXTRA_DIST = @DRIVER_NAME@.man
 

commit 8521127ff1037f3b93f3fae36a1a195b926e8a8a
Author: Kevin E Martin <kem@kem.org>
Date:   Sat Dec 3 05:49:33 2005 +0000

    Update package version number for X11R7 RC3 release.

diff --git a/ChangeLog b/ChangeLog
index 749c638..e56beeb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-03  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version number for X11R7 RC3 release.
+
 2005-12-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index da6c2ff..7031717 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.1.0.2,
+        0.1.0.3,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 

commit 7a37e5db75e35ab26677a0201362a4a454987ffc
Author: Kevin E Martin <kem@kem.org>
Date:   Fri Dec 2 02:16:08 2005 +0000

    Remove extraneous AC_MSG_RESULT.

diff --git a/ChangeLog b/ChangeLog
index 1cc1dfb..749c638 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Remove extraneous AC_MSG_RESULT.
+
 2005-11-29  Adam Jackson  <ajax@freedesktop.org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index 2592c29..da6c2ff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,6 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
 
 # Checks for pkg-config packages
 PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
-AC_MSG_RESULT([yes])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.

commit 4635b198fbaec32206c00dd2b1156b8c0e77178e
Author: Adam Jackson <ajax@nwnk.net>
Date:   Tue Nov 29 23:29:58 2005 +0000

    Only build dlloader modules by default.

diff --git a/ChangeLog b/ChangeLog
index be8ef2c..1cc1dfb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-29  Adam Jackson  <ajax@freedesktop.org>
+
+	* configure.ac:
+	Only build dlloader modules by default.
+
 2005-11-09  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index 5486569..2592c29 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,6 +35,7 @@ AM_INIT_AUTOMAKE([dist-bzip2])
 AM_MAINTAINER_MODE
 
 # Checks for programs.
+AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
 AC_PROG_CC
 

commit 91b40b9c63e664c5f6a916400dc7020cd9241ca2
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date:   Mon Nov 28 22:04:09 2005 +0000

    Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4
        update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir)

diff --git a/man/Makefile.am b/man/Makefile.am
index a16ec06..27106a2 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -25,7 +25,7 @@ # other dealings in this Software withou
 # from the copyright holders.
 # 
 
-drivermandir = $(mandir)/man$(DRIVER_MAN_SUFFIX)
+drivermandir = $(DRIVER_MAN_DIR)
 
 driverman_SOURCES = @DRIVER_NAME@.man
 

commit ff706274279f209d1478f95cf33c24ae19b9eba6
Author: Eric Anholt <anholt@freebsd.org>
Date:   Mon Nov 21 10:49:12 2005 +0000

    Add .cvsignores for drivers.

diff --git a/.cvsignore b/.cvsignore
new file mode 100644
index 0000000..fb1befd
--- /dev/null
+++ b/.cvsignore
@@ -0,0 +1,19 @@
+Makefile
+Makefile.in
+*.la
+*.lo
+aclocal.m4
+autom4te.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+depcomp
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
diff --git a/man/.cvsignore b/man/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/man/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/src/.cvsignore b/src/.cvsignore
new file mode 100644
index 0000000..9730646
--- /dev/null
+++ b/src/.cvsignore
@@ -0,0 +1,6 @@
+.deps
+.libs
+Makefile
+Makefile.in
+*.la
+*.lo

commit d57ddc84c3a0fd25ed385e458ffe920079aa4feb
Author: Kevin E Martin <kem@kem.org>
Date:   Wed Nov 9 21:15:15 2005 +0000

    Update package version number for X11R7 RC2 release.

diff --git a/ChangeLog b/ChangeLog
index e4d905b..be8ef2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-09  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version number for X11R7 RC2 release.
+
 2005-11-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index 984ff21..5486569 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.1.0.1,
+        0.1.0.2,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 

commit 493a1b8b117417df7de647825350a1d44c1d23dd
Author: Kevin E Martin <kem@kem.org>
Date:   Tue Nov 1 15:08:52 2005 +0000

    Update pkgcheck depedencies to work with separate build roots.

diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..e4d905b
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,4 @@
+2005-11-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update pkgcheck dependencies to work with separate build roots.
diff --git a/configure.ac b/configure.ac
index 5a82ece..984ff21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,8 +45,15 @@ AC_ARG_WITH(xorg-module-dir,
                            [Default xorg module directory [[default=$libdir/xorg/modules]]]),
             [moduledir="$withval"],
             [moduledir="$libdir/xorg/modules"])
+
+# Checks for extensions
+XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+XORG_DRIVER_CHECK_EXT(XV, videoproto)
+
 # Checks for pkg-config packages
-PKG_CHECK_MODULES(XORG, [xorg-server xproto])
+PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
+AC_MSG_RESULT([yes])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.

commit 3f11faf88ce3678cbc9ad305eef17bc922c8f75e
Author: Kevin E Martin <kem@kem.org>
Date:   Wed Oct 19 02:48:02 2005 +0000

    Update package version number for RC1 release.

diff --git a/configure.ac b/configure.ac
index d66c662..5a82ece 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
-        0.1.0,
+        0.1.0.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 

commit e87f2ee9b17e922212ee6b04763418e27b87fbaa
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date:   Tue Oct 18 00:01:53 2005 +0000

    Use @DRIVER_MAN_SUFFIX@ instead of $(DRIVER_MAN_SUFFIX) in macro
        substitutions to work better with BSD make

diff --git a/man/Makefile.am b/man/Makefile.am
index eb3fe06..a16ec06 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -29,7 +29,7 @@ drivermandir = $(mandir)/man$(DRIVER_MAN
 
 driverman_SOURCES = @DRIVER_NAME@.man
 
-driverman_DATA = $(driverman_SOURCES:man=$(DRIVER_MAN_SUFFIX))
+driverman_DATA = $(driverman_SOURCES:man=@DRIVER_MAN_SUFFIX@)
 
 EXTRA_DIST = @DRIVER_NAME@.man
 

commit 5f77732d9a6b54c6964718637c9a4304985e5a00
Author: Adam Jackson <ajax@nwnk.net>
Date:   Mon Oct 17 22:57:33 2005 +0000

    More 1.7 braindamage: define EXTRA_DIST in terms of @DRIVER_NAME@ instead
        of indirectly

diff --git a/man/Makefile.am b/man/Makefile.am
index 0eabf46..eb3fe06 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -31,7 +31,7 @@ driverman_SOURCES = @DRIVER_NAME@.man
 
 driverman_DATA = $(driverman_SOURCES:man=$(DRIVER_MAN_SUFFIX))
 
-EXTRA_DIST = $(driverman_SOURCES)
+EXTRA_DIST = @DRIVER_NAME@.man
 
 CLEANFILES = $(driverman_DATA)
 

commit 52518e451155e101c1dc24f91a937d15af4d6d2c
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date:   Mon Oct 17 00:09:02 2005 +0000

    Use sed & cpp to substitute variables in driver man pages

diff --git a/configure.ac b/configure.ac
index f3f2a88..d66c662 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,6 +57,10 @@ AC_HEADER_STDC
 AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 
+DRIVER_NAME=fbdev
+AC_SUBST([DRIVER_NAME])
+
+XORG_MANPAGE_SECTIONS
 XORG_RELEASE_VERSION
 
 AC_OUTPUT([
diff --git a/man/Makefile.am b/man/Makefile.am
index b541275..0eabf46 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,22 +1,59 @@
-#  Copyright 2005 Adam Jackson.
+# $Id$
 #
-#  Permission is hereby granted, free of charge, to any person obtaining a
-#  copy of this software and associated documentation files (the "Software"),
-#  to deal in the Software without restriction, including without limitation
-#  on the rights to use, copy, modify, merge, publish, distribute, sub
-#  license, and/or sell copies of the Software, and to permit persons to whom
-#  the Software is furnished to do so, subject to the following conditions:
-#
-#  The above copyright notice and this permission notice (including the next
-#  paragraph) shall be included in all copies or substantial portions of the
-#  Software.
-#
-#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
-#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-dist_man_MANS = \
-         fbdev.4
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# 
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.
+# 
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+# 
+# Except as contained in this notice, the name of the copyright holders shall
+# not be used in advertising or otherwise to promote the sale, use or
+# other dealings in this Software without prior written authorization
+# from the copyright holders.
+# 
+
+drivermandir = $(mandir)/man$(DRIVER_MAN_SUFFIX)
+
+driverman_SOURCES = @DRIVER_NAME@.man
+
+driverman_DATA = $(driverman_SOURCES:man=$(DRIVER_MAN_SUFFIX))
+
+EXTRA_DIST = $(driverman_SOURCES)
+
+CLEANFILES = $(driverman_DATA)
+
+SED = sed
+
+# Strings to replace in man pages
+XORGRELSTRING = @PACKAGE_STRING@
+  XORGMANNAME = X Version 11
+
+MAN_SUBSTS = \
+	-e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+	-e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+	-e 's|__xservername__|Xorg|g' \
+	-e 's|__xconfigfile__|xorg.conf|g' \
+	-e 's|__projectroot__|$(prefix)|g' \
+	-e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+	-e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
+	-e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
+	-e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
+	-e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
+
+SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
+
+.man.$(DRIVER_MAN_SUFFIX):
+	sed $(MAN_SUBSTS) < $< > $@

commit a2a75f4dba11cd6f49be546a38b2aaa189d2813b
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Aug 26 06:32:45 2005 +0000

    Numerous spelling and grammar fixes. (Branden Robinson, Debian #099n)

diff --git a/src/fbdev.c b/src/fbdev.c
index eeafaed..f7c0c65 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -443,7 +443,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 
 	/* We don't currently support DirectColor at > 8bpp */
 	if (pScrn->depth > 8 && pScrn->defaultVisual != TrueColor) {
-		xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Given default visual"
+		xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "requested default visual"
 			   " (%s) is not supported at depth %d\n",
 			   xf86GetVisualName(pScrn->defaultVisual), pScrn->depth);
 		return FALSE;
@@ -462,8 +462,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	pScrn->chipset   = "fbdev";
 	pScrn->videoRam  = fbdevHWGetVidmem(pScrn);
 
-	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Hardware: %s (vidmem: %dk)\n",
-		   fbdevHWGetName(pScrn),pScrn->videoRam/1024);
+	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:"
+		   " %dkB)\n", fbdevHWGetName(pScrn), pScrn->videoRam/1024);
 
 	/* handle options */
 	xf86CollectOptions(pScrn, NULL);
@@ -484,37 +484,37 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	    fPtr->shadowFB = TRUE;
 	    fPtr->rotate = FBDEV_ROTATE_CW;
 	    xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
-		       "Rotating screen clockwise\n");
+		       "rotating screen clockwise\n");
 	  }
 	  else if(!xf86NameCmp(s, "CCW"))
 	  {
 	    fPtr->shadowFB = TRUE;
 	    fPtr->rotate = FBDEV_ROTATE_CCW;
 	    xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
-		       "Rotating screen counter clockwise\n");
+		       "rotating screen counter-clockwise\n");
 	  }
 	  else if(!xf86NameCmp(s, "UD"))
 	  {
 	    fPtr->shadowFB = TRUE;
 	    fPtr->rotate = FBDEV_ROTATE_UD;
 	    xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
-		       "Rotating screen upside down\n");
+		       "rotating screen upside-down\n");
 	  }
 	  else
 	  {
 	    xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
 		       "\"%s\" is not a valid value for Option \"Rotate\"\n", s);
 	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-		       "Valid options are \"CW\", \"CCW\" or \"UD\"\n");
+		       "valid options are \"CW\", \"CCW\" and \"UD\"\n");
 	  }
 	}
 
 	/* select video modes */
 
-	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Checking Modes against framebuffer device...\n");
+	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against framebuffer device...\n");
 	fbdevHWSetVideoModes(pScrn);
 
-	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Checking Modes against monitor...\n");
+	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against monitor...\n");
 	{
 		DisplayModePtr mode, first = mode = pScrn->modes;
 		
@@ -564,30 +564,32 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 			break;
 		default:
 			xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-			"Unsupported bpp: %d", pScrn->bitsPerPixel);
+			"unsupported number of bits per pixel: %d",
+			pScrn->bitsPerPixel);
 			return FALSE;
 		}
 		break;
 	case FBDEVHW_INTERLEAVED_PLANES:
                /* Not supported yet, don't know what to do with this */
                xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-               "Interleaved Planes are not supported yet by drivers/fbdev.");
+                          "interleaved planes are not yet supported by the "
+			  "fbdev driver\n");
 		return FALSE;
 	case FBDEVHW_TEXT:
                /* This should never happen ...
                 * we should check for this much much earlier ... */
                xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-               "Text mode is not supprted by drivers/fbdev.\n"
-               "Why do you want to run the X in TEXT mode anyway ?");
+                          "text mode is not supported by the fbdev driver\n");
 		return FALSE;
        case FBDEVHW_VGA_PLANES:
                /* Not supported yet */
                xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-               "EGA/VGA Planes are not supprted yet by drivers/fbdev.");
+                          "EGA/VGA planes are not yet supported by the fbdev "
+			  "driver\n");
                return FALSE;
        default:
                xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-               "Fbdev type (%d) not supported yet.", type);
+                          "unrecognised fbdev hardware type (%d)\n", type);
                return FALSE;
 	}
 	if (mod && xf86LoadSubModule(pScrn, mod) == NULL) {
@@ -600,7 +602,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 
 	/* Load shadow if needed */
 	if (fPtr->shadowFB) {
-		xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Using \"Shadow Framebuffer\"\n");
+		xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "using shadow"
+			   " framebuffer\n");
 		if (!xf86LoadSubModule(pScrn, "shadow")) {
 			FBDevFreeRec(pScrn);
 			return FALSE;
@@ -635,7 +638,8 @@ #if DEBUG
 #endif
 
 	if (NULL == (fPtr->fbmem = fbdevHWMapVidmem(pScrn))) {
-	        xf86DrvMsg(scrnIndex,X_ERROR,"Map vid mem failed\n");
+	        xf86DrvMsg(scrnIndex,X_ERROR,"mapping of video memory"
+			   " failed\n");
 		return FALSE;
 	}
 	fPtr->fboff = fbdevHWLinearOffset(pScrn);
@@ -643,7 +647,7 @@ #endif
 	fbdevHWSave(pScrn);
 
 	if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
-		xf86DrvMsg(scrnIndex,X_ERROR,"Mode init failed\n");
+		xf86DrvMsg(scrnIndex,X_ERROR,"mode initialization failed\n");
 		return FALSE;
 	}
 	fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
@@ -653,19 +657,23 @@ #endif
 	miClearVisualTypes();
 	if (pScrn->bitsPerPixel > 8) {
 		if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, TrueColor)) {
-			xf86DrvMsg(scrnIndex,X_ERROR,"Set visual types failed\n");
+			xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
+				   " for %d bits per pixel [1]\n",
+				   pScrn->bitsPerPixel);
 			return FALSE;
 		}
 	} else {
 		if (!miSetVisualTypes(pScrn->depth,
 				      miGetDefaultVisualMask(pScrn->depth),
 				      pScrn->rgbBits, pScrn->defaultVisual)) {
-			xf86DrvMsg(scrnIndex,X_ERROR,"Set visual types failed\n");
+			xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
+				   " for %d bits per pixel [2]\n",
+				   pScrn->bitsPerPixel);
 			return FALSE;
 		}
 	}
 	if (!miSetPixmapDepths()) {
-	  xf86DrvMsg(scrnIndex,X_ERROR,"Set pixmap depths failed\n");
+	  xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n");
 	  return FALSE;
 	}
 
@@ -688,7 +696,7 @@ #endif
 		if ((fPtr->shadowmem = shadowAlloc(width, height,
 						   pScrn->bitsPerPixel)) == NULL) {
 		xf86DrvMsg(scrnIndex,X_ERROR,
-			   "Allocation of shadow memory failed\n");
+			   "allocation of shadow framebuffer memory failed\n");
 		return FALSE;
 	}
 
@@ -705,14 +713,15 @@ #ifdef USE_AFB
 		if (fPtr->rotate)
 		{
 		  xf86DrvMsg(scrnIndex, X_ERROR,
-			     "Internal error: Rotate not supported for afb\n");
+			     "internal error: rotate not supported for afb\n");
 		  ret = FALSE;
 		  break;
 		}
 		if (fPtr->shadowFB)
 		{
 		  xf86DrvMsg(scrnIndex, X_ERROR,
-			     "Internal error: Shadow framebuffer not supported for afb\n");
+			     "internal error: shadow framebuffer not supported"
+			     " for afb\n");
 		  ret = FALSE;
 		  break;
 		}
@@ -733,8 +742,9 @@ #endif
 			break;
 	 	default:
 			xf86DrvMsg(scrnIndex, X_ERROR,
-				   "Internal error: invalid bpp (%d) in FBDevScreenInit\n",
-				   pScrn->bitsPerPixel);
+				   "internal error: invalid number of bits per"
+				   " pixel (%d) encountered in"
+				   " FBDevScreenInit()\n", pScrn->bitsPerPixel);
 			ret = FALSE;
 			break;
 		}
@@ -743,29 +753,29 @@ #endif
 		/* This should never happen ...
 		* we should check for this much much earlier ... */
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: Text mode is not supprted by drivers/fbdev.\n"
-		"Comment: Why do you want to run the X in TEXT mode anyway ?");
+		           "internal error: interleaved planes are not yet "
+			   "supported by the fbdev driver\n");
 		ret = FALSE;
 		break;
 	case FBDEVHW_TEXT:
 		/* This should never happen ...
 		* we should check for this much much earlier ... */
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: Text mode is not supprted by drivers/fbdev.\n"
-		"Comment: Why do you want to run the X in TEXT mode anyway ?");
+		           "internal error: text mode is not supported by the "
+			   "fbdev driver\n");
 		ret = FALSE;
 		break;
 	case FBDEVHW_VGA_PLANES:
 		/* Not supported yet */
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: EGA/VGA Planes are not supprted"
-		" yet by drivers/fbdev.");
+		           "internal error: EGA/VGA Planes are not yet "
+			   "supported by the fbdev driver\n");
 		ret = FALSE;
 		break;
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: fbdev type (%d) unsupported in"
-		" FBDevScreenInit\n", type);
+		           "internal error: unrecognised hardware type (%d) "
+			   "encountered in FBDevScreenInit()\n");
 		ret = FALSE;
 		break;
 	}
@@ -790,7 +800,7 @@ #endif
 	/* must be after RGB ordering fixed */
 	if (init_picture && !fbPictureInit(pScreen, NULL, 0))
 		xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-			   "RENDER extension initialisation failed.\n");
+			   "Render extension initialisation failed\n");
 
 	if (fPtr->shadowFB && 
 	    (!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
@@ -798,18 +808,20 @@ #endif
 	                   : shadowUpdatePackedWeak(),
 	      FBDevWindowLinear, fPtr->rotate, NULL)) ) {
 	    xf86DrvMsg(scrnIndex, X_ERROR,
-		       "Shadow framebuffer initialization failed.\n");
+		       "shadow framebuffer initialization failed\n");
 	    return FALSE;
 	}
 
 	if (!fPtr->rotate)
 	  FBDevDGAInit(pScrn, pScreen);
 	else {
-	  xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, disabling DGA\n");
-	  xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver rotation, disabling RandR\n");
+	  xf86DrvMsg(scrnIndex, X_INFO, "display rotated; disabling DGA\n");
+	  xf86DrvMsg(scrnIndex, X_INFO, "using driver rotation; disabling "
+			                "XRandR\n");
 	  xf86DisableRandR();
 	  if (pScrn->bitsPerPixel == 24)
-	    xf86DrvMsg(scrnIndex, X_WARNING, "Rotation might be broken in 24 bpp\n");
+	    xf86DrvMsg(scrnIndex, X_WARNING, "rotation might be broken at 24 "
+                                             "bits per pixel\n");
 	}
 
 	xf86SetBlackWhitePixels(pScreen);
@@ -825,33 +837,41 @@ #endif
 	/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
 #ifdef USE_AFB
 	case FBDEVHW_PLANES:
-		if (!afbCreateDefColormap(pScreen))
+		if (!afbCreateDefColormap(pScreen)) {
+			xf86DrvMsg(scrnIndex, X_ERROR,
+                                   "internal error: afbCreateDefColormap "
+				   "failed in FBDevScreenInit()\n");
 			return FALSE;
+		}
 		break;
 #endif
 	case FBDEVHW_PACKED_PIXELS:
-		if (!miCreateDefColormap(pScreen))
+		if (!miCreateDefColormap(pScreen)) {
+			xf86DrvMsg(scrnIndex, X_ERROR,
+                                   "internal error: miCreateDefColormap failed "
+				   "in FBDevScreenInit()\n");
 			return FALSE;
+		}
 		break;
 	case FBDEVHW_INTERLEAVED_PLANES:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: invalid fbdev type (interleaved planes)"
-		" in FBDevScreenInit\n");
+		           "internal error: interleaved planes are not yet "
+			   "supported by the fbdev driver\n");
 		return FALSE;
 	case FBDEVHW_TEXT:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: invalid fbdev type (text)"
-		" in FBDevScreenInit\n");
+		           "internal error: text mode is not supported by "
+			   "the fbdev driver\n");
 		return FALSE;
 	case FBDEVHW_VGA_PLANES:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: invalid fbdev type (ega/vga planes)"
-		" in FBDevScreenInit\n");
+		           "internal error: EGA/VGA planes are not yet "
+			   "supported by the fbdev driver\n");
 		return FALSE;
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n",
-		type);
+		           "internal error: unrecognised fbdev hardware type "
+			   "(%d) encountered in FBDevScreenInit()\n", type);
 		return FALSE;
 	}
 	flags = CMAP_PALETTED_TRUECOLOR;

commit 28171378a17fbae4a95419a2a3f1cee6246a1916
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Thu Aug 18 09:03:46 2005 +0000

    Update autogen.sh to one that does objdir != srcdir.

diff --git a/autogen.sh b/autogen.sh
index e81f989..904cd67 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -10,4 +10,3 @@ autoreconf -v --install || exit 1
 cd $ORIGDIR || exit $?
 
 $srcdir/configure --enable-maintainer-mode "$@"
-

commit f060ccc1f1544fdcce08ffd495c24c9106bc0ec2
Author: Kevin E Martin <kem@kem.org>
Date:   Fri Jul 29 21:22:43 2005 +0000

    Various changes preparing packages for RC0:
    - Verify and update package version numbers as needed
    - Implement versioning scheme
    - Change bug address to point to bugzilla bug entry form
    - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
        reenable it)
    - Fix makedepend to use pkgconfig and pass distcheck
    - Update build script to build macros first
    - Update modular Xorg version

diff --git a/configure.ac b/configure.ac
index e9eed6c..f3f2a88 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ # Process this file with autoconf to pro
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-fbdev],
         0.1.0,
-        [ajax@freedesktop.org],
+        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-fbdev)
 
 AC_CONFIG_SRCDIR([Makefile.am])
@@ -57,6 +57,8 @@ AC_HEADER_STDC
 AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 
+XORG_RELEASE_VERSION
+
 AC_OUTPUT([
 	Makefile
 	src/Makefile

commit d0517a40a91b6a044e6a87d20ce6007a12c299bb
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date:   Mon Jul 25 23:50:23 2005 +0000

    Build system for fbdev driver

diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..7052905
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,22 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+AUTOMAKE_OPTIONS = foreign
+SUBDIRS = src man
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..e81f989
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
+
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..e9eed6c
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,64 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Process this file with autoconf to produce a configure script
+
+AC_PREREQ(2.57)
+AC_INIT([xf86-video-fbdev],
+        0.1.0,
+        [ajax@freedesktop.org],
+        xf86-video-fbdev)
+
+AC_CONFIG_SRCDIR([Makefile.am])
+AM_CONFIG_HEADER([config.h])
+AC_CONFIG_AUX_DIR(.)
+
+AM_INIT_AUTOMAKE([dist-bzip2])
+
+AM_MAINTAINER_MODE
+
+# Checks for programs.
+AC_PROG_LIBTOOL
+AC_PROG_CC
+
+AH_TOP([#include "xorg-server.h"])
+
+AC_ARG_WITH(xorg-module-dir,
+            AC_HELP_STRING([--with-xorg-module-dir=DIR],
+                           [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+            [moduledir="$withval"],
+            [moduledir="$libdir/xorg/modules"])
+# Checks for pkg-config packages
+PKG_CHECK_MODULES(XORG, [xorg-server xproto])
+sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_HEADER_STDC
+
+AC_SUBST([XORG_CFLAGS])
+AC_SUBST([moduledir])
+
+AC_OUTPUT([
+	Makefile
+	src/Makefile
+	man/Makefile
+])
diff --git a/man/Makefile.am b/man/Makefile.am
new file mode 100644
index 0000000..b541275
--- /dev/null
+++ b/man/Makefile.am
@@ -0,0 +1,22 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+dist_man_MANS = \
+         fbdev.4
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..1203177
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,32 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+# this is obnoxious:
+# -module lets us name the module exactly how we want
+# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
+# _ladir passes a dummy rpath to libtool so the thing will actually link
+# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
+AM_CFLAGS = @XORG_CFLAGS@
+fbdev_drv_la_LTLIBRARIES = fbdev_drv.la
+fbdev_drv_la_LDFLAGS = -module -avoid-version
+fbdev_drv_ladir = @moduledir@/drivers
+
+fbdev_drv_la_SOURCES = \
+         fbdev.c

commit 44d4790006f8f505ccf045161ce82854d921d52f
Author: Adam Jackson <ajax@nwnk.net>
Date:   Mon Jul 11 02:29:47 2005 +0000

    Prep for modular builds by adding guarded #include "config.h" everywhere.

diff --git a/src/fbdev.c b/src/fbdev.c
index f117e7f..eeafaed 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -5,6 +5,10 @@
  *	     Michel Dänzer, <michdaen@iiic.ethz.ch>
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 /* all driver need this */
 #include "xf86.h"
 #include "xf86_OSproc.h"

commit 4d18c5309c49c4fa83fd645f6ed879d2c2cad3a9
Author: Adam Jackson <ajax@nwnk.net>
Date:   Sat Jun 25 21:16:54 2005 +0000

    Bug #3626: _X_EXPORT tags for video and input drivers.

diff --git a/src/fbdev.c b/src/fbdev.c
index 15d4431..f117e7f 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -83,7 +83,7 @@ #define FBDEV_DRIVER_NAME	"fbdev"
 #define FBDEV_MAJOR_VERSION	0
 #define FBDEV_MINOR_VERSION	1
 
-DriverRec FBDEV = {
+_X_EXPORT DriverRec FBDEV = {
 	VERSION,
 	FBDEV_DRIVER_NAME,
 #if 0
@@ -202,7 +202,7 @@ static XF86ModuleVersionInfo FBDevVersRe
 	{0,0,0,0}
 };
 
-XF86ModuleData fbdevModuleData = { &FBDevVersRec, FBDevSetup, NULL };
+_X_EXPORT XF86ModuleData fbdevModuleData = { &FBDevVersRec, FBDevSetup, NULL };
 
 pointer
 FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)

commit 82ab7895da512d13c9831e9d17e8ee11211db2c0
Author: Egbert Eich <eich@suse.de>
Date:   Fri Jan 28 16:12:59 2005 +0000

    Modifying X.Org Xserver DDX to allow to run X with ordinary user
        permissions when no access to HW registers is required. For API changes
        which mostly involve the modifications to make the RRFunc (introduced
        with 6.8) more flexible please check Bugzilla #2407. NOTE: This patch
        applies changes to OS specific files for other OSes which I cannot
        test.

diff --git a/src/fbdev.c b/src/fbdev.c
index ed75eaf..15d4431 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -57,6 +57,8 @@ static void *	FBDevWindowLinear(ScreenPt
 				  CARD32 *size, void *closure);
 static void	FBDevPointerMoved(int index, int x, int y);
 static Bool	FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen);
+static Bool	FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
+				pointer ptr);
 
 
 enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
@@ -91,7 +93,8 @@ #endif
 	FBDevProbe,
 	FBDevAvailableOptions,
 	NULL,
-	0
+	0,
+	FBDevDriverFunc
 };
 
 /* Supported "chipsets" */
@@ -208,7 +211,7 @@ FBDevSetup(pointer module, pointer opts,
 
 	if (!setupDone) {
 		setupDone = TRUE;
-		xf86AddDriver(&FBDEV, module, 0);
+		xf86AddDriver(&FBDEV, module, HaveDriverFuncs);
 		LoaderRefSymLists(afbSymbols, fbSymbols,
 				  shadowSymbols, fbdevHWSymbols, NULL);
 		return (pointer)1;
@@ -1100,3 +1103,18 @@ FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPt
     return (DGAInit(pScreen, &FBDevDGAFunctions,
 	    fPtr->pDGAMode, fPtr->nDGAMode));
 }
+
+static Bool
+FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, pointer ptr)
+{
+    xorgHWFlags *flag;
+    
+    switch (op) {
+	case GET_REQUIRED_HW_INTERFACES:
+	    flag = (CARD32*)ptr;
+	    (*flag) = 0;
+	    return TRUE;
+	default:
+	    return FALSE;
+    }
+}

commit 077e3dbcf41e25229b2a4949bc6b50adf26b084d
Author: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
Date:   Sat Dec 4 00:43:05 2004 +0000

    Encoding of numerous files changed to UTF-8

diff --git a/src/fbdev.c b/src/fbdev.c
index b6b3f3f..ed75eaf 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -2,7 +2,7 @@
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
- *	     Michel Dänzer, <michdaen@iiic.ethz.ch>
+ *	     Michel Dänzer, <michdaen@iiic.ethz.ch>
  */
 
 /* all driver need this */

commit 2327cdd208b07282ec3e339d9edf46092ff1b765
Author: Adam Jackson <ajax@nwnk.net>
Date:   Mon Aug 16 09:13:13 2004 +0000

    Bug #1087: Make sure all the *Weak symbols are documented in the import
        list, so the loader knows not to complain about unresolved symbols when
        an optional module isn't loaded. This typically manifests as warnings
        about fbdevHW symbols when the user isn't using the framebuffer
        console.

diff --git a/src/fbdev.c b/src/fbdev.c
index 36ef4b9..b6b3f3f 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -137,7 +137,9 @@ static const char *shadowSymbols[] = {
 	"shadowInit",
 	"shadowSetup",
 	"shadowUpdatePacked",
+	"shadowUpdatePackedWeak",
 	"shadowUpdateRotatePacked",
+	"shadowUpdateRotatePackedWeak",
 	NULL
 };
 
@@ -158,7 +160,8 @@ static const char *fbdevHWSymbols[] = {
 	"fbdevHWUnmapVidmem",
 
 	/* colormap */
-	"fbdevHWLoadpalette",
+	"fbdevHWLoadPalette",
+	"fbdevHWLoadPaletteWeak",
 
 	/* ScrnInfo hooks */
 	"fbdevHWAdjustFrameWeak",
@@ -168,10 +171,12 @@ static const char *fbdevHWSymbols[] = {
 	"fbdevHWRestore",
 	"fbdevHWSave",
 	"fbdevHWSaveScreen",
+	"fbdevHWSaveScreenWeak",
 	"fbdevHWSwitchModeWeak",
 	"fbdevHWValidModeWeak",
 
 	"fbdevHWDPMSSet",
+	"fbdevHWDPMSSetWeak",
 
 	NULL
 };

commit bd1e31bdb5e64c5a533024aea077c417692438e2
Author: Adam Jackson <ajax@nwnk.net>
Date:   Tue Aug 3 02:44:20 2004 +0000

    Bug #962: Remove LoaderSymbol calls introduced by the dlloader work so
        DoLoadableServer NO builds work again.

diff --git a/src/fbdev.c b/src/fbdev.c
index bca32e1..36ef4b9 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -782,8 +782,8 @@ #endif
 
 	if (fPtr->shadowFB && 
 	    (!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
-	      fPtr->rotate ? LoaderSymbol("shadowUpdateRotatePacked")
-	                   : LoaderSymbol("shadowUpdatePacked"),
+	      fPtr->rotate ? shadowUpdateRotatePackedWeak()
+	                   : shadowUpdatePackedWeak(),
 	      FBDevWindowLinear, fPtr->rotate, NULL)) ) {
 	    xf86DrvMsg(scrnIndex, X_ERROR,
 		       "Shadow framebuffer initialization failed.\n");

commit 1d3246ca0d6cfd40e39df1715f98a33c24476490
Author: Adam Jackson <ajax@nwnk.net>
Date:   Sun Aug 1 18:04:07 2004 +0000

    *really* remove the last call to FillInScreenInfo. i clearly haven't had my
        coffee yet this morning...

diff --git a/src/fbdev.c b/src/fbdev.c
index 23c5d17..bca32e1 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -359,7 +359,6 @@ FBDevProbe(DriverPtr drv, int flags)
 		    pScrn->EnterVT       = fbdevHWEnterVTWeak();
 		    pScrn->LeaveVT       = fbdevHWLeaveVTWeak();
 		    pScrn->ValidMode     = fbdevHWValidModeWeak();
-		    fbdevHWFillInScreenInfo(pScrn);
 		    
 		    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
 			       "using %s\n", dev ? dev : "default device");

commit ce86e2a272005604b3eec732d68b65259ee9e04d
Author: Adam Jackson <ajax@nwnk.net>
Date:   Sun Aug 1 16:28:57 2004 +0000

    Kill off the last fbdevHWFillInScreenInfo user. Noticed by juergbi on IRC.

diff --git a/src/fbdev.c b/src/fbdev.c
index 8959f14..23c5d17 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -161,16 +161,15 @@ static const char *fbdevHWSymbols[] = {
 	"fbdevHWLoadpalette",
 
 	/* ScrnInfo hooks */
-	"fbdevHWAdjustFrame",
-	"fbdevHWEnterVT",
-	"fbdevHWLeaveVT",
+	"fbdevHWAdjustFrameWeak",
+	"fbdevHWEnterVTWeak",
+	"fbdevHWLeaveVTWeak",
 	"fbdevHWModeInit",
 	"fbdevHWRestore",
 	"fbdevHWSave",
 	"fbdevHWSaveScreen",
-	"fbdevHWSwitchMode",
-	"fbdevHWValidMode",
-	"fbdevHWFillInScreenInfo",
+	"fbdevHWSwitchModeWeak",
+	"fbdevHWValidModeWeak",
 
 	"fbdevHWDPMSSet",
 
@@ -355,6 +354,11 @@ FBDevProbe(DriverPtr drv, int flags)
 		    pScrn->Probe         = FBDevProbe;
 		    pScrn->PreInit       = FBDevPreInit;
 		    pScrn->ScreenInit    = FBDevScreenInit;
+		    pScrn->SwitchMode    = fbdevHWSwitchModeWeak();
+		    pScrn->AdjustFrame   = fbdevHWAdjustFrameWeak();
+		    pScrn->EnterVT       = fbdevHWEnterVTWeak();
+		    pScrn->LeaveVT       = fbdevHWLeaveVTWeak();
+		    pScrn->ValidMode     = fbdevHWValidModeWeak();
 		    fbdevHWFillInScreenInfo(pScrn);
 		    
 		    xf86DrvMsg(pScrn->scrnIndex, X_INFO,

commit 4c1492ac6df4296627d7d7d611cd1883965b2cae
Author: Adam Jackson <ajax@nwnk.net>
Date:   Sat Jul 31 01:21:18 2004 +0000

    Change several LoaderSymbol calls introduced by the bug #400 patch to
    *Weak() resolver functions.

diff --git a/src/fbdev.c b/src/fbdev.c
index 085e298..8959f14 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -840,14 +840,13 @@ #endif
 		return FALSE;
 	}
 	flags = CMAP_PALETTED_TRUECOLOR;
-	if(!xf86HandleColormaps(pScreen, 256, 8,
-	                        LoaderSymbol("fbdevHWLoadPalette"), 
+	if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPaletteWeak(), 
 				NULL, flags))
 		return FALSE;
 
-	xf86DPMSInit(pScreen, LoaderSymbol("fbdevHWDPMSSet"), 0);
+	xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0);
 
-	pScreen->SaveScreen = LoaderSymbol("fbdevHWSaveScreen");
+	pScreen->SaveScreen = fbdevHWSaveScreenWeak();
 
 	/* Wrap the current CloseScreen function */
 	fPtr->CloseScreen = pScreen->CloseScreen;

commit 64ef1f4af16f769de6e0a96b0a4f5014016d82de
Author: Adam Jackson <ajax@nwnk.net>
Date:   Fri Jul 30 20:30:52 2004 +0000

    Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all
        framebuffer formats except cfb and the overlay modes should work, and
        r128 and radeon need to be loaded from the ati driver (both issues to
        be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga
        drivers. elfloader users shouldn't be affected.

diff --git a/src/fbdev.c b/src/fbdev.c
index 733ff1a..085e298 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.43 2003/04/23 21:51:35 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
@@ -170,6 +170,7 @@ static const char *fbdevHWSymbols[] = {
 	"fbdevHWSaveScreen",
 	"fbdevHWSwitchMode",
 	"fbdevHWValidMode",
+	"fbdevHWFillInScreenInfo",
 
 	"fbdevHWDPMSSet",
 
@@ -186,7 +187,7 @@ static XF86ModuleVersionInfo FBDevVersRe
 	MODULEVENDORSTRING,
 	MODINFOSTRING1,
 	MODINFOSTRING2,
-	XF86_VERSION_CURRENT,
+	XORG_VERSION_CURRENT,
 	FBDEV_MAJOR_VERSION, FBDEV_MINOR_VERSION, 0,
 	ABI_CLASS_VIDEODRV,
 	ABI_VIDEODRV_VERSION,
@@ -354,11 +355,7 @@ FBDevProbe(DriverPtr drv, int flags)
 		    pScrn->Probe         = FBDevProbe;
 		    pScrn->PreInit       = FBDevPreInit;
 		    pScrn->ScreenInit    = FBDevScreenInit;
-		    pScrn->SwitchMode    = fbdevHWSwitchMode;
-		    pScrn->AdjustFrame   = fbdevHWAdjustFrame;
-		    pScrn->EnterVT       = fbdevHWEnterVT;
-		    pScrn->LeaveVT       = fbdevHWLeaveVT;
-		    pScrn->ValidMode     = fbdevHWValidMode;
+		    fbdevHWFillInScreenInfo(pScrn);
 		    
 		    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
 			       "using %s\n", dev ? dev : "default device");
@@ -377,6 +374,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	int default_depth, fbbpp;
 	const char *mod = NULL, *s;
 	const char **syms = NULL;
+	int type;
 
 	if (flags & PROBE_DETECT) return FALSE;
 
@@ -408,7 +406,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(fPtr->pEnt->device->options,"fbdev")))
 		return FALSE;
 	default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
-	if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,0))
+	if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,
+			     Support24bppFb | Support32bppFb | SupportConvert32to24 | PreferConvert32to24))
 		return FALSE;
 	xf86PrintDepthBpp(pScrn);
 
@@ -532,7 +531,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	xf86SetDpi(pScrn, 0, 0);
 
 	/* Load bpp-specific modules */
-	switch (fbdevHWGetType(pScrn))
+	switch ((type = fbdevHWGetType(pScrn)))
 	{
 	case FBDEVHW_PLANES:
 		mod = "afb";
@@ -573,7 +572,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
                return FALSE;
        default:
                xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-               "Fbdev type (%d) not supported yet.");
+               "Fbdev type (%d) not supported yet.", type);
                return FALSE;
 	}
 	if (mod && xf86LoadSubModule(pScrn, mod) == NULL) {
@@ -606,6 +605,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr
 	VisualPtr visual;
 	int init_picture = 0;
 	int ret,flags,width,height;
+	int type;
 
 	TRACE_ENTER("FBDevScreenInit");
 
@@ -683,7 +683,7 @@ #endif
 		fPtr->fbstart   = fPtr->fbmem + fPtr->fboff;
 	}
 
-	switch (fbdevHWGetType(pScrn))
+	switch ((type = fbdevHWGetType(pScrn)))
 	{
 #ifdef USE_AFB
 	case FBDEVHW_PLANES:
@@ -750,7 +750,7 @@ #endif
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
 		"Internal error: fbdev type (%d) unsupported in"
-		" FBDevScreenInit\n");
+		" FBDevScreenInit\n", type);
 		ret = FALSE;
 		break;
 	}
@@ -779,7 +779,8 @@ #endif
 
 	if (fPtr->shadowFB && 
 	    (!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
-	      fPtr->rotate ? shadowUpdateRotatePacked : shadowUpdatePacked,
+	      fPtr->rotate ? LoaderSymbol("shadowUpdateRotatePacked")
+	                   : LoaderSymbol("shadowUpdatePacked"),
 	      FBDevWindowLinear, fPtr->rotate, NULL)) ) {
 	    xf86DrvMsg(scrnIndex, X_ERROR,
 		       "Shadow framebuffer initialization failed.\n");
@@ -790,7 +791,8 @@ #endif
 	  FBDevDGAInit(pScrn, pScreen);
 	else {
 	  xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, disabling DGA\n");
-
+	  xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver rotation, disabling RandR\n");
+	  xf86DisableRandR();
 	  if (pScrn->bitsPerPixel == 24)
 	    xf86DrvMsg(scrnIndex, X_WARNING, "Rotation might be broken in 24 bpp\n");
 	}
@@ -803,7 +805,7 @@ #endif
 	miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
 
 	/* colormap */
-	switch (fbdevHWGetType(pScrn))
+	switch ((type = fbdevHWGetType(pScrn)))
 	{
 	/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
 #ifdef USE_AFB
@@ -833,16 +835,19 @@ #endif
 		return FALSE;
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n");
+		"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n",
+		type);
 		return FALSE;
 	}
 	flags = CMAP_PALETTED_TRUECOLOR;
-	if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPalette, NULL, flags))
+	if(!xf86HandleColormaps(pScreen, 256, 8,
+	                        LoaderSymbol("fbdevHWLoadPalette"), 
+				NULL, flags))
 		return FALSE;
 
-	xf86DPMSInit(pScreen, fbdevHWDPMSSet, 0);
+	xf86DPMSInit(pScreen, LoaderSymbol("fbdevHWDPMSSet"), 0);
 
-	pScreen->SaveScreen = fbdevHWSaveScreen;
+	pScreen->SaveScreen = LoaderSymbol("fbdevHWSaveScreen");
 
 	/* Wrap the current CloseScreen function */
 	fPtr->CloseScreen = pScreen->CloseScreen;

commit db6514cea01a43ea7eb37216c921380a1e4bd96f
Author: Eric Anholt <anholt@freebsd.org>
Date:   Wed Jun 16 09:23:04 2004 +0000

    DRI XFree86-4_3_99_12-merge import

diff --git a/man/fbdev.man b/man/fbdev.man
index ea5b730..f6a6f7d 100644
--- a/man/fbdev.man
+++ b/man/fbdev.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $ 
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $ 
 .\" shorthand for double quote that works everywhere.
 .ds q \N'34'
 .TH FBDEV __drivermansuffix__ __vendorversion__
@@ -15,7 +15,7 @@ fbdev \- video driver for framebuffer de
 .fi
 .SH DESCRIPTION
 .B fbdev
-is an __xservername__ driver for framebuffer devices.  This is a non-accelerated
+is an XFree86 driver for framebuffer devices.  This is a non-accelerated
 driver, the following framebuffer depths are supported: 8, 15, 16, 24.
 All visual types are supported for depth 8, and TrueColor visual is
 supported for the other depths.  Multi-head configurations are supported.
@@ -27,7 +27,7 @@ fbdev uses the os-specific submodule fbd
 to the kernel
 device driver.  Currently a fbdevhw module is available for linux.
 .SH CONFIGURATION DETAILS
-Please refer to __xconfigfile__(__filemansuffix__) for general configuration
+Please refer to XF86Config(__filemansuffix__) for general configuration
 details.  This section only covers configuration details specific to
 this driver.
 .PP
@@ -38,8 +38,7 @@ driver can pick up the currently used vi
 driver and will use it if there are no video modes configured.
 .PP
 For PCI boards you might have to add a BusID line to the Device
-section.  See above for a sample line.  You can use \*q\__xservername__
--scanpci\*q
+section.  See above for a sample line.  You can use "XFree86 -scanpci"
 to figure out the correct values.
 .PP
 The following driver 
@@ -57,7 +56,7 @@ Enable rotation of the display. The supp
 90 degrees), "UD" (upside down, 180 degrees) and "CCW" (counter clockwise,
 270 degrees). Implies use of the shadow framebuffer layer.   Default: off.
 .SH "SEE ALSO"
-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__),
+XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1),
 X(__miscmansuffix__), fbdevhw(__drivermansuffix__)
 .SH AUTHORS
 Authors include: Gerd Knorr, Michel Dänzer, Geert Uytterhoeven
diff --git a/src/fbdev.c b/src/fbdev.c
index a908ca5..733ff1a 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.43 2003/04/23 21:51:35 tsi Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
@@ -186,7 +186,7 @@ static XF86ModuleVersionInfo FBDevVersRe
 	MODULEVENDORSTRING,
 	MODINFOSTRING1,
 	MODINFOSTRING2,
-	XORG_VERSION_CURRENT,
+	XF86_VERSION_CURRENT,
 	FBDEV_MAJOR_VERSION, FBDEV_MINOR_VERSION, 0,
 	ABI_CLASS_VIDEODRV,
 	ABI_VIDEODRV_VERSION,
@@ -377,7 +377,6 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	int default_depth, fbbpp;
 	const char *mod = NULL, *s;
 	const char **syms = NULL;
-	int type;
 
 	if (flags & PROBE_DETECT) return FALSE;
 
@@ -409,8 +408,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(fPtr->pEnt->device->options,"fbdev")))
 		return FALSE;
 	default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
-	if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,
-			     Support24bppFb | Support32bppFb | SupportConvert32to24 | PreferConvert32to24))
+	if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,0))
 		return FALSE;
 	xf86PrintDepthBpp(pScrn);
 
@@ -534,7 +532,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	xf86SetDpi(pScrn, 0, 0);
 
 	/* Load bpp-specific modules */
-	switch ((type = fbdevHWGetType(pScrn)))
+	switch (fbdevHWGetType(pScrn))
 	{
 	case FBDEVHW_PLANES:
 		mod = "afb";
@@ -575,7 +573,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
                return FALSE;
        default:
                xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-               "Fbdev type (%d) not supported yet.", type);
+               "Fbdev type (%d) not supported yet.");
                return FALSE;
 	}
 	if (mod && xf86LoadSubModule(pScrn, mod) == NULL) {
@@ -608,7 +606,6 @@ FBDevScreenInit(int scrnIndex, ScreenPtr
 	VisualPtr visual;
 	int init_picture = 0;
 	int ret,flags,width,height;
-	int type;
 
 	TRACE_ENTER("FBDevScreenInit");
 
@@ -686,7 +683,7 @@ #endif
 		fPtr->fbstart   = fPtr->fbmem + fPtr->fboff;
 	}
 
-	switch ((type = fbdevHWGetType(pScrn)))
+	switch (fbdevHWGetType(pScrn))
 	{
 #ifdef USE_AFB
 	case FBDEVHW_PLANES:
@@ -753,7 +750,7 @@ #endif
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
 		"Internal error: fbdev type (%d) unsupported in"
-		" FBDevScreenInit\n", type);
+		" FBDevScreenInit\n");
 		ret = FALSE;
 		break;
 	}
@@ -793,8 +790,7 @@ #endif
 	  FBDevDGAInit(pScrn, pScreen);
 	else {
 	  xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, disabling DGA\n");
-	  xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver rotation, disabling RandR\n");
-	  xf86DisableRandR();
+
 	  if (pScrn->bitsPerPixel == 24)
 	    xf86DrvMsg(scrnIndex, X_WARNING, "Rotation might be broken in 24 bpp\n");
 	}
@@ -807,7 +803,7 @@ #endif
 	miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
 
 	/* colormap */
-	switch ((type = fbdevHWGetType(pScrn)))
+	switch (fbdevHWGetType(pScrn))
 	{
 	/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
 #ifdef USE_AFB
@@ -837,8 +833,7 @@ #endif
 		return FALSE;
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n",
-		type);
+		"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n");
 		return FALSE;
 	}
 	flags = CMAP_PALETTED_TRUECOLOR;

commit 1e80fe1bf94d36217c89f71b03dd7d22f156bc22
Author: Egbert Eich <eich@suse.de>
Date:   Fri Apr 23 19:31:36 2004 +0000

    Merging XORG-CURRENT into trunk

diff --git a/man/fbdev.man b/man/fbdev.man
index f6a6f7d..ea5b730 100644
--- a/man/fbdev.man
+++ b/man/fbdev.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $ 
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $ 
 .\" shorthand for double quote that works everywhere.
 .ds q \N'34'
 .TH FBDEV __drivermansuffix__ __vendorversion__
@@ -15,7 +15,7 @@ fbdev \- video driver for framebuffer de
 .fi
 .SH DESCRIPTION
 .B fbdev
-is an XFree86 driver for framebuffer devices.  This is a non-accelerated
+is an __xservername__ driver for framebuffer devices.  This is a non-accelerated
 driver, the following framebuffer depths are supported: 8, 15, 16, 24.
 All visual types are supported for depth 8, and TrueColor visual is
 supported for the other depths.  Multi-head configurations are supported.
@@ -27,7 +27,7 @@ fbdev uses the os-specific submodule fbd
 to the kernel
 device driver.  Currently a fbdevhw module is available for linux.
 .SH CONFIGURATION DETAILS
-Please refer to XF86Config(__filemansuffix__) for general configuration
+Please refer to __xconfigfile__(__filemansuffix__) for general configuration
 details.  This section only covers configuration details specific to
 this driver.
 .PP
@@ -38,7 +38,8 @@ driver can pick up the currently used vi
 driver and will use it if there are no video modes configured.
 .PP
 For PCI boards you might have to add a BusID line to the Device
-section.  See above for a sample line.  You can use "XFree86 -scanpci"
+section.  See above for a sample line.  You can use \*q\__xservername__
+-scanpci\*q
 to figure out the correct values.
 .PP
 The following driver 
@@ -56,7 +57,7 @@ Enable rotation of the display. The supp
 90 degrees), "UD" (upside down, 180 degrees) and "CCW" (counter clockwise,
 270 degrees). Implies use of the shadow framebuffer layer.   Default: off.
 .SH "SEE ALSO"
-XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1),
+__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__),
 X(__miscmansuffix__), fbdevhw(__drivermansuffix__)
 .SH AUTHORS
 Authors include: Gerd Knorr, Michel Dänzer, Geert Uytterhoeven
diff --git a/src/fbdev.c b/src/fbdev.c
index 2553fff..a908ca5 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.45 2004/01/11 18:42:59 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
@@ -186,7 +186,7 @@ static XF86ModuleVersionInfo FBDevVersRe
 	MODULEVENDORSTRING,
 	MODINFOSTRING1,
 	MODINFOSTRING2,
-	XF86_VERSION_CURRENT,
+	XORG_VERSION_CURRENT,
 	FBDEV_MAJOR_VERSION, FBDEV_MINOR_VERSION, 0,
 	ABI_CLASS_VIDEODRV,
 	ABI_VIDEODRV_VERSION,

commit 5d8a0a2e47a5b6e304eea259de0b7d50af96c573
Author: Egbert Eich <eich@suse.de>
Date:   Sun Mar 14 08:33:20 2004 +0000

    Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004

diff --git a/man/fbdev.man b/man/fbdev.man
index 9291851..f6a6f7d 100644
--- a/man/fbdev.man
+++ b/man/fbdev.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $ 
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $ 
 .\" shorthand for double quote that works everywhere.
 .ds q \N'34'
 .TH FBDEV __drivermansuffix__ __vendorversion__
diff --git a/src/fbdev.c b/src/fbdev.c
index f531a19..2553fff 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.45 2004/01/11 18:42:59 dawes Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>

commit 69d61895f3208c30c329b64ede25338509d16a7c
Author: Egbert Eich <eich@suse.de>
Date:   Wed Mar 3 12:12:18 2004 +0000

    Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004

diff --git a/man/fbdev.man b/man/fbdev.man
index f6a6f7d..9291851 100644
--- a/man/fbdev.man
+++ b/man/fbdev.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $ 
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $ 
 .\" shorthand for double quote that works everywhere.
 .ds q \N'34'
 .TH FBDEV __drivermansuffix__ __vendorversion__
diff --git a/src/fbdev.c b/src/fbdev.c
index 2553fff..f531a19 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.45 2004/01/11 18:42:59 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>

commit 806863c5f6636c958e716a2f853cb06dcd883e64
Author: Egbert Eich <eich@suse.de>
Date:   Thu Feb 26 13:35:52 2004 +0000

    readding XFree86's cvs IDs

diff --git a/man/fbdev.man b/man/fbdev.man
index 54721db..f6a6f7d 100644
--- a/man/fbdev.man
+++ b/man/fbdev.man
@@ -1,4 +1,4 @@
-.\" $XFree86$ 
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $ 
 .\" shorthand for double quote that works everywhere.
 .ds q \N'34'
 .TH FBDEV __drivermansuffix__ __vendorversion__
diff --git a/src/fbdev.c b/src/fbdev.c
index f7ceecc..2553fff 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.45 2004/01/11 18:42:59 dawes Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>

commit 595a614cd9291eacbed6241320c9e44e4e65204f
Author: Egbert Eich <eich@suse.de>
Date:   Thu Feb 26 09:23:18 2004 +0000

    Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004

diff --git a/man/fbdev.man b/man/fbdev.man
index f6a6f7d..54721db 100644
--- a/man/fbdev.man
+++ b/man/fbdev.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $ 
+.\" $XFree86$ 
 .\" shorthand for double quote that works everywhere.
 .ds q \N'34'
 .TH FBDEV __drivermansuffix__ __vendorversion__
diff --git a/src/fbdev.c b/src/fbdev.c
index 2553fff..f7ceecc 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.45 2004/01/11 18:42:59 dawes Exp $ */
+/* $XFree86$ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>

commit 62bec818a1995fb4c7ea417625aa4f75ecf0ee20
Author: Egbert Eich <eich@suse.de>
Date:   Thu Jan 29 08:08:35 2004 +0000

    Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004

diff --git a/src/fbdev.c b/src/fbdev.c
index de568f6..2553fff 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.45 2004/01/11 18:42:59 dawes Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
@@ -409,7 +409,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(fPtr->pEnt->device->options,"fbdev")))
 		return FALSE;
 	default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
-	if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,0))
+	if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,
+			     Support24bppFb | Support32bppFb | SupportConvert32to24 | PreferConvert32to24))
 		return FALSE;
 	xf86PrintDepthBpp(pScrn);
 
@@ -792,7 +793,8 @@ #endif
 	  FBDevDGAInit(pScrn, pScreen);
 	else {
 	  xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, disabling DGA\n");
-
+	  xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver rotation, disabling RandR\n");
+	  xf86DisableRandR();
 	  if (pScrn->bitsPerPixel == 24)
 	    xf86DrvMsg(scrnIndex, X_WARNING, "Rotation might be broken in 24 bpp\n");
 	}

commit 48e31aaed2340998e4e3b62aaae41d6fbce0ca88
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date:   Tue Nov 25 19:28:36 2003 +0000

    XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks

diff --git a/src/fbdev.c b/src/fbdev.c
index dac70d5..de568f6 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.42 2002/10/10 01:35:20 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
 
 /*
  * Authors:  Alan Hourihane, <alanh@fairlite.demon.co.uk>
@@ -29,9 +29,7 @@ #include "xf86RAC.h"
 
 #include "fbdevhw.h"
 
-#ifdef XvExtension
 #include "xf86xv.h"
-#endif
 
 #define DEBUG 0
 
@@ -379,6 +377,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	int default_depth, fbbpp;
 	const char *mod = NULL, *s;
 	const char **syms = NULL;
+	int type;
 
 	if (flags & PROBE_DETECT) return FALSE;
 
@@ -534,7 +533,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
 	xf86SetDpi(pScrn, 0, 0);
 
 	/* Load bpp-specific modules */
-	switch (fbdevHWGetType(pScrn))
+	switch ((type = fbdevHWGetType(pScrn)))
 	{
 	case FBDEVHW_PLANES:
 		mod = "afb";
@@ -575,7 +574,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flag
                return FALSE;
        default:
                xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-               "Fbdev type (%d) not supported yet.");
+               "Fbdev type (%d) not supported yet.", type);
                return FALSE;
 	}
 	if (mod && xf86LoadSubModule(pScrn, mod) == NULL) {
@@ -608,6 +607,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr
 	VisualPtr visual;
 	int init_picture = 0;
 	int ret,flags,width,height;
+	int type;
 
 	TRACE_ENTER("FBDevScreenInit");
 
@@ -685,7 +685,7 @@ #endif
 		fPtr->fbstart   = fPtr->fbmem + fPtr->fboff;
 	}
 
-	switch (fbdevHWGetType(pScrn))
+	switch ((type = fbdevHWGetType(pScrn)))
 	{
 #ifdef USE_AFB
 	case FBDEVHW_PLANES:
@@ -752,7 +752,7 @@ #endif
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
 		"Internal error: fbdev type (%d) unsupported in"
-		" FBDevScreenInit\n");
+		" FBDevScreenInit\n", type);
 		ret = FALSE;
 		break;
 	}
@@ -805,7 +805,7 @@ #endif
 	miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
 
 	/* colormap */
-	switch (fbdevHWGetType(pScrn))
+	switch ((type = fbdevHWGetType(pScrn)))
 	{
 	/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
 #ifdef USE_AFB
@@ -835,7 +835,8 @@ #endif
 		return FALSE;
 	default:
 		xf86DrvMsg(scrnIndex, X_ERROR,
-		"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n");
+		"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n",
+		type);
 		return FALSE;
 	}
 	flags = CMAP_PALETTED_TRUECOLOR;
@@ -850,7 +851,6 @@ #endif
 	fPtr->CloseScreen = pScreen->CloseScreen;
 	pScreen->CloseScreen = FBDevCloseScreen;
 
-#ifdef XvExtension
 	{
 	    XF86VideoAdaptorPtr *ptr;
 
@@ -859,7 +859,6 @@ #ifdef XvExtension
 		xf86XVScreenInit(pScreen,ptr,n);
 	    }
 	}
-#endif
 
 	TRACE_EXIT("FBDevScreenInit");
 



Reply to: