On Thursday 03 January 2002 10:39 am, Russell Hires wrote:
> Darn good question. I've got a Voodoo3 card, running 2.4.17 (though the
> kernel version doesn't seem to make a difference, since it's happened with
> 2.4.16 and 2.2.18-patched)...how would I provide this information? I'm
> running an up-to-date version of woody, so I guess it's XFree86 4.1.x...but
> the specific drivers...hmmm....
There are definitely some tdfx problems in 4.1 (espescially in my setup, with
Xinerama dualhead). I thought VT-switching was OK when I ran 4.1, but maybe
not. I've forgotten :-). I've currently got a 4.1.99.x (ie, pre-4.2.0) and it
seems to be much better... in your case, I'd say wait for 4.2, it shouldn't
be too long now.
I've also got a patch from Ani Joshi that fixes the kernel tdfxfb to make
textmode work on it (may be a part of why VT-changning works, though probably
not). It's still nice to have the console work on it. He says he's gonna
merge this patch into the kernel eventually, but afaik it hasn't happened yet.
It's very small, so I'll attach it here
--
Kevin Alan Puetz
(515)572-0927
[EMAIL PROTECTED]
--- tdfxfb.c.orig Sat Oct 13 12:09:46 2001
+++ tdfxfb.c Sat Oct 13 12:58:23 2001
@@ -762,7 +762,11 @@
tdfx_outl(SRCXY, 0);
tdfx_outl(DSTXY, xx | (yy << 16));
tdfx_outl(COMMAND_2D, COMMAND_2D_H2S_BITBLT | (ROP_COPY << 24));
+#if defined(__BIG_ENDIAN)
+ tdfx_outl(SRCFORMAT, 0x400000 | BIT(20));
+#else
tdfx_outl(SRCFORMAT, 0x400000);
+#endif
tdfx_outl(DSTFORMAT, fmt);
tdfx_outl(DSTSIZE, fontwidth(p) | (fontheight(p) << 16));
i=fontheight(p);
@@ -820,7 +824,11 @@
tdfx_outl(COMMAND_3D, COMMAND_3D_NOP);
tdfx_outl(COLORFORE, fgx);
tdfx_outl(COLORBACK, bgx);
+#if defined(__BIG_ENDIAN)
+ tdfx_outl(SRCFORMAT, 0x400000 | BIT(20));
+#else
tdfx_outl(SRCFORMAT, 0x400000);
+#endif
tdfx_outl(DSTFORMAT, fmt);
tdfx_outl(DSTSIZE, w | (h << 16));
tdfx_outl(SRCXY, 0);
@@ -2343,7 +2351,7 @@
tdfxfb_createcursorshape(p);
xline = ~((1 << (32 - fb_info.cursor.w)) - 1);
-#ifdef __LITTLE_ENDIAN
+#if defined(__BIG_ENDIAN)
xline = swab32(xline);
#endif