tdfx and DDC2

Michael <[email protected]>
Newsgroups gmane.comp.xfree86.devel
Message-ID <20050825132155.51a8677a@inishowen>
Hello,

the attached patch adds DDC2/I2C support to the tdfx driver which has
the distinct advantage to work anywhere since it doesn't depend on the
vbe module. It will try DDC2 first and if that fails fall back to the
old vbe stuff when possible.
Moved mode validation and related stuff /after/ monitor detection.

Tested on NetBSD/macppc with a voodoo3 ( with unofficial patches to
allow PCI IO access, but these affect only the platform-specific PCI
code, not the tdfx driver )

If you think that's ok I'll commit it into NetBSD's xsrc.

have fun
Michael
tdfx_ddc2.patch (application/octet-stream, 6.8 KB)
? .depend
? DONE
? Makefile
? XFree86.core
? tdfx.0
? tdfx._man
Index: tdfx_driver.c
===================================================================
RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c,v
retrieving revision 1.1.1.7
diff -u -w -r1.1.1.7 tdfx_driver.c
--- tdfx_driver.c	18 Mar 2005 13:12:12 -0000	1.1.1.7
+++ tdfx_driver.c	25 Aug 2005 17:08:50 -0000
@@ -138,6 +138,8 @@
 static void TDFXDisplayPowerManagementSet(ScrnInfoPtr pScrn, 
 					int PowerManagermentMode, int flags);
 
+static xf86MonPtr doTDFXDDC(ScrnInfoPtr pScrn);
+
 DriverRec TDFX = {
   TDFX_VERSION,
   TDFX_DRIVER_NAME,
@@ -214,6 +216,13 @@
 static const char *ddcSymbols[] = {
     "xf86PrintEDID",
     "xf86SetDDCproperties",
+    "xf86DoEDID_DDC2",
+    NULL
+};
+
+static const char *i2cSymbols[] = {
+	"xf86CreateI2CBusRec",
+    "xf86I2CBusInit",
     NULL
 };
 
@@ -674,6 +683,7 @@
 {
   TDFXPtr pTDFX;
   ClockRangePtr clockRanges;
+  xf86MonPtr pMon;
   int i;
   MessageType from;
   int flags24;
@@ -975,32 +985,6 @@
   availableMem = pScrn->videoRam - 4096 -
 		 (((255 <= CMDFIFO_PAGES) ? 255 : CMDFIFO_PAGES) << 12);
 
-  i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
-			pScrn->display->modes, clockRanges,
-			0, 320, 2048, 16*pScrn->bitsPerPixel, 
-			200, 2047,
-			pScrn->display->virtualX, pScrn->display->virtualY,
-			availableMem, LOOKUP_BEST_REFRESH);
-
-  if (i==-1) {
-    TDFXFreeRec(pScrn);
-    return FALSE;
-  }
-
-  xf86PruneDriverModes(pScrn);
-
-  if (!i || !pScrn->modes) {
-    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n");
-    TDFXFreeRec(pScrn);
-    return FALSE;
-  }
-
-  xf86SetCrtcForModes(pScrn, 0);
-
-  pScrn->currentMode = pScrn->modes;
-
-  xf86PrintModes(pScrn);
-
   xf86SetDpi(pScrn, 0, 0);
 
   if (!xf86LoadSubModule(pScrn, "fb")) {
@@ -1043,19 +1027,29 @@
     xf86LoaderReqSymLists(ramdacSymbols, NULL);
   }
 
-#if USE_INT10
-#if !defined(__powerpc__)
-  /* Load DDC if needed */
-  /* This gives us DDC1 - we should be able to get DDC2B using i2c */
+  /* Load DDC and I2C for monitor ID */
+  if (!xf86LoadSubModule(pScrn, "i2c")) {
+    TDFXFreeRec(pScrn);
+    return FALSE;
+  }
+  xf86LoaderReqSymLists(i2cSymbols, NULL);
+  
   if (!xf86LoadSubModule(pScrn, "ddc")) {
     TDFXFreeRec(pScrn);
     return FALSE;
   }
   xf86LoaderReqSymLists(ddcSymbols, NULL);
 
+  /* try to read read DDC2 data */
+  pMon = doTDFXDDC(pScrn);
+  if (pMon != NULL) {
+    xf86SetDDCproperties(pScrn,xf86PrintEDID(pMon));
+  } else {
+    /* try to use vbe if we didn't find anything */
+#if USE_INT10
+#if !defined(__powerpc__)
   /* Initialize DDC1 if possible */
   if (xf86LoadSubModule(pScrn, "vbe")) {
-      xf86MonPtr pMon;
       vbeInfoPtr pVbe = VBEInit(NULL,pTDFX->pEnt->index);
 
       xf86LoaderReqSymLists(vbeSymbols, NULL);
@@ -1065,11 +1059,38 @@
   }
 #endif
 #endif
+  }
 
   if (xf86ReturnOptValBool(pTDFX->Options, OPTION_USE_PIO, FALSE)) {
     pTDFX->usePIO=TRUE;
   }
 
+  i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
+			pScrn->display->modes, clockRanges,
+			0, 320, 2048, 16*pScrn->bitsPerPixel, 
+			200, 2047,
+			pScrn->display->virtualX, pScrn->display->virtualY,
+			availableMem, LOOKUP_BEST_REFRESH);
+
+  if (i==-1) {
+    TDFXFreeRec(pScrn);
+    return FALSE;
+  }
+
+  xf86PruneDriverModes(pScrn);
+
+  if (!i || !pScrn->modes) {
+    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n");
+    TDFXFreeRec(pScrn);
+    return FALSE;
+  }
+
+  xf86SetCrtcForModes(pScrn, 0);
+
+  pScrn->currentMode = pScrn->modes;
+
+  xf86PrintModes(pScrn);
+
 #if X_BYTE_ORDER == X_BIG_ENDIAN
   pTDFX->ModeReg.miscinit0 = pTDFX->readLong(pTDFX, MISCINIT0);
   pTDFX->SavedReg.miscinit0 = pTDFX->ModeReg.miscinit0;
@@ -2521,3 +2542,69 @@
   dacmode|=state;
   pTDFX->writeLong(pTDFX, DACMODE, dacmode);
 }
+
+void
+TDFXPutBits(I2CBusPtr b, int  scl, int  sda)
+{
+  TDFXPtr pTDFX;
+  CARD32 reg;
+  
+  pTDFX = b->DriverPrivate.ptr;
+  reg = pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT);
+  reg = (reg & ~(VSP_SDA0_OUT | VSP_SCL0_OUT)) |
+  	(scl ? VSP_SCL0_OUT : 0) |
+  	(sda ? VSP_SDA0_OUT : 0);
+  pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, reg);
+}
+
+void
+TDFXGetBits(I2CBusPtr b, int *scl, int *sda)
+{
+  TDFXPtr pTDFX;
+  CARD32 reg;
+  
+  pTDFX = b->DriverPrivate.ptr;
+  reg = pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT);
+  *sda = (reg & VSP_SDA0_IN) ? 1 : 0;
+  *scl = (reg & VSP_SCL0_IN) ? 1 : 0;
+}
+
+static xf86MonPtr
+doTDFXDDC(ScrnInfoPtr pScrn)
+{
+  TDFXPtr pTDFX;
+  I2CBusPtr pI2CBus;
+  xf86MonPtr pMon = NULL;
+  CARD32 reg;
+  
+  pTDFX = TDFXPTR(pScrn);
+
+  if (!(pI2CBus = xf86CreateI2CBusRec()))
+  {
+    xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to allocate I2C Bus record.\n");
+    return NULL;
+  }
+
+  /* Fill in generic structure fields */
+  pI2CBus->BusName           = "DDC";
+  pI2CBus->scrnIndex         = pScrn->scrnIndex;
+  pI2CBus->I2CPutBits        = TDFXPutBits;
+  pI2CBus->I2CGetBits        = TDFXGetBits;
+  
+  pI2CBus->DriverPrivate.ptr = pTDFX;
+
+  reg = pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT);
+  pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, reg | VSP_ENABLE_IIC0);
+
+  if (xf86I2CBusInit(pI2CBus))
+  {
+    pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pI2CBus);
+    if (pMon == NULL)
+      xf86Msg(X_WARNING, "No DDC2 capable monitor found\n");
+    xf86DestroyI2CBusRec(pI2CBus, TRUE, TRUE);
+  }
+  pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, reg);
+  
+  return pMon;
+}
+
Index: tdfxdefs.h
===================================================================
RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h,v
retrieving revision 1.1.1.5
diff -u -w -r1.1.1.5 tdfxdefs.h
--- tdfxdefs.h	5 Mar 2004 14:29:02 -0000	1.1.1.5
+++ tdfxdefs.h	25 Aug 2005 17:08:52 -0000
@@ -384,4 +384,28 @@
 
 #define SST_POWERDOWN_DAC               BIT(8)
 
+/* VIDSERIALPARALELPORT */
+#define VSP_TVOUT_RESET	0x80000000	/* 0 forces TVout reset */
+#define VSP_GPIO2_IN	0x40000000
+#define VSP_GPIO1_OUT	0x20000000
+#define VSP_VMI_RESET_N	0x10000000	/* 0 forces a VMI reset */
+#define VSP_SDA1_IN		0x08000000	/* i2c bus on the feature connector */
+#define VSP_SCL1_IN		0x04000000
+#define VSP_SDA1_OUT	0x02000000
+#define VSP_SCL1_OUT	0x01000000
+#define VSP_ENABLE_IIC1	0x00800000	/* 1 enables I2C bus 1 */
+#define VSP_SDA0_IN		0x00400000	/* i2c bus on the monitor connector */
+#define VSP_SCL0_IN		0x00200000
+#define VSP_SDA0_OUT	0x00100000
+#define VSP_SCL0_OUT	0x00080000
+#define VSP_ENABLE_IIC0	0x00040000	/* 1 enables I2C bus 0 */
+#define VSP_VMI_ADDRESS	0x0003c000	/* mask */
+#define VSP_VMI_DATA	0x00003fc0	/* mask */
+#define VSP_VMI_DISABLE	0x00000020	/* 0 enables VMI output */
+#define VSP_VMI_RDY_N	0x00000010
+#define VSP_RW_N		0x00000008
+#define VSP_DS_N		0x00000004
+#define VSP_CS_N		0x00000002
+#define VSP_HOST_ENABLE	0x00000001	/* 1 enables VMI host control*/
+
 #endif
XFree86.0.log (application/octet-stream, 34.2 KB)
XFree86 Version 4.5.0
Release Date: 16 March 2005
X Protocol Version 11, Revision 0
Build Operating System: NetBSD/macppc 3.99.7 [ELF] The NetBSD Foundation, Inc.
Current Operating System: NetBSD Macallan 3.99.7 NetBSD 3.99.7 (MACALLAN) #656: Wed Aug 10 14:12:37 EDT 2005  ml@Macallan:/data/src/sys/arch/macppc/compile/MACALLAN macppc
Build Date: 20 August 2005
Changelog Date: 17 March 2005
	Before reporting problems, check http://www.XFree86.Org/
	to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (EE) error, (WW) warning,
	(II) informational, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/XFree86.0.log", Time: Thu Aug 25 13:07:08 2005
(==) Using config file: "/etc/X11/XF86Config".
(II) Module ABI versions:
	XFree86 ANSI C Emulation: 0.3
	XFree86 Video Driver: 0.8
	XFree86 XInput driver : 0.5
	XFree86 Server Extension : 0.3
	XFree86 Font Renderer : 0.5
(II) Loader running on netbsd
(==) ServerLayout "Simple Layout"
(==) |-->Screen "Screen 1" (0) (0, 0)
(**) |  |-->Device "voodoo3"
(**) |  |-->Monitor "sony" (0)
(**) |-->Input Device "Mouse1"
(**) |-->Input Device "Keyboard1"
(WW) "fonts.dir" not found (or not valid) in "/usr/X11R6/lib/X11/fonts/Type1/".
	Entry deleted from font path.
	(Run 'mkfontdir' on "/usr/X11R6/lib/X11/fonts/Type1/").
(WW) The directory "/usr/X11R6/lib/X11/fonts/TrueType/" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/X11R6/lib/X11/fonts/freefont/" does not exist.
	Entry deleted from font path.
(**) FontPath set to "/usr/X11R6/lib/X11/fonts/local/,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/75dpi/:unscaled,/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/"
(**) RgbPath set to "/usr/X11R6/lib/X11/rgb"
(==) ModulePath set to "/usr/X11R6/lib/modules"
(**) Option "NoTrapSignals"
(**) Option "StandbyTime" "10"
(**) Option "SuspendTime" "15"
(**) Option "OffTime" "20"
(II) Checking for unused ServerFlags options:
(II) LoadModule: "pcidata"
(II) Loading /usr/X11R6/lib/modules/libpcidata.a
(II) Module pcidata: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	ABI class: XFree86 Video Driver, version 0.8
(II) LoadModule: "bitmap"
(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Module bitmap: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	Module class: XFree86 Font Renderer
	ABI class: XFree86 Font Renderer, version 0.5
(II) Loading font Bitmap
(--) Using wscons driver
(WW) xf86EnableIO 5
(WW) xf86EnableIO: efe60000
(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:0b:0: chip 106b,0001 card 0000,0000 rev 03 class 06,00,00 hdr 00
(II) PCI: 00:0d:0: chip 1077,1020 card 0000,0000 rev 02 class 01,00,00 hdr 00
(II) PCI: 00:0e:0: chip 121a,0005 card 121a,0005 rev 01 class 03,00,00 hdr 00
(II) PCI: 00:0f:0: chip 1011,0021 card 0000,0000 rev 01 class 06,04,00 hdr 01
(II) PCI: 00:10:0: chip 106b,0002 card 0000,0000 rev 02 class ff,00,00 hdr 00
(II) PCI: 00:11:0: chip 1011,0009 card 0000,0000 rev 12 class 02,00,00 hdr 00
(II) PCI: 01:00:0: chip 10b9,5237 card 10b9,5237 rev 03 class 0c,03,10 hdr 80
(II) PCI: 01:00:1: chip 10b9,5237 card 10b9,5237 rev 03 class 0c,03,10 hdr 80
(II) PCI: 01:00:2: chip 10b9,5237 card 10b9,5237 rev 03 class 0c,03,10 hdr 80
(II) PCI: 01:00:3: chip 10b9,5239 card 2020,8888 rev 01 class 0c,03,20 hdr 80
(II) PCI: 01:01:0: chip 102b,051b card ffff,ffff rev 00 class 03,00,00 hdr 00
(II) PCI: 01:02:0: chip 1073,0004 card 1073,0004 rev 05 class 04,01,00 hdr 00
(II) PCI: 01:03:0: chip 11de,6057 card 0000,0000 rev 01 class 04,00,00 hdr 00
(II) PCI: End of PCI scan
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:11:0), (0,0,1), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
	[0] -1	0	0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 0 non-prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 0 prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:15:0), (0,1,1), BCTRL: 0x0004 (VGA_EN is cleared)
(II) Bus 1 non-prefetchable memory range:
	[0] -1	0	0x80800000 - 0x830fffff (0x2900000) MX[B]
(--) PCI:*(0:14:0) 3Dfx Interactive, Inc. Voodoo 3 rev 1, Mem @ 0x84000000/25, 0x90000000/25, I/O @ 0x1000/8, BIOS @ 0x86000000/16
(--) PCI: (1:1:0) Matrox Graphics, Inc. MGA 2164W [Millennium II] rev 0, Mem @ 0x82000000/24, 0x83018000/14, 0x81000000/23, BIOS @ 0x83000000/16
(--) PCI: (1:3:0) unknown vendor (0x11de) unknown chipset (0x6057) rev 1, Mem @ 0x8301c000/12
(II) Addressable bus resource ranges are
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
	[1] -1	0	0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) OS-reported resource ranges:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[3] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
(II) PCI Memory resource overlap reduced 0x80000000 from 0xffffffff to 0x807fffff
(II) Active PCI resource ranges:
	[0] -1	0	0x83010000 - 0x8301ffff (0x10000) MX[B]E
	[1] -1	0	0x83020000 - 0x8303ffff (0x20000) MX[B]E
	[2] -1	0	0x8301d000 - 0x8301dfff (0x1000) MX[B]E
	[3] -1	0	0x8301e000 - 0x8301ffff (0x2000) MX[B]E
	[4] -1	0	0x8301f000 - 0x8301ffff (0x1000) MX[B]E
	[5] -1	0	0x80000000 - 0x807fffff (0x800000) MX[B]E
	[6] -1	0	0xf3000000 - 0xf3ffffff (0x1000000) MX[B]E
	[7] -1	0	0x86010000 - 0x8601ffff (0x10000) MX[B]E
	[8] -1	0	0x8301c000 - 0x8301cfff (0x1000) MX[B](B)
	[9] -1	0	0x86000000 - 0x8600ffff (0x10000) MX[B](B)
	[10] -1	0	0x90000000 - 0x91ffffff (0x2000000) MX[B](B)
	[11] -1	0	0x84000000 - 0x85ffffff (0x2000000) MX[B](B)
	[12] -1	0	0x00001000 - 0x000010ff (0x100) IX[B](B)
(II) Inactive PCI resource ranges:
	[0] -1	0	0x83000000 - 0x8300ffff (0x10000) MX[B](B)
	[1] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[2] -1	0	0x83018000 - 0x8301bfff (0x4000) MX[B](B)
	[3] -1	0	0x82000000 - 0x82ffffff (0x1000000) MX[B](B)
	[4] -1	0	0xffffff80 - 0xffffffff (0x80) IX[B]E
(II) PCI Memory resource overlap reduced 0x83010000 from 0x8301ffff to 0x83017fff
(II) PCI Memory resource overlap reduced 0x8301e000 from 0x8301ffff to 0x8301efff
(II) Active PCI resource ranges after removing overlaps:
	[0] -1	0	0x83010000 - 0x83017fff (0x8000) MX[B]E
	[1] -1	0	0x83020000 - 0x8303ffff (0x20000) MX[B]E
	[2] -1	0	0x8301d000 - 0x8301dfff (0x1000) MX[B]E
	[3] -1	0	0x8301e000 - 0x8301efff (0x1000) MX[B]E
	[4] -1	0	0x8301f000 - 0x8301ffff (0x1000) MX[B]E
	[5] -1	0	0x80000000 - 0x807fffff (0x800000) MX[B]E
	[6] -1	0	0xf3000000 - 0xf3ffffff (0x1000000) MX[B]E
	[7] -1	0	0x86010000 - 0x8601ffff (0x10000) MX[B]E
	[8] -1	0	0x8301c000 - 0x8301cfff (0x1000) MX[B](B)
	[9] -1	0	0x86000000 - 0x8600ffff (0x10000) MX[B](B)
	[10] -1	0	0x90000000 - 0x91ffffff (0x2000000) MX[B](B)
	[11] -1	0	0x84000000 - 0x85ffffff (0x2000000) MX[B](B)
	[12] -1	0	0x00001000 - 0x000010ff (0x100) IX[B](B)
(II) Inactive PCI resource ranges after removing overlaps:
	[0] -1	0	0x83000000 - 0x8300ffff (0x10000) MX[B](B)
	[1] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[2] -1	0	0x83018000 - 0x8301bfff (0x4000) MX[B](B)
	[3] -1	0	0x82000000 - 0x82ffffff (0x1000000) MX[B](B)
	[4] -1	0	0xffffff80 - 0xffffffff (0x80) IX[B]E
(II) OS-reported resource ranges after removing overlaps with PCI:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[3] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
(II) All system resource ranges:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x83010000 - 0x83017fff (0x8000) MX[B]E
	[3] -1	0	0x83020000 - 0x8303ffff (0x20000) MX[B]E
	[4] -1	0	0x8301d000 - 0x8301dfff (0x1000) MX[B]E
	[5] -1	0	0x8301e000 - 0x8301efff (0x1000) MX[B]E
	[6] -1	0	0x8301f000 - 0x8301ffff (0x1000) MX[B]E
	[7] -1	0	0x80000000 - 0x807fffff (0x800000) MX[B]E
	[8] -1	0	0xf3000000 - 0xf3ffffff (0x1000000) MX[B]E
	[9] -1	0	0x86010000 - 0x8601ffff (0x10000) MX[B]E
	[10] -1	0	0x8301c000 - 0x8301cfff (0x1000) MX[B](B)
	[11] -1	0	0x86000000 - 0x8600ffff (0x10000) MX[B](B)
	[12] -1	0	0x90000000 - 0x91ffffff (0x2000000) MX[B](B)
	[13] -1	0	0x84000000 - 0x85ffffff (0x2000000) MX[B](B)
	[14] -1	0	0x83000000 - 0x8300ffff (0x10000) MX[B](B)
	[15] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[16] -1	0	0x83018000 - 0x8301bfff (0x4000) MX[B](B)
	[17] -1	0	0x82000000 - 0x82ffffff (0x1000000) MX[B](B)
	[18] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[19] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
	[20] -1	0	0x00001000 - 0x000010ff (0x100) IX[B](B)
	[21] -1	0	0xffffff80 - 0xffffffff (0x80) IX[B]E
(II) LoadModule: "dbe"
(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a
(II) Module dbe: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	Module class: XFree86 Server Extension
	ABI class: XFree86 Server Extension, version 0.3
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "extmod"
(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.a
(II) Module extmod: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	Module class: XFree86 Server Extension
	ABI class: XFree86 Server Extension, version 0.3
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension DPMS
(II) Loading extension FontCache
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "speedo"
(II) Loading /usr/X11R6/lib/modules/fonts/libspeedo.a
(II) Module speedo: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.1
	Module class: XFree86 Font Renderer
	ABI class: XFree86 Font Renderer, version 0.5
(II) Loading font Speedo
(II) LoadModule: "xtt"
(II) Loading /usr/X11R6/lib/modules/fonts/libxtt.a
(II) Module xtt: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 0.0.0
	Module class: XFree86 Font Renderer
	ABI class: XFree86 Font Renderer, version 0.5
(II) Loading sub module "freetype"
(II) LoadModule: "freetype"
(II) Loading /usr/X11R6/lib/modules/fonts/libfreetype.a
(II) Module freetype: vendor="The XFree86 Project & the After X-TT Project"
	compiled for 4.5.0, module version = 2.1.0
	Module class: XFree86 Font Renderer
	ABI class: XFree86 Font Renderer, version 0.5
(II) Loading font FreeType
(II) LoadModule: "glx"
(II) Loading /usr/X11R6/lib/modules/extensions/libglx.a
(II) Module glx: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	ABI class: XFree86 Server Extension, version 0.3
(II) Loading sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.a
(II) Module GLcore: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	ABI class: XFree86 Server Extension, version 0.3
(II) Loading extension GLX
(II) LoadModule: "dri"
(WW) Warning, couldn't open module dri
(II) UnloadModule: "dri"
(EE) Failed to load module "dri" (module does not exist, 0)
(II) LoadModule: "tdfx"
(II) Loading /usr/X11R6/lib/modules/drivers/tdfx_drv.o
(II) Module tdfx: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	Module class: XFree86 Video Driver
	ABI class: XFree86 Video Driver, version 0.8
(II) LoadModule: "mouse"
(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o
(II) Module mouse: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	Module class: XFree86 XInput Driver
	ABI class: XFree86 XInput driver, version 0.5
(II) LoadModule: "kbd"
(II) Loading /usr/X11R6/lib/modules/input/kbd_drv.o
(II) Module kbd: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	Module class: XFree86 XInput Driver
	ABI class: XFree86 XInput driver, version 0.5
(II) TDFX: Driver for 3dfx Banshee/Voodoo3 chipsets: 3dfx Banshee,
	3dfx Voodoo3, 3dfx Voodoo5
(II) Primary Device is: PCI 00:0e:0
(--) Chipset 3dfx Voodoo3 found
(II) resource ranges after xf86ClaimFixedResources() call:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x83010000 - 0x83017fff (0x8000) MX[B]E
	[3] -1	0	0x83020000 - 0x8303ffff (0x20000) MX[B]E
	[4] -1	0	0x8301d000 - 0x8301dfff (0x1000) MX[B]E
	[5] -1	0	0x8301e000 - 0x8301efff (0x1000) MX[B]E
	[6] -1	0	0x8301f000 - 0x8301ffff (0x1000) MX[B]E
	[7] -1	0	0x80000000 - 0x807fffff (0x800000) MX[B]E
	[8] -1	0	0xf3000000 - 0xf3ffffff (0x1000000) MX[B]E
	[9] -1	0	0x86010000 - 0x8601ffff (0x10000) MX[B]E
	[10] -1	0	0x8301c000 - 0x8301cfff (0x1000) MX[B](B)
	[11] -1	0	0x86000000 - 0x8600ffff (0x10000) MX[B](B)
	[12] -1	0	0x90000000 - 0x91ffffff (0x2000000) MX[B](B)
	[13] -1	0	0x84000000 - 0x85ffffff (0x2000000) MX[B](B)
	[14] -1	0	0x83000000 - 0x8300ffff (0x10000) MX[B](B)
	[15] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[16] -1	0	0x83018000 - 0x8301bfff (0x4000) MX[B](B)
	[17] -1	0	0x82000000 - 0x82ffffff (0x1000000) MX[B](B)
	[18] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[19] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
	[20] -1	0	0x00001000 - 0x000010ff (0x100) IX[B](B)
	[21] -1	0	0xffffff80 - 0xffffffff (0x80) IX[B]E
(II) resource ranges after probing:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x83010000 - 0x83017fff (0x8000) MX[B]E
	[3] -1	0	0x83020000 - 0x8303ffff (0x20000) MX[B]E
	[4] -1	0	0x8301d000 - 0x8301dfff (0x1000) MX[B]E
	[5] -1	0	0x8301e000 - 0x8301efff (0x1000) MX[B]E
	[6] -1	0	0x8301f000 - 0x8301ffff (0x1000) MX[B]E
	[7] -1	0	0x80000000 - 0x807fffff (0x800000) MX[B]E
	[8] -1	0	0xf3000000 - 0xf3ffffff (0x1000000) MX[B]E
	[9] -1	0	0x86010000 - 0x8601ffff (0x10000) MX[B]E
	[10] -1	0	0x8301c000 - 0x8301cfff (0x1000) MX[B](B)
	[11] -1	0	0x86000000 - 0x8600ffff (0x10000) MX[B](B)
	[12] -1	0	0x90000000 - 0x91ffffff (0x2000000) MX[B](B)
	[13] -1	0	0x84000000 - 0x85ffffff (0x2000000) MX[B](B)
	[14] -1	0	0x83000000 - 0x8300ffff (0x10000) MX[B](B)
	[15] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[16] -1	0	0x83018000 - 0x8301bfff (0x4000) MX[B](B)
	[17] -1	0	0x82000000 - 0x82ffffff (0x1000000) MX[B](B)
	[18] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B]
	[19] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B]
	[20] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B]
	[21] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[22] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
	[23] -1	0	0x00001000 - 0x000010ff (0x100) IX[B](B)
	[24] -1	0	0xffffff80 - 0xffffffff (0x80) IX[B]E
	[25] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B]
	[26] 0	0	0x000003c0 - 0x000003df (0x20) IS[B]
(II) Setting vga for screen 0.
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/X11R6/lib/modules/libvgahw.a
(II) Module vgahw: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 0.1.0
	ABI class: XFree86 Video Driver, version 0.8
(II) TDFX(0): TDFXFindChips: found 1 chip(s)
(**) TDFX(0): Depth 24, (--) framebuffer bpp 32
(==) TDFX(0): RGB weight 888
(==) TDFX(0): Default visual is TrueColor
(**) TDFX(0): Option "UsePIO" "false"
(--) TDFX(0): Chipset: "3dfx Voodoo3"
(--) TDFX(0): Linear framebuffer at 0x90000000
(--) TDFX(0): MMIO registers at addr 0x84000000
(--) TDFX(0): PIO registers at addr 0x1000
(II) TDFX(0): DRAMINIT1 read 0x40202031, programming 0x40202031 (not Banshee)
(II) TDFX(0): TDFXInitChips: numchips = 1
(II) TDFX(0): TDFXInitChips: cfgbits = 0x00000000, initbits = 0x00000001
(II) TDFX(0): TDFXInitChips: mem0base = 0x84000000, mem1base = 0x90000008
(II) TDFX(0): TDFXInitChips: mem0size = 0x02000000, mem1size = 0x02000000
(II) TDFX(0): TDFXInitChips: mem0bits = 0x00000005, mem1bits = 0x00000050
(II) TDFX(0): TDFXInitChips: cfgbits = 0x00000055
(II) TDFX(0): TDFXInitChips: MMIOAddr[0] = 0x84000000
(II) TDFX(0): TDFXInitChips: LinearAddr[0] = 0x90000008
(--) TDFX(0): VideoRAM: 16384 kByte Mapping 32768 kByte
(==) TDFX(0): Using gamma correction (1.0, 1.0, 1.0)
(==) TDFX(0): DPI set to (75, 75)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/X11R6/lib/modules/libfb.a
(II) Module fb: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	ABI class: XFree86 ANSI C Emulation, version 0.3
(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/X11R6/lib/modules/libxaa.a
(II) Module xaa: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.1.0
	ABI class: XFree86 Video Driver, version 0.8
(**) TDFX(0): ShowCache Disabled
(**) TDFX(0): video key default 0x1e
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Loading /usr/X11R6/lib/modules/libramdac.a
(II) Module ramdac: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 0.1.0
	ABI class: XFree86 Video Driver, version 0.8
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"
(II) Loading /usr/X11R6/lib/modules/libi2c.a
(II) Module i2c: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.2.0
	ABI class: XFree86 Video Driver, version 0.8
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Loading /usr/X11R6/lib/modules/libddc.a
(II) Module ddc: vendor="The XFree86 Project"
	compiled for 4.5.0, module version = 1.0.0
	ABI class: XFree86 Video Driver, version 0.8
(II) TDFX(0): I2C bus "DDC" initialized.
(II) TDFX(0): I2C device "DDC:ddc2" registered at address 0xA0.
(II) TDFX(0): I2C device "DDC:ddc2" removed.
(II) TDFX(0): I2C bus "DDC" removed.
(II) TDFX(0): Manufacturer: DEL  Model: 5155  Serial#: 925978933
(II) TDFX(0): Year: 1999  Week: 12
(II) TDFX(0): EDID Version: 1.1
(II) TDFX(0): Analog Display Input,  Input Voltage Level: 0.714/0.286 V
(II) TDFX(0): Sync:  Separate  Composite  SyncOnGreen
(II) TDFX(0): Max H-Image Size [cm]: horiz.: 33  vert.: 24
(II) TDFX(0): Gamma: 2.50
(II) TDFX(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
(II) TDFX(0): redX: 0.625 redY: 0.340   greenX: 0.280 greenY: 0.595
(II) TDFX(0): blueX: 0.155 blueY: 0.070   whiteX: 0.283 whiteY: 0.298
(II) TDFX(0): Supported VESA Video Modes:
(II) TDFX(0): 720x400@70Hz
(II) TDFX(0): 640x480@60Hz
(II) TDFX(0): 640x480@75Hz
(II) TDFX(0): 800x600@60Hz
(II) TDFX(0): 800x600@75Hz
(II) TDFX(0): 1024x768@60Hz
(II) TDFX(0): 1024x768@75Hz
(II) TDFX(0): 1280x1024@75Hz
(II) TDFX(0): Manufacturer's mask: 0
(II) TDFX(0): Supported Future Video Modes:
(II) TDFX(0): #0: hsize: 640  vsize 480  refresh: 85  vid: 22833
(II) TDFX(0): #1: hsize: 800  vsize 600  refresh: 85  vid: 22853
(II) TDFX(0): #2: hsize: 1024  vsize 768  refresh: 85  vid: 22881
(II) TDFX(0): #3: hsize: 1600  vsize 1200  refresh: 65  vid: 17833
(II) TDFX(0): Supported additional Video Mode:
(II) TDFX(0): clock: 28.3 MHz   Image Size:  250 x 184 mm
(II) TDFX(0): h_active: 720  h_sync: 738  h_sync_end 846 h_blank_end 900 h_border: 0
(II) TDFX(0): v_active: 350  v_sync: 388  v_sync_end 390 v_blanking: 449 v_border: 0
(II) TDFX(0): Serial No: 55341C71Q539
(II) TDFX(0): Monitor name: DELL D1025TM
(II) TDFX(0): Ranges: V min: 50  V max: 120 Hz, H min: 30  H max: 85 kHz, PixClock max 2550 MHz
(II) TDFX(0): Adding detailed EDID mode 720x350 to monitor (preferred: no).
(II) TDFX(0): sony: Using hsync range of 30.00-85.00 kHz
(II) TDFX(0): sony: Using vrefresh range of 50.00-120.00 Hz
(II) TDFX(0): Clock range:  12.00 to 300.00 MHz
(II) TDFX(0): Not using default mode "1280x960" (hsync out of range)
(II) TDFX(0): Not using default mode "640x480" (hsync out of range)
(II) TDFX(0): Not using default mode "1280x1024" (hsync out of range)
(II) TDFX(0): Not using default mode "640x512" (hsync out of range)
(II) TDFX(0): Not using default mode "1600x1200" (hsync out of range)
(II) TDFX(0): Not using default mode "800x600" (hsync out of range)
(II) TDFX(0): Not using default mode "1600x1200" (hsync out of range)
(II) TDFX(0): Not using default mode "800x600" (hsync out of range)
(II) TDFX(0): Not using default mode "1600x1200" (hsync out of range)
(II) TDFX(0): Not using default mode "800x600" (hsync out of range)
(II) TDFX(0): Not using default mode "1792x1344" (hsync out of range)
(II) TDFX(0): Not using default mode "896x672" (hsync out of range)
(II) TDFX(0): Not using default mode "1856x1392" (hsync out of range)
(II) TDFX(0): Not using default mode "928x696" (hsync out of range)
(II) TDFX(0): Not using default mode "1856x1392" (hsync out of range)
(II) TDFX(0): Not using default mode "928x696" (hsync out of range)
(II) TDFX(0): Not using default mode "1920x1440" (hsync out of range)
(II) TDFX(0): Not using default mode "960x720" (hsync out of range)
(II) TDFX(0): Not using default mode "1920x1440" (hsync out of range)
(II) TDFX(0): Not using default mode "960x720" (hsync out of range)
(II) TDFX(0): Not using default mode "1400x1050" (illegal horizontal timings)
(II) TDFX(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)
(II) TDFX(0): Not using default mode "960x720" (hsync out of range)
(II) TDFX(0): Not using default mode "2048x1536" (hsync out of range)
(II) TDFX(0): Not using default mode "1024x768" (hsync out of range)
(II) TDFX(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)
(II) TDFX(0): Not using default mode "1024x768" (hsync out of range)
(II) TDFX(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)
(II) TDFX(0): Not using default mode "1024x768" (hsync out of range)
(II) TDFX(0): Not using default mode "1792x1344" (width too large for virtual size)
(II) TDFX(0): Not using default mode "1600x1200" (width too large for virtual size)
(II) TDFX(0): Not using default mode "1600x1200" (width too large for virtual size)
(II) TDFX(0): Not using default mode "1400x1050" (width too large for virtual size)
(II) TDFX(0): Not using default mode "1280x1024" (width too large for virtual size)
(II) TDFX(0): Not using default mode "1280x1024" (width too large for virtual size)
(II) TDFX(0): Not using default mode "1280x960" (width too large for virtual size)
(--) TDFX(0): Virtual size is 1152x864 (pitch 1152)
(**) TDFX(0): *Default mode "1152x864": 108.0 MHz, 67.5 kHz, 75.0 Hz
(II) TDFX(0): Modeline "1152x864"  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync
(**) TDFX(0):  Default mode "1152x864": 81.6 MHz, 53.7 kHz, 60.0 Hz
(II) TDFX(0): Modeline "1152x864"   81.62  1152 1216 1336 1520  864 865 868 895 -hsync +vsync
(**) TDFX(0):  Default mode "1152x768": 65.0 MHz, 44.2 kHz, 54.8 Hz
(II) TDFX(0): Modeline "1152x768"   65.00  1152 1178 1314 1472  768 771 777 806 +hsync +vsync
(**) TDFX(0):  Default mode "1024x768": 94.5 MHz, 68.7 kHz, 85.0 Hz
(II) TDFX(0): Modeline "1024x768"   94.50  1024 1072 1168 1376  768 769 772 808 +hsync +vsync
(**) TDFX(0):  Default mode "1024x768": 78.8 MHz, 60.1 kHz, 75.1 Hz
(II) TDFX(0): Modeline "1024x768"   78.80  1024 1040 1136 1312  768 769 772 800 +hsync +vsync
(**) TDFX(0):  Default mode "1024x768": 75.0 MHz, 56.5 kHz, 70.1 Hz
(II) TDFX(0): Modeline "1024x768"   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync
(**) TDFX(0):  Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz
(II) TDFX(0): Modeline "1024x768"   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync
(**) TDFX(0):  Default mode "1024x768": 44.9 MHz, 35.5 kHz, 87.1 Hz (I)
(II) TDFX(0): Modeline "1024x768"   44.90  1024 1032 1208 1264  768 768 776 817 interlace +hsync +vsync
(**) TDFX(0):  Default mode "896x672": 102.4 MHz, 83.7 kHz, 60.0 Hz (D)
(II) TDFX(0): Modeline "896x672"  102.40  896 960 1060 1224  672 672 674 697 doublescan -hsync +vsync
(**) TDFX(0):  Default mode "832x624": 57.3 MHz, 49.7 kHz, 74.6 Hz
(II) TDFX(0): Modeline "832x624"   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync
(**) TDFX(0):  Default mode "800x600": 56.3 MHz, 53.7 kHz, 85.1 Hz
(II) TDFX(0): Modeline "800x600"   56.30  800 832 896 1048  600 601 604 631 +hsync +vsync
(**) TDFX(0):  Default mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz
(II) TDFX(0): Modeline "800x600"   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync
(**) TDFX(0):  Default mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz
(II) TDFX(0): Modeline "800x600"   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync
(**) TDFX(0):  Default mode "800x600": 87.8 MHz, 81.2 kHz, 65.0 Hz (D)
(II) TDFX(0): Modeline "800x600"   87.75  800 832 928 1080  600 600 602 625 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
(II) TDFX(0): Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync
(**) TDFX(0):  Default mode "800x600": 81.0 MHz, 75.0 kHz, 60.0 Hz (D)
(II) TDFX(0): Modeline "800x600"   81.00  800 832 928 1080  600 600 602 625 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
(II) TDFX(0): Modeline "800x600"   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync
(**) TDFX(0):  Default mode "700x525": 77.9 MHz, 81.5 kHz, 74.8 Hz (D)
(II) TDFX(0): Modeline "700x525"   77.90  700 732 892 956  525 526 532 545 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "700x525": 61.0 MHz, 64.9 kHz, 60.0 Hz (D)
(II) TDFX(0): Modeline "700x525"   61.00  700 744 820 940  525 526 532 541 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "640x512": 67.5 MHz, 80.0 kHz, 75.0 Hz (D)
(II) TDFX(0): Modeline "640x512"   67.50  640 648 720 844  512 512 514 533 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "640x512": 54.0 MHz, 64.0 kHz, 60.0 Hz (D)
(II) TDFX(0): Modeline "640x512"   54.00  640 664 720 844  512 512 514 533 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "640x480": 36.0 MHz, 43.3 kHz, 85.0 Hz
(II) TDFX(0): Modeline "640x480"   36.00  640 696 752 832  480 481 484 509 -hsync -vsync
(**) TDFX(0):  Default mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz
(II) TDFX(0): Modeline "640x480"   31.50  640 656 720 840  480 481 484 500 -hsync -vsync
(**) TDFX(0):  Default mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz
(II) TDFX(0): Modeline "640x480"   31.50  640 664 704 832  480 489 491 520 -hsync -vsync
(**) TDFX(0):  Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hz
(II) TDFX(0): Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 -hsync -vsync
(**) TDFX(0):  Default mode "640x480": 54.0 MHz, 60.0 kHz, 60.0 Hz (D)
(II) TDFX(0): Modeline "640x480"   54.00  640 688 744 900  480 480 482 500 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "720x400": 35.5 MHz, 37.9 kHz, 85.0 Hz
(II) TDFX(0): Modeline "720x400"   35.50  720 756 828 936  400 401 404 446 -hsync +vsync
(**) TDFX(0):  Default mode "640x400": 31.5 MHz, 37.9 kHz, 85.1 Hz
(II) TDFX(0): Modeline "640x400"   31.50  640 672 736 832  400 401 404 445 -hsync +vsync
(**) TDFX(0):  EDID mode "720x350": 28.3 MHz, 31.5 kHz, 70.1 Hz
(II) TDFX(0): Modeline "720x350"   28.32  720 738 846 900  350 388 390 449
(**) TDFX(0):  Default mode "576x432": 54.0 MHz, 67.5 kHz, 75.0 Hz (D)
(II) TDFX(0): Modeline "576x432"   54.00  576 608 672 800  432 432 434 450 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "576x432": 40.8 MHz, 53.7 kHz, 60.1 Hz (D)
(II) TDFX(0): Modeline "576x432"   40.81  576 608 668 760  432 432 434 447 doublescan -hsync +vsync
(**) TDFX(0):  Default mode "640x350": 31.5 MHz, 37.9 kHz, 85.1 Hz
(II) TDFX(0): Modeline "640x350"   31.50  640 672 736 832  350 382 385 445 +hsync -vsync
(**) TDFX(0):  Default mode "576x384": 32.5 MHz, 44.2 kHz, 54.8 Hz (D)
(II) TDFX(0): Modeline "576x384"   32.50  576 589 657 736  384 385 388 403 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "512x384": 47.2 MHz, 68.7 kHz, 85.0 Hz (D)
(II) TDFX(0): Modeline "512x384"   47.25  512 536 584 688  384 384 386 404 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "512x384": 39.4 MHz, 60.1 kHz, 75.1 Hz (D)
(II) TDFX(0): Modeline "512x384"   39.40  512 520 568 656  384 384 386 400 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "512x384": 37.5 MHz, 56.5 kHz, 70.1 Hz (D)
(II) TDFX(0): Modeline "512x384"   37.50  512 524 592 664  384 385 388 403 doublescan -hsync -vsync
(**) TDFX(0):  Default mode "512x384": 32.5 MHz, 48.4 kHz, 60.0 Hz (D)
(II) TDFX(0): Modeline "512x384"   32.50  512 524 592 672  384 385 388 403 doublescan -hsync -vsync
(**) TDFX(0):  Default mode "512x384": 22.4 MHz, 35.5 kHz, 87.1 Hz (D)
(II) TDFX(0): Modeline "512x384"   22.45  512 516 604 632  384 384 388 409 interlace doublescan +hsync +vsync
(**) TDFX(0):  Default mode "416x312": 28.6 MHz, 49.7 kHz, 74.7 Hz (D)
(II) TDFX(0): Modeline "416x312"   28.64  416 432 464 576  312 312 314 333 doublescan -hsync -vsync
(**) TDFX(0):  Default mode "400x300": 28.1 MHz, 53.7 kHz, 85.3 Hz (D)
(II) TDFX(0): Modeline "400x300"   28.15  400 416 448 524  300 300 302 315 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "400x300": 24.8 MHz, 46.9 kHz, 75.1 Hz (D)
(II) TDFX(0): Modeline "400x300"   24.75  400 408 448 528  300 300 302 312 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "400x300": 25.0 MHz, 48.1 kHz, 72.2 Hz (D)
(II) TDFX(0): Modeline "400x300"   25.00  400 428 488 520  300 318 321 333 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)
(II) TDFX(0): Modeline "400x300"   20.00  400 420 484 528  300 300 302 314 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)
(II) TDFX(0): Modeline "400x300"   18.00  400 412 448 512  300 300 301 312 doublescan +hsync +vsync
(**) TDFX(0):  Default mode "320x240": 18.0 MHz, 43.3 kHz, 85.2 Hz (D)
(II) TDFX(0): Modeline "320x240"   18.00  320 348 376 416  240 240 242 254 doublescan -hsync -vsync
(**) TDFX(0):  Default mode "320x240": 15.8 MHz, 37.5 kHz, 75.0 Hz (D)
(II) TDFX(0): Modeline "320x240"   15.75  320 328 360 420  240 240 242 250 doublescan -hsync -vsync
(**) TDFX(0):  Default mode "320x240": 15.8 MHz, 37.9 kHz, 72.8 Hz (D)
(II) TDFX(0): Modeline "320x240"   15.75  320 332 352 416  240 244 245 260 doublescan -hsync -vsync
(**) TDFX(0):  Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)
(II) TDFX(0): Modeline "320x240"   12.60  320 328 376 400  240 245 246 262 doublescan -hsync -vsync
(**) TDFX(0):  Default mode "360x200": 17.8 MHz, 37.9 kHz, 85.0 Hz (D)
(II) TDFX(0): Modeline "360x200"   17.75  360 378 414 468  200 200 202 223 doublescan -hsync +vsync
(**) TDFX(0):  Default mode "320x200": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)
(II) TDFX(0): Modeline "320x200"   15.75  320 336 368 416  200 200 202 222 doublescan -hsync +vsync
(**) TDFX(0):  Default mode "320x175": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)
(II) TDFX(0): Modeline "320x175"   15.75  320 336 368 416  175 191 192 222 doublescan +hsync -vsync
(--) Depth 24 pixmap format is 32 bpp
(II) do I need RAC?  No, I don't.
(II) resource ranges after preInit:
	[0] 0	0	0x90000000 - 0x91ffffff (0x2000000) MX[B]
	[1] 0	0	0x84000000 - 0x85ffffff (0x2000000) MX[B]
	[2] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[3] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[4] -1	0	0x83010000 - 0x83017fff (0x8000) MX[B]E
	[5] -1	0	0x83020000 - 0x8303ffff (0x20000) MX[B]E
	[6] -1	0	0x8301d000 - 0x8301dfff (0x1000) MX[B]E
	[7] -1	0	0x8301e000 - 0x8301efff (0x1000) MX[B]E
	[8] -1	0	0x8301f000 - 0x8301ffff (0x1000) MX[B]E
	[9] -1	0	0x80000000 - 0x807fffff (0x800000) MX[B]E
	[10] -1	0	0xf3000000 - 0xf3ffffff (0x1000000) MX[B]E
	[11] -1	0	0x86010000 - 0x8601ffff (0x10000) MX[B]E
	[12] -1	0	0x8301c000 - 0x8301cfff (0x1000) MX[B](B)
	[13] -1	0	0x86000000 - 0x8600ffff (0x10000) MX[B](B)
	[14] -1	0	0x90000000 - 0x91ffffff (0x2000000) MX[B](B)
	[15] -1	0	0x84000000 - 0x85ffffff (0x2000000) MX[B](B)
	[16] -1	0	0x83000000 - 0x8300ffff (0x10000) MX[B](B)
	[17] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[18] -1	0	0x83018000 - 0x8301bfff (0x4000) MX[B](B)
	[19] -1	0	0x82000000 - 0x82ffffff (0x1000000) MX[B](B)
	[20] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B](OprU)
	[21] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B](OprU)
	[22] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B](OprU)
	[23] 0	0	0x00001000 - 0x000010ff (0x100) IX[B]
	[24] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[25] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
	[26] -1	0	0x00001000 - 0x000010ff (0x100) IX[B](B)
	[27] -1	0	0xffffff80 - 0xffffffff (0x80) IX[B]E
	[28] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B](OprD)
	[29] 0	0	0x000003c0 - 0x000003df (0x20) IS[B](OprD)
(WW) xf86EnableIO 5
(II) TDFX(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0d00
(II) TDFX(0): Changing back offset from 0x00867000 to 0x00866000
(II) TDFX(0): Textures Memory 3.03 MB
(II) TDFX(0): Cursor Offset: [0x00000000,0x00001000)
(II) TDFX(0): Fifo Offset: [0x00001000, 0x00041000)
(II) TDFX(0): Front Buffer Offset: [0x00041000, 0x0055E800)
(II) TDFX(0): Texture Offset: [0x0055E800, 0x00866000)
(II) TDFX(0): BackOffset: [0x00866000, 0x00C32000)
(II) TDFX(0): DepthOffset: [0x00C33000, 0x00FFF000)
(II) TDFX(0): Minimum 300, Maximum 989 lines of offscreen memory available
(II) TDFX(0): Using XFree86 Acceleration Architecture (XAA)
	Screen to screen bit blits
	Solid filled rectangles
	8x8 mono pattern filled rectangles
	Indirect CPU to Screen color expansion
	Solid Lines
	Dashed Lines
	Offscreen Pixmaps
	Driver provided NonTEGlyphRenderer replacement
	Setting up tile and stipple cache:
		32 128x128 slots
		7 256x256 slots
(==) TDFX(0): Backing store disabled
(==) TDFX(0): Silken mouse enabled
(--) TDFX(0): DPMS enabled
(WW) TDFX(0): Option "NoInt10" is not used
(==) RandR enabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension LBX
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(**) Option "Protocol" "wsmouse"
(**) Mouse1: Protocol: wsmouse
(**) Option "CorePointer"
(**) Mouse1: Core Pointer
(**) Option "Device" "/dev/wsmouse"
(==) Mouse1: Emulate3Buttons, Emulate3Timeout: 50
(**) Option "ZAxisMapping" "4 5"
(**) Mouse1: ZAxisMapping: buttons 4 and 5
(**) Mouse1: Buttons: 5
(**) Option "CoreKeyboard"
(**) Keyboard1: Core Keyboard
(**) Option "Protocol" "wskbd"
(**) Keyboard1: Protocol: wskbd
(**) Option "Device" "/dev/wskbd"
(--) ADB: Keyboard type: Keyboard1
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xfree86"
(**) Keyboard1: XkbRules: "xfree86"
(**) Option "XkbModel" "macintosh"
(**) Keyboard1: XkbModel: "macintosh"
(**) Option "XkbLayout" "us"
(**) Keyboard1: XkbLayout: "us"
(**) Option "CustomKeycodes" "off"
(**) Keyboard1: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE)
Could not init font path element /usr/X11R6/lib/X11/fonts/local/, removing from list!
signature.asc (application/pgp-signature, 478 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (NetBSD)

iQEVAwUBQw3+NspnzkX8Yg2nAQLdpggAn3X6TMXt5cT4HOF/pF/9UHfDhrdrpPmS
ZwEd4bvUVw62nL2wNiB8N9rCLR2Wd3hj1KzEPzJQDN2FSiTyyaIWUXtA/r3hheFt
Tgf5iWgx0zzKiuSpvWzNKXryAmx5Y9nRQOcaje09wQ4o2wEAspiLaOaCpqXrzVOM
9a/bVh+qmUb1B7qJH+W8xs5dDaX1OYVceoryPsQGL7fjaWyRsNH3DfH8NJX9wPrK
Z7SBzd2xDUiEyNQztZtA9I0SyzS3SBjLg1FzaIG+605+Qqa1ReqbLLboRnreqC79
Z2O/TSR4dNmodFfP6BEPiAdlOHN1inA5Ph2nKy5mKRiOg81A4KsLLg==
=/xgH
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.