---
name: "XF86_VGA16"
section: "1x"
platform: "linux"
package: "xserver-vga16"
version: "3.3.6-44"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/XF86_VGA16"
---

# XF86\_VGA16(1x)

4 bit non-accelerated X Window System server for UNIX on x86 platforms

## NAME

XF86\_VGA16 - 4 bit non-accelerated X Window System server for UNIX on x86 platforms

## SYNOPSIS

**XF86\_VGA16** \[:displaynumber\] \[ option \] ...

## DESCRIPTION

*XF86\_VGA16* is a 4-bit color server for VGA cards.  The default root visual for this server is StaticColor.  It also includes support for the non-VGA monochrome cards described in the *XF86\_Mono(1)* manual page.  It may be run in a dual-headed configuration.

## CONFIGURATIONS

The *XF86\_VGA16* server supports the following popular SVGA chipsets in 16-colour mode.

- ATI:

  18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3, 68800-6, 68800AX, 68800LX, 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX, 264CT, 264ET, 264VT, 264GT (a.k.a. 3D Rage), 264VT-B, 264VT3, 264VT4, 264GT-B (a.k.a. 3D Rage II), 264GT-IIc, 264GT3 (a.k.a. 3D Rage Pro), 264LT, 264LT-Pro

- Tseng:

  ET4000

- Trident:

  TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000

- Cirrus:

  CL6410, CL6412, CL6420, CL6440

- Oak:

  OTI067, OTI077, OTI087

Additionally it supports generic VGA cards.

*XF86\_VGA16* does not support the accelerated functions of the supported chipsets.

## OPTIONS

In addition to the normal server options described in the *[Xserver(1)](/Xserver/1.md)* manual page, *XF86\_VGA16* accepts some more command line switches, as described in the  *XFree86-v3(1)* manpage.

## SETUP

*XFree86* uses a configuration file called **XF86Config** for its initial setup.   See the  *XF86Config-v3(5)* manpage for general details. Here only the *XF86\_VGA16* specific parts are explained.

The **Driver** entry in the **Screen** section of the XF86Config file should be set to **vga16**.  To run in dual-headed configuration, there should also be a **Screen** section with the **Driver** entry set to **mono**.

Entries for the **Device** section in the XF86Config file include:\

- **chipset *"name"***

  specifies a chipset so the correct driver can be used.  Possible chipsets are:

  - ATI:

    ati (see README.ati for additional recoginzed names)

  - Tseng:

    et4000, et4000w32, et4000w32i, et4000w32p

  - Trident:

    tvga8800cs, tvga8900b, tvga8900c, tvga8900cl, tvga9000

  - Cirrus:

    cl6410, cl6412, cl6420, cl6440

  - Oak:

    oti067, oti077, oti087

  - Generic VGA:

    generic

- **Option *"optionstring"***

  allows the user to select certain options provided by the drivers.  Currently  the following strings are recognized:

  **legend** - for Sigma Legend ET4000-based boards.  This option enables a special clock-selection algorithm used on Legend boards, and MUST be specified for these boards to function correctly.

  **hibit\_low**, **hibit\_high** - for Tseng ET4000 chipsets.  With some ET4000 cards, the server has difficulty getting the state of the high-order clocks select bit right when started from a high-resolution text mode.  These options allow the correct initial state of that bit to be specified.  To find out what the correct initial state is, start the server from an 80x25 text mode.  This option is only needed if the clocks reported by the server when started from a high-resolution text mode differ from those reported when it is started from an 80x25 text mode.

  **clkdiv2** - for all chipsets using a set of discrete clocks (i.e. not using a programmable ClockChip or a ClockProg). With this option enabled, the VGA driver can also use all the clocks mentionned in the clocks line divided by 2, presenting the server with twice as many clocks to choose from, especially in the low- and mid-range. This is useful for creating very low resolution modes like 320x200, because the lowest available clock on many cards (25.175 MHz) is too high to create a standard 320x200 mode. A few VGA chips don't support this option, causing a distorted screen.

  **power\_saver** - This option enables the server to use the power saving features of VESA DPMS compatible monitors. The suspend level is currently not supported. Refer to the *XF86Config-v3(5)* manual page for details of how to set the timeouts for the different levels of operation.  This option is experimental.

Note that *XFree86* has some internal capabilities to determine what hardware it is running on. Thus normally the keywords *chipset*, *clocks*, and *videoram* don't have to be specified.  But there may be occasions when this autodetection mechanism fails, (for example, too high of load on the machine when you start the server).  For cases like this, one should first run *XF86\_VGA16* on an unloaded machine, look at the results of the autodetection (that are printed out during server startup) and then explicitly specify these parameters in the configuration file. **It is recommended that all parameters, especially Clock values,** **be specified in the XF86Config file.**

## FILES

- \<XRoot\>/bin/XF86\_VGA16

  The 16 colour X server

- /etc/X11/XF86Config

  Server configuration file

- \<XRoot\>/lib/X11/XF86Config

  Server configuration file

Note: \<XRoot\> refers to the root of the X11 install tree.

## SEE ALSO

X(1), [Xserver(1)](/Xserver/1.md), XFree86-v3(1), XF86Config-v3(5), XF86\_Mono(1), xf86config-v3(1), [xvidtune(1)](/xvidtune/1.md), [xdm(1)](/xdm/1.md), [xinit(1)](/xinit/1.md)

## CONTACT INFO

*XFree86* source is available from the FTP server *ftp.XFree86.org*.  Send email to *XFree86@XFree86.org* for details.

## AUTHORS

The primary developer of this server is

Gertjan Akkerman,  *akkerman@dutiba.twi.tudelft.nl*

See also the *XFree86-v3(1)* manual page.
