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 supports all color depths. Generic VGA cards are also supported at 8bpp 320x200 only.
STG2000
- 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, 264VT2, 264GT
- Tseng:
- ET3000, ET4000, ET4000/W32, ET6000
- Western Digital:
- PVGA1, WD90C00, WD90C10, WD90C11, WD90C24A, WD90C30, WD90C31, WD90C33
- Genoa:
- GVGA
- Trident:
- TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000 TVGA9000i, TVGA9100B, TVGA9200CXr, TGUI9320LCD, TGUI9400CXi, TGUI9420, TGUI9420DGi, TGUI9430DGi, TGUI9440AGi, TGUI9660XGi, TGUI9680
- NCR:
- 77C22, 77C22E
- Cirrus Logic:
- CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CLGD5446, CLGD5462, CLGD5464, CLGD6205, CLGD6215, CLGD6225, CLGD6235, CL6410, CL6412, CL6420, CL6440
- ARK:
- ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT
- RealTek:
- RTG3106
- Oak:
- OTI067, OTI077, OTI087
- Avance Logic:
- AL2101, ALI2301, ALI2302, ALI2308, ALI2401
- Chips & Technologies:
- 65520, 65530, 65540, 65545, 65546, 65548, 65550, 65554
- SiS:
- SIS 86C201, 86C202, 86C205
- MX:
- MX68000, MX68010
- Video7:
- HT216-32
- Alliance:
- AP6422
- Matrox:
- MGA2064W
- NVidia:
- NV1,
Accelerated support is included for most of the Cirrus chipsets, the Western Digital WD90C31 and WD90C33 chipsets, the Oak OTI087 chipset, Chips & Technologies, and ARK Logic chipsets. Accelerated support for the ET4000/W32 and ET6000 acceleration 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.
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 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(4/5) manual page for details of how to set the timeouts for the different levels of operation. This option is experimental.
noaccel - for Cirrus, WD, ARK, C&T and MGA chipsets. This option disables the accelerated features for the clgd542X, clgd543x, clgd5446, clgd546X, wd90c24, wd90c31 and wd90c33, C&T, and ARK chipsets.
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 and Cirrus chipsets 542x/3x/46, and Trident. This option sets the DRAM timings for fast DRAM chips. Normally not recommended.
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, and the ET6000. Automatically selected (and hence the option is ignored) for the clgd5462 and clgd5464, C&T, NVidia, and the ARK chipsets.
nolinear - Disable linear mapping. Useful for C&T and ARK chipsets.
med_dram, favour_bitblt, clgd6225_lcd - 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 chipsets. This option enables the hardware cursor.
sw_cursor - for Cirrus and C&T chipsets. This option disables the hardware cursor.
sync_on_green - for Chips & Technologies 65550’s and 65554’s enables the generation of a sync on the green signal.
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.