The S3 video driver has finally been completed. If the time spent developing the s3savage video driver is included, it has been a very long road; however, much of it was a learning experience since I knew virtually nothing about video drivers and video chips before developing the s3savage driver.
Anyway, this S3 driver is intended as a REPLACEMENT for the s3savage driver, and I've chosen the names "s3" and s3.accelerant" for the driver and accelerant. The attached zip file contains the source code and jam files for this driver. I believe that the jam files are setup correctly; however, I have never used them since I do not have a build system for Haiku that works.
In addition to supporting the same Savage chips as the s3savage driver, the S3 driver also supports the S3 Trio64, Trio 3D, and Virge chips. It also has the following improvements and fixes for the Savage chips:
1) The common accelerant code is used for creating the mode list. 2) Reads EDID info for use in creating the mode list.3) Fixed some problems with the Savage 3D, Savage MX, ProSavage, and Savage 2000 chips.
#1 applies to all chips handled by this driver, and with regard to #2, all the Virge and Trio 3D chips also attempt to read the EDID info. Both Trio 3D chips successfully read the EDID info, but only the Virge VX successfully reads the EDID info.
The list of chips supported by this driver is: 8811 * Trio64 8811 * Trio64 V+ 8814 Trio64 UV+ 8901 * Trio64 V2/DX/GX 5631 * Virge 883D * Virge VX 8A01 * Virge DX/GX 8A10 * Virge GX2 8C01 Virge MX 8C03 * Virge MX+ 8904 * Trio 3D 8A13 * Trio 3D/2X 8a20 Savage3D 8a21 * Savage3D-MV 8a22 * Savage4 8a25 ProSavage PM133 8a26 * ProSavage KM133 8c10 * Savage/MX-MV 8c11 Savage/MX 8c12 * Savage/IX-MV 8c13 Savage/IX 8c22 SuperSavage/MX 128 8c24 SuperSavage/MX 64 8c26 SuperSavage/MX 64C 8c2a SuperSavage/IX 128SDR 8c2b SuperSavage/IX 128DDR 8c2c SuperSavage/IX 64SDR 8c2d SuperSavage/IX 64DDR 8c2e * SuperSavage/IXC 64SDR 8c2f SuperSavage/IXC 64DDR 8d01 Twister PN133 8d02 * Twister KN133 8d03 ProSavage DDR 8d04 * ProSavage DDR-K 9102 * Savage2000The first column contains the chip ID's, and the second column contains the chip names. The names preceded by an asterisk, are chips that have actually been tested. Except for the SuperSavage and the Twister chips, I have personally tested them under BeOS, Zeta, and Haiku; and with a few exceptions listed below, they perform quite well. The SuperSavage was tested by Ronny Wisor and Meanwhile; whereas, the Twister chip was tested by Rudyk Alexander aka totish.
The only problems found with the chips are:1) With the Virge VX chip, the hardware cursor disappears when the resolution is set to 640 x 480. Since Haiku uses a software cursor, this is only a problem for BeOS and Zeta.
2) The Savage 3D and Savage MX chips perform rather poorly. In fact most of the Trio and Virge chips perform better. If the Savage 3D is stressed, it sometimes locks up.
Best regards, Gerald