Information for Tseng Chipset Users : ET4000 driver features
Previous: Terminology
Next: ET6000 driver features

3. ET4000 driver features

The SVGA driver for ET4000 chipsets supports all color depths (8, 15, 16, 24 and 24 bpp) on most ET4000 chips starting with the ET4000W32i. The ET4000W32 only supports 8bpp. Depending on the RAMDAC and the support code in the SVGA server, some cards may only support a few of these color depths, or even only 8bpp.

On W32i and W32p chips all color depths are supported on the supported RAMDACs (currently ICS5341, STG170x and Chrontel CH8398). These modes are also accelerated.

Some W32p board implementations are limited to 1 MB of video memory in linear memory modes. This is a hardware limitation that cannot be solved in the driver. Since XFree86 requires linear memory for 16/24/32 bpp modes, the usefulness of these cards for highcolor and truecolor applications is severely limited (those modes mostly use a lot of video memory).

In addition, those cards also don't support acceleration in linear mode. This is a design choice in the driver code: if acceleration were to be supported in linear mode, you'd only be able to use 768 kb of video memory, and the driver code would be twice as complex.

Cards with a RAMDAC that is not yet supported will be limited in a similar manner as the older cards, i.e. to a maximum pixel clock of 86 MHz, whilst they actually might be able to go up to 135 MHz. As a result, 1280x1024 modes will only be possible when using interlacing, and non-interlaced modes are limited to about 1024x768 at 75 Hz refresh.

For a non-interlaced 1280x1024x(256 colors) at say 135-MHz on a W32-type card, you need a w32p (with its 16-bit RAMDAC bus) with a multiplexing RAMDAC so that the w32p sees only (135/2 = 67.5) MHz, not 135 MHz. This requires special code only provided for cards using the ICS5341 GENDAC, the STG170x or the CH8398. This code seems to work fine for most people, except, with the ICS5341, for a small band of frequencies around 90MHz.

Linear memory mode (especially important for some DGA clients, like xf86quake) is supported on all ET4000W32i and ET4000W32p cards, but not on the ET4000W32. See the section on linear memory for more information. There are some important issues related to linear memory.

For the higher color depths (16, 24 and 32 bpp), linear memory mode is REQUIRED. It is enabled by default in these modes. There is no need to specify that in the XF86Config file. Please read the section on linear memory below: it contains some vital information on how to avoid serious problems.

To force "banked" mode in 8bpp modes (where linear memory mode is the default), put the following in the Device section of your XF86Config:

  Option "no_linear"

Acceleration support is present, and enabled by default, for all W32 and ET6000 family chips. This is based on the new XFree86 acceleration interface (XAA).

If you have problems with acceleration, acceleration can be disabled by putting the following in the Device section of your XF86Config:

  Option "noaccel"

On some PCI systems (i.e. only on the ET6000 and the ET4000W32p), acceleration may cause occasional font corruption. This is probably caused by a badly written system BIOS that ignores the fact that the Tseng PCI devices have their "non-prefetchable" attribute set. On such a BIOS, a PCI feature called "write combining" (or "byte merging") is enabled for the Tseng video card, although it is not permitted. Some systems allow you to manually enable or disable the Write Combining feature in the BIOS setup (sometimes abbreviated to WC). Make sure WC is disabled for the VGA memory aperture.

If you experience font corruption on your system and are unable to manually disable WC in your BIOS, font acceleration may be disabled using the following in the Device section of your XF86Config:

  Option "xaa_no_color_exp"

Note that this will reduce the performance of the X server.


Information for Tseng Chipset Users : ET4000 driver features
Previous: Terminology
Next: ET6000 driver features