XF86_SVGA(1)

NAME
XF86_SVGA - 8 bit non-accelerated X Window System servers for UNIX on x86 platforms

SYNOPSIS
XF86_SVGA [:displaynumber] [ option ] ...

DESCRIPTION
XFree86 is a package of bug-fixes, enhancements, and ports of X11R5 to new OSs, for Intel Unix-like OSs. See the XFree86(1) manpage for details.

XF86_SVGA is an 8-bit PseudoColor server for Super-VGA cards. It is derived from the X386 server provided with X11R5.

The XFree86 servers support all MIT-supplied extensions except the X Input Extension. PEX is supported, but does not function well on the class of hardware supported.

CONFIGURATIONS

The XF86_SVGA server supports the following popular SuperVGA chipsets in 256 color mode. Virtual resolutions up to (approximately) 1152x900 are supported, using (up to) 1Mb of display memory. Some of the Cirrus chipsets support up to 2Mb of display memory and virtual resolutions of 1280x1024 and higher.

    Tseng:
        ET3000, ET4000, ET4000/W32

    Western Digital:
        PVGA1, WD90C00, WD90C10, WD90C11, WD90C30, WD90C31

    Genoa:
        GVGA

    Trident:
        TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000

    ATI:
        28800-4, 28800-5, 28800-a

    NCR:
        77C22, 77C22E

    Cirrus Logic:
        CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD6205, CLGD6215, CLGD6225, CLGD6235

    Compaq:
        AVGA

    Oak:
        OTI067, OTI077

Accelerated support is included for most of the Cirrus chipsets, and for the Western Digital WD90C31 chipsets. Accelerated support for the ET4000/W32 is NOT yet implemented. Users of boards based on ATI's Mach8 and Mach32 chipsets should refer to the XF86_Mach8(1) and XF86_Mach32(1) manual pages, respectively.

OPTIONS
In addition to the normal server options described in the Xserver(1) manual page, XF86_SVGA accepts some more command line switches, as described in the XFree86(1) manpage.

KEYBOARD
XFree86 provides several capabilities for easing the use of international keyboards, and generating non-ASCII Latin-1 keysyms. Refer to the XFree86kbd(1) manual page for more information.

SETUP
XFree86 uses a configuration file called Xconfig for its initial setup. See the Xconfig(4/5) manpage for general details. Here only the XF86_SVGA specific parts are explained. The GRAPHICS DRIVER SETUP section for the colour server starts with the keyword vga256. After this keyword a variety of options may be specified:

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

    Tseng:
        et3000, et4000

    Western Digital:
        pvga1, wd90c00, wd90c10, wd90c30, wd90c31

    Genoa:
        gvga

    Trident:
        tvga8800cs, tvga8900b, tvga8900c, tvga8900cl, tvga9000

    ATI:
        ati

    NCR:
        ncr77c22, ncr77c22e

    Cirrus Logic:
        clgd5420, clgd5422, clgd5424, clgd5426, clgd5428, clgd6205, clgd6215, clgd6225, clgd6235

    Compaq:
        cpq_avga

    OAK:
        oti067, oti077

clocks clock ...
    specifies the dotclocks that are on your graphics board. The clocks are in MHz, and may be specified as a floating point number. The value is stored internally to the nearest kHz. The ordering of the clocks is important. It must match the order in which they are selected on the graphics board. Multiple clocks lines may be specified.

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.

    swap_hibit - for Western Digital/PVGA1 chipsets. Some Western Digital based boards require the high-order clock-select lead to be inverted. It is not possible for the server to determine this information at run-time. If the 9th clock in the list of clocks detected by the server is less than 30Mhz, this option likely needs to be set.

    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.

    8clocks - for the PVGA1 chipset the default is 4 clocks. Some cards with this chipset may support 8 clocks. Specifying this option will allow the driver to detect and use the extra clocks.

    16clocks - for Trident TVGA8900B and 8900C chipsets. Some newer boards using 8900B and 8900C chipsets actually support 16 clocks rather than the standard 8 clocks. Such boards will have a "TCK9002" or "TCK9004" chip on them. Specifying this option will allow the driver to detect and use the extra 8 clocks.

    probe_clocks - for Cirrus chipsets. The Cirrus driver has a fixed set of clocks that are normally used. Specifying this option will force the driver to probe for clocks instead of reporting the built-in defaults. This option is for debugging purposes only.

    noaccel - for Cirrus and WD chipsets. This option disables the accelerated features for the clgd5426, clgd5428 and wd90c31 chipsets.

    fifo_conservative - for Cirrus chipsets. This option sets the CRT FIFO threshold to a conservative value for dot clocks above 65MHz. This reduces performance, but may help in eliminating problems with ``streaks'' on the screen during BitBLT operations

    fifo_aggressive - for Cirrus chipsets. This option sets the CRT FIFO threshold to an aggressive value for dot clocks above 65MHz. This increases performance, and is probably only appropriate for the clgd5434 chip.

    no_2mb_banksel - for Cirrus chipsets. This option is required for Cirrus cards with 2MB of videoram which is in the form of 512kx8 DRAMs (4 chips) rather than 256kx4 DRAMs (16 chips).

speedup "selection"
    sets the selection of SpeedUps to use. The optional selection string can take the following values:

    none
    all

    If the selection string is omitted, or if the speedup option is omitted, the selection defaults to "all". Some of the SpeedUps can only be used with the ET4000 and WD90C31 chipsets and others requires a virtual resolution with a xdim of 1024. SpeedUps that won't work with a given configuration are automatically disabled.

nospeedup
    disables the SpeedUp code. This is equivalent to speedup "none".

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_SVGA 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 Xconfig file.

The last section is the TABLE OF VIDEO MODES which starts with the keyword modedb. This is covered in the Xconfig(4/5) manpage. For details on how to build your own video modes please refer to the tutorial written by Eric Raymond.

FILES

/usr/X386/bin/XF86_SVGA
    The 8-bit color X server

/usr/X386/lib/X11/Xconfig
    Server configuration file

SEE ALSO
X(1), Xserver(1), XFree86kbd(1), XFree86(1), Xconfig(4/5), xdm(1), xinit(1)

BUGS

There are no known bugs at this time, although we welcome reports emailed to the address listed below. In particular, the Cirrus and Western Digital accelerated support is new, and may not be completely debugged.

CONTACT INFO
XFree86 source is available from the FTP servers ftp.physics.su.oz.au and ftp.x.org. Send email to XFree86@physics.su.oz.au for details.

AUTHORS

Refer to the XFree86(1) manual page.