Linux Step By Steps

S3 TRIO

From mikea@norfolk.nf

following from david male
http://s3.nextmill.com/savage3d_drivers.asp
http://www.driverguide.com/boards/s3/92.html
http://members.xoom.com/s3dlinux/
---------------
 

TESTED ON: Caldera 2.2/2.3 with XFREE version 3.3.5

The S3 Trio 3D/2X 4 /8 Meg card is an AGP version and confused by most install programs as being an earlier generic S3 Virge 512k Card.

Neither COL 2.2, nor COL.2.3 provide the 'proper' drivers. You need to download and install version 3.3.5 of Xfree.

Look in the /pub/contribs area of the caldera site for an ftp download or go directly to www.xfree.org

3 chipsets are involved, 86C362 (edo) , 365 (sgram) 368 (not sure) all with the designation S3 TRIO 3D/2X ON BOARD on the chip itself.

Following  is direct from xfree.org author, use at will

<quote>
 

as a quick workaround for XFree86 3.3.3.1 to 3.3.5 SVGA server you can specify

ChipID  0x8a10
VideoRam 4096

in the device section

OR compile your own server from XFree86 3.3.5 sources using the following patch:

-------------------------------------------------------------------------------
--- xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/regs3v.h~ Mon Sep  6 10:47:18 1999
+++ xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/regs3v.h Fri Sep 24 14:39:18 1999
@@ -421,7 +421,7 @@

 /* Wait until Command FIFO is empty */
 #define WaitCommandEmpty()       do { int loop=0; mem_barrier(); \
- if (s3vPriv.chip == S3_ViRGE_GX2 || s3vPriv.chip == S3_ViRGE_MX || s3vPriv.chip == S3_ViRGE_MXP) \
+ if (S3_ViRGE_GX2_SERIES(s3vPriv.chip) || S3_ViRGE_MX_SERIES(s3vPriv.chip)) \
       while ((!(((((mmtr)s3vMmioMem)->subsys_regs.regs.adv_func_cntl)) & 0x400)) && (loop++<MAXLOOP)); \
  else if (S3_TRIO_3D_SERIES(s3vPriv.chip)) \
       while (((IN_SUBSYS_STAT() & 0x5f00) != 0x5f00) && (loop++<MAXLOOP)); \
-------------------------------------------------------------------------------