Content-type: text/html
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. The Western Digital WD90C33, some of the Cirrus chipsets, ARK, the Oak OTI087, the Chips & Technologies 65550 or 65554 and the ET6000 support up to 2Mb of display memory and virtual resolutions of 1280x1024 and higher. Some of the Cirrus and ARK chipsets also support 16bpp, 24bpp and 32bpp (truecolor) modes on certain configurations. Some Trident chips are supported at 16bpp. Some Chips & Technologies chipset also support 16bpp and 24bpp (truecolor) modes. The ET6000 and some ET4000W32i or ET4000W32p chips supports all color depths. Generic VGA cards are also supported at 8bpp 320x200 only. The Matrox Millennium supports all color depths. ATI adapters based on integrated controllers also support all colour depths.
Accelerated support is included for most of the Cirrus chipsets, the Western Digital WD90C31 and WD90C33 chipsets, the Oak OTI087 chipset, Chips & Technologies, ARK Logic chipsets, the ET6000 and the ET4000/W32p. Accelerated 8bpp support for the ET4000/W32 (i and p) and ET6000 is implemented in a separate server (see XF86_W32(1)). Users of boards based on ATI's Mach8, Mach32 and Mach64 chipsets should refer to the XF86_Mach8(1), XF86_Mach32(1) and XF86_Mach64(1) manual pages, respectively. Accelerated support is also included for i740 (AGP and PCI) based cards in 8bpp, 16bpp and 24bpp color depths (32bpp is unaccelerated).
This server requires a Screen section in the XF86Config file with the Driver entry set to svga.
Entries for the Device section in the XF86Config file include:
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.
hw_clocks - for C&T chipsets. The Chips & Technologies driver will by default attempt to use programmable clocks for chips that support them. Specifying this option will force the server to use the limited number of fixed clocks supported by the hardware.
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 SVGA driver can also use all the clocks mentioned 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 SVGA chips (S3, WD90cxx) 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. Refer to the XF86Config(4/5) manual page for details of how to set the timeouts for the different levels of operation.
noaccel - for Cirrus, WD, ARK, C&T, MGA, Tseng and i740 chipsets. This option disables the accelerated features for the clgd542X, clgd543x, clgd5446, clgd546X, wd90c24, wd90c31 and wd90c33, C&T, ARK, MGA, Tseng and i740 chipsets.
no_pixmap_cache - for any chip that uses XAA for acceleration, which includes ARK, Cirrus, C&T, MGA, SiS, Trident 9440/9680, and Tseng chipsets. This disables the use of a pixmap cache by XAA.
xaa_no_color_exp - for any chip that uses XAA for acceleration. This option disables the use by XAA of hardware color expansion features. If you see text rendering problems, try this.
xaa_benchmarks - most useful for a chip that uses XAA for acceleration. This option makes the server perform and report the results of benchmarks performed at start-up of XAA acceleration primitives.
fifo_conservative - for Cirrus chipsets 542x/3x/46/6x, oti087, and ARK. This option sets the CRT FIFO threshold to a conservative value for higher dot clocks. This slightly reduces performance, but may help in eliminating problems with ``streaks'' on the screen caused by video memory bandwidth contention during BitBLT operations
fifo_aggressive - for Cirrus chipsets 542x/3x/46/6x, and oti087, and ARK. This option sets the CRT FIFO threshold to an aggressive value.
slow_dram - for Cirrus chipsets 542x/3x/46, and Trident. This option sets the DRAM timings for slow DRAM chips.
med_dram - for Cirrus chipsets 542x/3x/46 and Trident. This option sets the DRAM timings for medium-speed DRAM chips.
fast_dram - for ET4000, ET6000 and Cirrus chipsets 542x/3x/46, and Trident. This option sets the DRAM timings for fast DRAM chips. Normally not recommended.
sgram - for i740 chipsets. This option forces the use of SGRAM timing informaiton.
sdram - for i740 chipsets. This option forces the use of SDRAM timing informaiton.
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).
no_bitblt - for Cirrus and C&T chipsets. This option disables use of hardware BitBLT.
no_imageblt - for Cirrus and C&T chipsets. This option disables use of CPU-assisted BitBLT functions.
mmio - for Cirrus and C&T chipsets. This option enables memory-mapped I/O for BitBLT communication.
linear - Attempt a linear mapping of the framebuffer into high memory. Currently only supported for some Cirrus and oti087 configurations, the ET6000, the ET4000W32p rev C and D and the ET4000W32i. Automatically selected (and hence the option is ignored) for the clgd5462 and clgd5464, C&T, NVidia, and the ARK chipsets. This is also true for Tseng chips, except for 8bpp modes, where this flag allows linear mapping to be forced (it defaults to banked mode at 8bpp).
nolinear - Disable linear mapping. Useful for C&T, ARK and some Cirrus chipsets.
med_dram, favour_bitblt, clgd6225_lcd, no_stretch, no_mmio - more Cirrus-specific options. Refer to /usr/X11R6/lib/X11/doc/README.cirrus for a detailed description of Cirrus options.
ext_fram_buf, use_modeline, fix_panel_size, no_stretch, lcd_center, suspend_hack, use_18bit_bus - more Chips & Technologies specific options for use with LCD screens. Refer to <XRoot>/lib/X11/doc/README.chips for a detailed description of these options.
hw_cursor - for ARK, ET6000 and i740 chipsets. This option enables the hardware cursor.
sw_cursor - for Cirrus, C&T and i740 chipsets. This option disables the hardware cursor.
sync_on_green - for Chips & Technologies 65550's and 65554's and Matrox MGA2064W's. This option enables the generation of a sync on green signal.
pci_retry - for all accelerated Tseng chipsets. This option enables a "bus-hold" feature on the Tseng chip that will increase accelerator performance, but at the cost of long system bus blocking periods. This may cause bus timeouts for some ISA DMA hardware (soundcards, floppy tape drives, etc). Despite the name, this is not limited to PCI bus cards only.
none all
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 XF86Config file.
Note: <XRoot> refers to the root of the X11 install tree.
Bug reports are welcome, and should be emailed to the address listed below.
Refer to the XFree86(1) manual page.