Except for clocks, the driver does not require any XF86Config specifications of its own for default operation. The driver's behaviour can however be modified by the following specifications.
The default ChipSet name for this driver is "ati".
If "ativga" is specified instead, the driver will not use any ATI accelerator CRTC it detects, relying instead on any detected ATI VGA CRTC to provide the screen image.
A ChipSet name of "ibmvga" enables the driver's generic VGA support, but only for non-ATI adapters. If an ATI adapter is detected, the driver will operate as if "ativga" had been specified instead.
For compatibility with other XFree86 servers, both past and present, that support ATI adapters, the driver also recognizes "vgawonder", "mach8", "mach32" and "mach64" as chipset names. In this version of the driver, all such names are equivalent to "ati". In some future release, each name will have a different meaning to be documented at that time.
For the purpose of specifying a clock line in your XF86Config, one of four different situations can occur, as follows.
Those configuring the driver's generic VGA support for a non-ATI adapter, can skip ahead to the "Clocks for non-ATI adapters" section below. Those not trying to configure the driver for a Mach64 adapter, can skip ahead to the "Clocks for fixed clock generators on ATI adapters" section below.
The very earliest Mach64 adapters use fixed (i.e. non-programmable) clock generators. Very few of these (mostly prototypes) are known to exist, but if you have one of these, you can also skip ahead to the "Clocks for fixed clock generators on ATI adapters" section below.
The two cases that are left deal with programmable clock generators, which are used on the great majority of Mach64 adapters.
If you are uncertain which situation applies to your adapter, you can run a clock probe with the command "X -probeonly".
At bootup, video BIOS initialization programmes an initial set of frequencies. Two of these are reserved to allow the setting of modes that do not use a frequency from this initial set. One of these reserved slots is used by the BIOS mode set routine, the other by the particular driver used (e.g. MS-Windows, AutoCAD, X, etc.). The clock numbers reserved in this way are dependent on the particular clock generator used by the adapter.
The driver currently supports all programmable clock generators known to exist on Mach64 adapters. In this case, the driver will completely ignore any XF86Config clock specification, and programme the clock generator as needed by the modes used during the X session.
This case is unlikely to occur, but is documented for the sake of completeness.
In this situation, the driver will probe the adapter for clock frequencies unless XF86Config clocks are already specified. In either case, the driver will then attempt to normalize the clocks to one of the following specifications:
BIOS setting 1: Clocks 0.000 110.000 126.000 135.000 50.350 56.640 63.000 72.000 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000 0.000 55.000 63.000 67.500 25.180 28.320 31.500 36.000 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000
BIOS setting 2: Clocks 0.000 110.000 126.000 135.000 25.180 28.320 31.500 36.000 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000 0.000 55.000 63.000 67.500 12.590 14.160 15.750 18.000 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000
BIOS setting 3: Clocks 0.000 0.000 0.000 0.000 25.180 28.320 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12.590 14.160 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000If the driver matches the clocks to the third setting above, functionality will be *extremely* limited (assuming the driver works at all).
This section applies to all ATI adapters except all but the very earliest Mach64's.
One of the following clocks specifications (or an initial subset thereof) can be used depending on what the adapter uses to generate dot clocks:
Crystals (VGA Wonder V3 and V4 adapters only): Clocks 50.000 56.644 0.000 44.900 44.900 50.000 0.000 36.000 25.000 28.322 0.000 22.450 22.450 25.000 0.000 18.000 16.667 18.881 0.000 14.967 14.967 16.667 0.000 12.000 12.500 14.161 0.000 11.225 11.225 12.500 0.000 9.000
ATI 18810 clock generator: Clocks 30.240 32.000 37.500 39.000 42.954 48.771 0.000 36.000 40.000 56.644 75.000 65.000 50.350 56.640 0.000 44.900 15.120 16.000 18.750 19.500 21.477 24.386 0.000 18.000 20.000 28.322 37.500 32.500 25.175 28.320 0.000 22.450 10.080 10.667 12.500 13.000 14.318 16.257 0.000 12.000 13.333 18.881 25.000 21.667 16.783 18.880 0.000 14.967 7.560 8.000 9.375 9.750 10.739 12.193 0.000 9.000 10.000 14.161 18.750 16.250 12.586 14.160 0.000 11.225
ATI 18811-0 and ATI 18812-0 clock generators: Clocks 30.240 32.000 110.000 80.000 42.954 48.771 92.400 36.000 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900 15.120 16.000 55.000 40.000 21.477 24.386 46.200 18.000 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450 10.080 10.667 36.667 26.667 14.318 16.257 30.800 12.000 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967 7.560 8.000 27.500 20.000 10.739 12.193 23.100 9.000 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225
ATI 18811-1 and ATI 18811-2 clock generators: Clocks 135.000 32.000 110.000 80.000 100.000 126.000 92.400 36.000 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900 67.500 16.000 55.000 40.000 50.000 63.000 46.200 18.000 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450 45.000 10.667 36.667 26.667 33.333 42.000 30.800 12.000 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967 33.750 8.000 27.500 20.000 25.000 31.500 23.100 9.000 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225VGAWonder VLB, VGA 1024 VLB, Mach32 and Mach64 owners should only specify up to the first 32 frequencies.
Other clock generators that have been used on ATI adapters (which can all be said to be clones of one of the above) might generate non-zero frequencies for those that are zero above, or vice-versa.
The order of the clocks *is* very important, although the driver will reorder the clocks if it deems it appropriate to do so. Mach32 and Mach64 owners should note that this order is different than what they would use for the accelerated servers.
If no clocks are specified in the XF86Config, the driver will probe for four clocks, the second of which will be assumed to be 28.322MHz. You can include up to four clock frequencies in your XF86Config to specify the actual values used by the adapter. Any more will be ignored.
By default, the driver will enable a linear video memory aperture for 256-colour and higher depth modes if it is also using a Mach64 accelerator CRTC or an integrated Mach64 graphics chip. This option disables this linear aperture. Currently, this also disables support for more than 256 colours.
This specification is only effective for non-PCI Mach64 adapters, and is used to override the CPU address at which the adapter will map its video memory. Normally, for non-PCI adapters, this address is set by a DOS install utility provided with the adapter. The MemBase option can also be used to enable the linear aperture in those cases where ATI's utility was not, or can not be, used.
For PCI adapters, this address is determined at system bootup according to the PCI Plug'n'Play specification which arbitrates the resource requirements of most devices in the system. This means the driver can not easily change the linear aperture address.
Modes can be derived from the information in XFree86's doc directory. If you do not specify a "modes" line in the display subsection of the appropriate screen section of your XF86Config, the driver will generate a default mode and attempt to use it. The timings for the default mode are derived from the timings of the mode (usually a text mode) in effect when the server is started.