README revision 1.1.1.4 1 1.1.1.3 mrg ATI Adapters README file
2 1.1.1.3 mrg Marc Aurele La France
3 1.1.1.3 mrg 2002 February 12
4 1.1.1.3 mrg
5 1.1.1.4 mrg This is the README for the ATI Mach64 driver included in this release.
6 1.1.1.3 mrg ______________________________________________________________________
7 1.1.1.3 mrg
8 1.1.1.3 mrg Table of Contents
9 1.1.1.3 mrg
10 1.1.1.3 mrg
11 1.1.1.3 mrg 1. Statement of intent
12 1.1.1.3 mrg 2. A note on acceleration
13 1.1.1.3 mrg 3. Current implementation for ATI adapters
14 1.1.1.3 mrg 4. Current implementation of generic VGA support for non-ATI adapters
15 1.1.1.3 mrg 5. xorg.conf specifications
16 1.1.1.3 mrg 5.1 Driver ``ati''
17 1.1.1.3 mrg 5.2 ChipSet ``name''
18 1.1.1.3 mrg 5.3 ChipID & ChipRev specifications
19 1.1.1.3 mrg 5.4 IOBase
20 1.1.1.3 mrg 5.5 BusID
21 1.1.1.3 mrg 5.6 Clocks
22 1.1.1.3 mrg 5.6.1 Clocks for supported programmable clock generators
23 1.1.1.3 mrg 5.6.2 Clocks for unsupported programmable clock generators
24 1.1.1.3 mrg 5.6.3 Clocks for fixed clock generators on ATI adapters
25 1.1.1.3 mrg 5.6.4 Clocks for non-ATI adapters
26 1.1.1.3 mrg 5.7 Option ``nopanel_display''
27 1.1.1.3 mrg 5.8 Option ``crt_display''
28 1.1.1.3 mrg 5.9 Option ``noaccel''
29 1.1.1.3 mrg 5.10 Option ``nolinear''
30 1.1.1.3 mrg 5.11 Option ``HWCursor'' and Option ``SWCursor''
31 1.1.1.3 mrg 5.12 Option ``SilkenMouse''
32 1.1.1.3 mrg 5.13 Option ``shadowfb''
33 1.1.1.3 mrg 5.14 Option ``dpms''
34 1.1.1.3 mrg 5.15 Option ``backingstore''
35 1.1.1.3 mrg 5.16 MemBase address
36 1.1.1.3 mrg 5.17 Option ``ReferenceClock'' ``frequency''
37 1.1.1.3 mrg 5.18 ClockChip ``name''
38 1.1.1.3 mrg
39 1.1.1.3 mrg 6. Video modes
40 1.1.1.3 mrg 7. Known problems and limitations
41 1.1.1.3 mrg 8. Reporting problems
42 1.1.1.3 mrg 9. Driver history
43 1.1.1.3 mrg 10. Driver versions
44 1.1.1.3 mrg
45 1.1.1.3 mrg
46 1.1.1.3 mrg ______________________________________________________________________
47 1.1.1.3 mrg
48 1.1.1.3 mrg 1. Statement of intent
49 1.1.1.3 mrg
50 1.1.1.3 mrg Generally speaking, the driver is intended for all ATI video adapters
51 1.1.1.3 mrg based on the Mach64 series or older chipsets, providing maximum video
52 1.1.1.3 mrg function within hardware limitations. The driver is also intended to
53 1.1.1.3 mrg optionally provide the same level of support for generic VGA or 8514/A
54 1.1.1.4 mrg adapters. The newer Rage 128 and Radeon chips are not supported
55 1.1.1.3 mrg by this driver. Rage 128's and Radeon's are, however, supported by
56 1.1.1.3 mrg separate drivers, and owners of such adapters should consult the
57 1.1.1.3 mrg documentation provided with these drivers. This driver will also
58 1.1.1.3 mrg invoke the appropriate driver if it finds Rage 128 and/or Radeon
59 1.1.1.3 mrg adapter(s) in the system. This driver is still being actively
60 1.1.1.3 mrg developed, meaning that it currently does not yet fully meet these
61 1.1.1.3 mrg goals.
62 1.1.1.3 mrg
63 1.1.1.3 mrg The driver will provide
64 1.1.1.3 mrg
65 1.1.1.3 mrg o accelerated support if an ATI accelerator is detected and the user
66 1.1.1.3 mrg has not requested that this support be disabled; otherwise
67 1.1.1.3 mrg o accelerated support if a non-ATI 8514/A-capable adapter is detected
68 1.1.1.3 mrg and the user has requested such support; otherwise
69 1.1.1.3 mrg
70 1.1.1.3 mrg o unaccelerated SuperVGA support if an ATI VGA-capable adapter is
71 1.1.1.3 mrg detected; otherwise
72 1.1.1.3 mrg
73 1.1.1.3 mrg o generic VGA support if a non-ATI VGA-capable adapter is detected
74 1.1.1.3 mrg and the user has requested such support.
75 1.1.1.3 mrg
76 1.1.1.3 mrg Thus, the level of support provided not only depends on what the
77 1.1.1.3 mrg driver detects in the system, but also, on what the user specifies
78 1.1.1.3 mrg in the xorg.conf file. See the ``xorg.conf specifications''
79 1.1.1.3 mrg section below for details.
80 1.1.1.3 mrg
81 1.1.1.3 mrg If none of the above conditions are met, the ATI driver will
82 1.1.1.3 mrg essentially disable itself to allow other drivers to examine the
83 1.1.1.3 mrg system.
84 1.1.1.3 mrg
85 1.1.1.3 mrg
86 1.1.1.3 mrg 2. A note on acceleration
87 1.1.1.3 mrg
88 1.1.1.3 mrg The meaning of ``acceleration'', as used in this document, needs to be
89 1.1.1.3 mrg clarified. Two of the many components in an accelerator are the CRT
90 1.1.1.3 mrg controller (CRTC) and the Draw Engine. This is in addition to another
91 1.1.1.3 mrg CRTC that, generally, is also present in the system (often in the same
92 1.1.1.3 mrg chip) and typically provides EGA, VGA or SuperVGA functionality.
93 1.1.1.3 mrg
94 1.1.1.3 mrg A CRTC is the component of a graphics controller that is responsible
95 1.1.1.3 mrg for reading video memory for output to the screen. A Draw Engine is
96 1.1.1.3 mrg an accelerator component that can be programmed to manipulate video
97 1.1.1.3 mrg memory contents, thus freeing the CPU for other tasks.
98 1.1.1.3 mrg
99 1.1.1.3 mrg When the VGA CRTC is used, all drawing operations into video memory
100 1.1.1.3 mrg are the responsibility of the system's CPU, i.e. no Draw Engine can be
101 1.1.1.3 mrg used. On the other hand, if the accelerator's CRTC is chosen to drive
102 1.1.1.3 mrg the screen, the Draw Engine can also be used for drawing operations,
103 1.1.1.3 mrg although the CPU can still be used for this purpose if it can access
104 1.1.1.3 mrg the accelerator's video memory.
105 1.1.1.3 mrg
106 1.1.1.3 mrg Video acceleration refers to the programming of an accelerator's Draw
107 1.1.1.3 mrg Engine to offload drawing operations from the CPU, and thus also
108 1.1.1.3 mrg implies the use of the accelerator's CRTC.
109 1.1.1.3 mrg
110 1.1.1.3 mrg
111 1.1.1.3 mrg 3. Current implementation for ATI adapters
112 1.1.1.3 mrg
113 1.1.1.3 mrg The driver currently supports the SuperVGA capabilities of all ATI
114 1.1.1.3 mrg adapters except some early Mach8 and Mach32 adapters that do not
115 1.1.1.3 mrg provide the required functionality. This support works for
116 1.1.1.3 mrg monochrome, 16-colour and 256-colour video modes, if one of the
117 1.1.1.3 mrg following ATI graphics controller chips is present:
118 1.1.1.3 mrg
119 1.1.1.3 mrg VGAWonder series: 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6
120 1.1.1.3 mrg Mach32 series: 68800-3, 68800-6, 68800AX, 68800LX
121 1.1.1.3 mrg Mach64 series: 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX,
122 1.1.1.3 mrg 264CT, 264ET, 264VT, 264GT (3D Rage), 264VT-B, 264VT3,
123 1.1.1.3 mrg 264VT4, 264GT-B (3D Rage II), 3D Rage IIc, 3D Rage Pro,
124 1.1.1.3 mrg 3D Rage LT, 3D Rage LT Pro, 3D Rage XL, 3D Rage XC,
125 1.1.1.3 mrg 3D Rage Mobility (including the -M and -P variants)
126 1.1.1.3 mrg
127 1.1.1.3 mrg
128 1.1.1.3 mrg The driver also supports 32K, 64K and 16M-colour modes on the 264xT
129 1.1.1.3 mrg and 3D Rage series of adapters using the accelerator CRTC (but not the
130 1.1.1.3 mrg VGA CRTC).
131 1.1.1.3 mrg
132 1.1.1.3 mrg
133 1.1.1.4 mrg The newer Rage 128 and Radeon chips are not supported by this
134 1.1.1.3 mrg driver. Rage 128's and Radeon's are, however, supported by separate
135 1.1.1.3 mrg drivers, and owners of such adapters should consult the documentation
136 1.1.1.3 mrg provided with these drivers. This driver will also invoke the
137 1.1.1.3 mrg appropriate driver if it finds Rage 128 and/or Radeon adapter(s) in
138 1.1.1.3 mrg the system.
139 1.1.1.3 mrg
140 1.1.1.3 mrg Adapters based on the above chips have been marketed under a rather
141 1.1.1.3 mrg large number of names over the years. Among them are:
142 1.1.1.3 mrg
143 1.1.1.3 mrg VGAWonder series: VGAWonder V3, VGAWonder V4, VGAWonder V5, VGAWonder+,
144 1.1.1.3 mrg VGAWonder XL, VGAWonder XL24, VGAWonder VLB, VGA Basic,
145 1.1.1.3 mrg VGA Basic 16, VGA Edge, VGA Edge 16, VGA Integra,
146 1.1.1.3 mrg VGA Charger, VGAStereo F/X, VGA 640, VGA 800, VGA 1024,
147 1.1.1.3 mrg VGA 1024D, VGA 1024 XL, VGA 1024 DXL, VGA 1024 VLB
148 1.1.1.3 mrg Mach8 series: Graphics Ultra, Graphics Vantage, VGAWonder GT
149 1.1.1.3 mrg (None of the 8514/Ultra and 8514 Vantage series is
150 1.1.1.3 mrg supported at this time)
151 1.1.1.3 mrg Mach32 series: Graphics Ultra+, Graphics Ultra Pro, Graphics Wonder,
152 1.1.1.3 mrg Graphics Ultra XLR, Graphics Ultra AXO, VLB mach32-D,
153 1.1.1.3 mrg PCI mach32-D, ISA mach32
154 1.1.1.3 mrg Mach64 series: Graphics Xpression, Graphics Pro Turbo, WinBoost,
155 1.1.1.3 mrg WinTurbo, Graphics Pro Turbo 1600, Video Xpression,
156 1.1.1.3 mrg 3D Xpression, Video Xpression+, 3D Xpression+,
157 1.1.1.3 mrg 3D Charger, Video Charger, WinCharger, All-In-Wonder,
158 1.1.1.3 mrg All-In-Wonder PRO, 3D Pro Turbo, XPERT@Play,
159 1.1.1.3 mrg XPERT@Play 98, XPERT@Work, XPERT 98, XPERT LCD,
160 1.1.1.3 mrg XPERT XL
161 1.1.1.3 mrg
162 1.1.1.3 mrg
163 1.1.1.3 mrg Also, a number of mainboards, laptops and notebooks harbour a Mach32
164 1.1.1.3 mrg or Mach64 controller.
165 1.1.1.3 mrg
166 1.1.1.3 mrg VGAWonder, Mach8 and Mach32 ISA adapters are available with or without
167 1.1.1.3 mrg a mouse.
168 1.1.1.3 mrg
169 1.1.1.3 mrg These adapters are available with a variety of clock generators and
170 1.1.1.3 mrg RAMDACs. The 264xT and 3D Rage series of chips are integrated
171 1.1.1.3 mrg controllers, meaning that they include a programmable clock generator
172 1.1.1.3 mrg and a RAMDAC.
173 1.1.1.3 mrg
174 1.1.1.3 mrg For all but Mach64 adapters, this driver still does not provide
175 1.1.1.3 mrg support for accelerated drawing to the screen. This means that all
176 1.1.1.3 mrg drawing is done by the CPU, rather than by any accelerator present in
177 1.1.1.3 mrg the system. This can make opaque moves, for example, quite ``jerky''.
178 1.1.1.3 mrg Also, given that IBM 8514/A and ATI Mach8 do not allow CPU access to
179 1.1.1.3 mrg their frame buffer, the driver will currently ignore these
180 1.1.1.3 mrg accelerators. Most Mach32 adapters provide both accelerated function
181 1.1.1.3 mrg and SuperVGA functionality, but the driver currently only uses the
182 1.1.1.3 mrg VGA.
183 1.1.1.3 mrg
184 1.1.1.3 mrg The driver does however support the accelerator CRTC present in all
185 1.1.1.3 mrg ATI Mach64 adapters. For 256-colour, and higher depth modes, this
186 1.1.1.3 mrg support will be used by default, although an xorg.conf option can be
187 1.1.1.3 mrg specified to use the SuperVGA CRTC instead. A linear video memory
188 1.1.1.3 mrg aperture is also available in 256-colour and higher depth modes and
189 1.1.1.3 mrg enabled by default if a 264xT or 3D Rage controller is detected or, on
190 1.1.1.3 mrg 88800 controllers, if the accelerator CRTC is used. xorg.conf options
191 1.1.1.3 mrg are available to disable this aperture, or (for non-PCI adapters)
192 1.1.1.3 mrg enable it or move it to some other address.
193 1.1.1.3 mrg
194 1.1.1.3 mrg By default, the driver provides some acceleration for Mach64 if the
195 1.1.1.3 mrg accelerator CRTC is used, and modes whose colour depth greater than or
196 1.1.1.3 mrg equal to 8 are to be used. This support is as yet incomplete and can
197 1.1.1.3 mrg be disabled entirely with an xorg.conf option.
198 1.1.1.3 mrg
199 1.1.1.3 mrg On non-Intel platforms, the driver can, currently, only support PCI
200 1.1.1.3 mrg Mach64 adapters.
201 1.1.1.3 mrg
202 1.1.1.3 mrg
203 1.1.1.3 mrg 4. Current implementation of generic VGA support for non-ATI adapters
204 1.1.1.3 mrg
205 1.1.1.3 mrg Support for generic VGA with non-ATI adapters is also implemented, but
206 1.1.1.3 mrg has undergone only limited testing. The driver will intentionally
207 1.1.1.3 mrg disallow the use of this support with ATI adapters. This support must
208 1.1.1.3 mrg be explicitly requested through an xorg.conf ChipSet specification.
209 1.1.1.3 mrg This prevents the current VGA generic driver from being disabled.
210 1.1.1.3 mrg
211 1.1.1.3 mrg This driver's generic VGA support is intended as an extension of that
212 1.1.1.3 mrg provided by the current generic driver. Specifically, within the
213 1.1.1.3 mrg architectural bounds defined by IBM's VGA standard, this driver will
214 1.1.1.3 mrg allow the use of any 256-colour mode, and any dot clock frequencies
215 1.1.1.3 mrg both of which allow for many more mode possibilities.
216 1.1.1.3 mrg
217 1.1.1.3 mrg The driver will enforce the following limitations derived from IBM's
218 1.1.1.3 mrg original VGA implementation:
219 1.1.1.3 mrg
220 1.1.1.3 mrg o There can only be a set of four (non-programmable) clocks to choose
221 1.1.1.3 mrg from.
222 1.1.1.3 mrg
223 1.1.1.3 mrg o Video memory is limited to 256kB in monochrome and 16-colour modes.
224 1.1.1.3 mrg
225 1.1.1.3 mrg o Video memory is limited to 64kB in 256-colour modes.
226 1.1.1.3 mrg
227 1.1.1.3 mrg o Interlaced modes are not available.
228 1.1.1.3 mrg
229 1.1.1.3 mrg o Colour depths higher than 8 are not available.
230 1.1.1.3 mrg
231 1.1.1.3 mrg 5. xorg.conf specifications
232 1.1.1.3 mrg
233 1.1.1.3 mrg The driver recognises a number of xorg.conf options. In general, all
234 1.1.1.3 mrg such options should be specified in a ``Device'' section, and affect
235 1.1.1.3 mrg only that ``Device'' section.
236 1.1.1.3 mrg
237 1.1.1.3 mrg Those options that affect how the driver associates adapters with
238 1.1.1.3 mrg ``Device'' sections are described first. The driver will ignore (with
239 1.1.1.3 mrg a message) a ``Device'' section if the section cannot be associated
240 1.1.1.3 mrg with exactly one adapter in the system. Similarly, the driver will
241 1.1.1.3 mrg ignore, or disable, (with a message) any adapter that cannot be
242 1.1.1.3 mrg associated with exactly one ``Device'' section. Thus, these options
243 1.1.1.3 mrg will be required in those uncommon cases where such unique
244 1.1.1.3 mrg associations cannot automatically be made by the driver.
245 1.1.1.3 mrg
246 1.1.1.3 mrg Other options affect the driver's operation once an adapter has been
247 1.1.1.3 mrg assigned to the ``Device'' section which contains them.
248 1.1.1.3 mrg
249 1.1.1.3 mrg
250 1.1.1.3 mrg 5.1. Driver ``ati''
251 1.1.1.3 mrg
252 1.1.1.3 mrg The use of this specification is highly recommended if the ``Device''
253 1.1.1.3 mrg section is to be recognised by the driver. In fact, it is almost (but
254 1.1.1.3 mrg not quite) mandatory, particularly when using the loader server as it
255 1.1.1.3 mrg indicates what driver is to be loaded and associated with the
256 1.1.1.3 mrg ``Device'' section.
257 1.1.1.3 mrg
258 1.1.1.3 mrg
259 1.1.1.3 mrg 5.2. ChipSet ``name''
260 1.1.1.3 mrg
261 1.1.1.3 mrg The default ChipSet name for this driver is ``ati''. In this case,
262 1.1.1.3 mrg any ATI adapter can be associated with the ``Device'' section. If an
263 1.1.1.3 mrg ATI accelerator is detected and the driver supports it, the
264 1.1.1.3 mrg accelerator's CRTC will be used to drive the screen. Otherwise, the
265 1.1.1.3 mrg driver will programme the adapter's SuperVGA CRTC.
266 1.1.1.3 mrg
267 1.1.1.3 mrg If ``ativga'' is specified instead, the driver will ignore any ATI
268 1.1.1.3 mrg accelerator it detects, but otherwise operate as if ``ati'' had been
269 1.1.1.3 mrg specified. This specification ensures the VGA CRTC is used.
270 1.1.1.3 mrg
271 1.1.1.3 mrg A ChipSet name of ``ibmvga'' causes any VGA-capable adapter in the
272 1.1.1.3 mrg system to be associated with the ``Device'' section. It enables the
273 1.1.1.3 mrg driver's generic VGA support, but only for non-ATI adapters. If an
274 1.1.1.3 mrg ATI adapter is associated with the ``Device'' section, the driver will
275 1.1.1.3 mrg operate as if ``ativga'' had been specified instead.
276 1.1.1.3 mrg
277 1.1.1.3 mrg A ChipSet name of ``vgawonder'' is equivalent to ``ativga'', except
278 1.1.1.3 mrg that only VGAWonder-capable adapters can be assigned to the ``Device''
279 1.1.1.3 mrg section. This specifically excludes the newer integrated Mach64
280 1.1.1.3 mrg controllers.
281 1.1.1.3 mrg
282 1.1.1.3 mrg In some PCI or AGP systems, the driver will not, by default, probe for
283 1.1.1.3 mrg non-PCI Mach32's or Mach64's. This is because, before doing any such
284 1.1.1.3 mrg probe, the driver attempts to determine if the probe can cause a
285 1.1.1.3 mrg lockup. If the driver has enough information to determine that a
286 1.1.1.3 mrg lockup would occur, it will skip the probe. In some situations, this
287 1.1.1.3 mrg determination cannot be accurate, and the driver will err on the side
288 1.1.1.3 mrg of caution, skipping the probe. Specifying a ChipSet name of
289 1.1.1.3 mrg ``mach32'' or ``mach64'', as appropriate, will force the driver to
290 1.1.1.3 mrg probe for the non-PCI adapter. These ChipSet names should, therefore,
291 1.1.1.3 mrg only be used when there is in fact such an adapter in the system.
292 1.1.1.3 mrg They are otherwise equivalent to ``ati''.
293 1.1.1.3 mrg
294 1.1.1.3 mrg On non-Intel platforms, only ``ati'' and ``mach64'' ChipSet values are
295 1.1.1.3 mrg operative.
296 1.1.1.3 mrg
297 1.1.1.3 mrg
298 1.1.1.3 mrg 5.3. ChipID & ChipRev specifications
299 1.1.1.3 mrg
300 1.1.1.3 mrg These specifications will cause the driver to associate the ``Device''
301 1.1.1.3 mrg section only with an adapter having the same attributes, or an adapter
302 1.1.1.3 mrg whose PCI device ID the driver does not recognise. In the second
303 1.1.1.3 mrg case, these options cause the driver to treat the adapter as if it was
304 1.1.1.3 mrg one with the specified PCI device ID or revision. ChipID can only be
305 1.1.1.3 mrg used with Mach32 or Mach64 adapters, and, thus, specifically excludes
306 1.1.1.3 mrg any other adapter from matching the ``Device'' section. ChipRev is
307 1.1.1.3 mrg meaningful only with Mach64 adapters, and then only if ChipID is also
308 1.1.1.3 mrg specified in the same ``Device'' section.
309 1.1.1.3 mrg
310 1.1.1.3 mrg
311 1.1.1.3 mrg 5.4. IOBase
312 1.1.1.3 mrg
313 1.1.1.3 mrg This option limits the adapters that can be associated with the
314 1.1.1.3 mrg ``Device'' section to the one with the specified I/O base. This
315 1.1.1.3 mrg option only applies to Mach64 adapters and specifically excludes other
316 1.1.1.3 mrg adapters.
317 1.1.1.3 mrg
318 1.1.1.3 mrg
319 1.1.1.3 mrg 5.5. BusID
320 1.1.1.3 mrg
321 1.1.1.3 mrg This option limits the adapters that can be associated with the
322 1.1.1.3 mrg ``Device'' section to the one with the specified PCI Bus ID. This
323 1.1.1.3 mrg specification excludes non-PCI adapters.
324 1.1.1.3 mrg
325 1.1.1.3 mrg
326 1.1.1.3 mrg 5.6. Clocks
327 1.1.1.3 mrg
328 1.1.1.3 mrg For the purpose of specifying a clock line in your xorg.conf, one of
329 1.1.1.3 mrg four different situations can occur, as follows.
330 1.1.1.3 mrg
331 1.1.1.3 mrg Those configuring the driver's generic VGA support for a non-ATI
332 1.1.1.3 mrg adapter, can skip ahead to the ``Clocks for non-ATI adapters'' section
333 1.1.1.3 mrg below. Those not trying to configure the driver for a Mach64 adapter,
334 1.1.1.3 mrg can skip ahead to the ``Clocks for fixed clock generators on ATI
335 1.1.1.3 mrg adapters'' section below.
336 1.1.1.3 mrg
337 1.1.1.3 mrg The very earliest Mach64 adapters use fixed (i.e. non-programmable)
338 1.1.1.3 mrg clock generators. Very few of these (mostly prototypes) are known to
339 1.1.1.3 mrg exist, but if you have one of these, you can also skip ahead to the
340 1.1.1.3 mrg ``Clocks for fixed clock generators on ATI adapters'' section below.
341 1.1.1.3 mrg
342 1.1.1.3 mrg The two cases that are left deal with programmable clock generators,
343 1.1.1.3 mrg which are used on the great majority of Mach64 adapters.
344 1.1.1.3 mrg
345 1.1.1.3 mrg If you are uncertain which situation applies to your adapter, you can
346 1.1.1.3 mrg run a clock probe with the command ``X -probeonly''.
347 1.1.1.3 mrg
348 1.1.1.3 mrg
349 1.1.1.3 mrg 5.6.1. Clocks for supported programmable clock generators
350 1.1.1.3 mrg
351 1.1.1.3 mrg At bootup, video BIOS initialisation programmes an initial set of
352 1.1.1.3 mrg frequencies. Two of these are reserved to allow the setting of modes
353 1.1.1.3 mrg that do not use a frequency from this initial set. One of these
354 1.1.1.3 mrg reserved slots is used by the BIOS mode set routine, the other by the
355 1.1.1.3 mrg particular driver used (e.g. MS-Windows, AutoCAD, X, etc.). The clock
356 1.1.1.3 mrg numbers reserved in this way are dependent on the particular clock
357 1.1.1.3 mrg generator used by the adapter.
358 1.1.1.3 mrg
359 1.1.1.3 mrg The driver currently supports all programmable clock generators known
360 1.1.1.3 mrg to exist on Mach64 adapters. In this case, the driver will completely
361 1.1.1.3 mrg ignore any xorg.conf clock specification, and programme the clock
362 1.1.1.3 mrg generator as needed by the modes used during the X session.
363 1.1.1.3 mrg
364 1.1.1.3 mrg
365 1.1.1.3 mrg 5.6.2. Clocks for unsupported programmable clock generators
366 1.1.1.3 mrg
367 1.1.1.3 mrg This case is unlikely to occur, but is documented for the sake of
368 1.1.1.3 mrg completeness.
369 1.1.1.3 mrg
370 1.1.1.3 mrg In this situation, the driver will probe the adapter for clock
371 1.1.1.3 mrg frequencies unless xorg.conf clocks are already specified. In either
372 1.1.1.3 mrg case, the driver will then attempt to normalise the clocks to one of
373 1.1.1.3 mrg the following specifications:
374 1.1.1.3 mrg
375 1.1.1.3 mrg BIOS setting 1:
376 1.1.1.3 mrg
377 1.1.1.3 mrg Clocks 0.000 110.000 126.000 135.000 50.350 56.640 63.000 72.000
378 1.1.1.3 mrg 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000
379 1.1.1.3 mrg 0.000 55.000 63.000 67.500 25.180 28.320 31.500 36.000
380 1.1.1.3 mrg 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000
381 1.1.1.3 mrg
382 1.1.1.3 mrg
383 1.1.1.3 mrg
384 1.1.1.3 mrg BIOS setting 2:
385 1.1.1.3 mrg
386 1.1.1.3 mrg Clocks 0.000 110.000 126.000 135.000 25.180 28.320 31.500 36.000
387 1.1.1.3 mrg 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000
388 1.1.1.3 mrg 0.000 55.000 63.000 67.500 12.590 14.160 15.750 18.000
389 1.1.1.3 mrg 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000
390 1.1.1.3 mrg
391 1.1.1.3 mrg
392 1.1.1.3 mrg
393 1.1.1.3 mrg BIOS setting 3:
394 1.1.1.3 mrg
395 1.1.1.3 mrg Clocks 0.000 0.000 0.000 0.000 25.180 28.320 0.000 0.000
396 1.1.1.3 mrg 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
397 1.1.1.3 mrg 0.000 0.000 0.000 0.000 12.590 14.160 0.000 0.000
398 1.1.1.3 mrg 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
399 1.1.1.3 mrg
400 1.1.1.3 mrg
401 1.1.1.3 mrg If the driver matches the clocks to the third setting above, function-
402 1.1.1.3 mrg ality will be extremely limited (assuming the driver works at all).
403 1.1.1.3 mrg
404 1.1.1.3 mrg
405 1.1.1.3 mrg 5.6.3. Clocks for fixed clock generators on ATI adapters
406 1.1.1.3 mrg
407 1.1.1.3 mrg This section applies to all VGAWonder and Mach32 adapters, and to
408 1.1.1.3 mrg early Mach64 prototypes.
409 1.1.1.3 mrg
410 1.1.1.3 mrg One of the following clocks specifications (or an initial subset
411 1.1.1.3 mrg thereof) can be used depending on what the adapter uses to generate
412 1.1.1.3 mrg dot clocks:
413 1.1.1.3 mrg
414 1.1.1.3 mrg Crystals (VGA Wonder V3 and V4 adapters only):
415 1.1.1.3 mrg
416 1.1.1.3 mrg Clocks 50.000 56.644 0.000 44.900 44.900 50.000 0.000 36.000
417 1.1.1.3 mrg 25.000 28.322 0.000 22.450 22.450 25.000 0.000 18.000
418 1.1.1.3 mrg 16.667 18.881 0.000 14.967 14.967 16.667 0.000 12.000
419 1.1.1.3 mrg 12.500 14.161 0.000 11.225 11.225 12.500 0.000 9.000
420 1.1.1.3 mrg
421 1.1.1.3 mrg
422 1.1.1.3 mrg
423 1.1.1.3 mrg ATI 18810 clock generator:
424 1.1.1.3 mrg
425 1.1.1.3 mrg Clocks 30.240 32.000 37.500 39.000 42.954 48.771 0.000 36.000
426 1.1.1.3 mrg 40.000 0.000 75.000 65.000 50.350 56.640 0.000 44.900
427 1.1.1.3 mrg 15.120 16.000 18.750 19.500 21.477 24.386 0.000 18.000
428 1.1.1.3 mrg 20.000 0.000 37.500 32.500 25.175 28.320 0.000 22.450
429 1.1.1.3 mrg 10.080 10.667 12.500 13.000 14.318 16.257 0.000 12.000
430 1.1.1.3 mrg 13.333 0.000 25.000 21.667 16.783 18.880 0.000 14.967
431 1.1.1.3 mrg 7.560 8.000 9.375 9.750 10.739 12.193 0.000 9.000
432 1.1.1.3 mrg 10.000 0.000 18.750 16.250 12.586 14.160 0.000 11.225
433 1.1.1.3 mrg
434 1.1.1.3 mrg
435 1.1.1.3 mrg
436 1.1.1.3 mrg ATI 18811-0 and ATI 18812-0 clock generators:
437 1.1.1.3 mrg
438 1.1.1.3 mrg Clocks 30.240 32.000 110.000 80.000 42.954 48.771 92.400 36.000
439 1.1.1.3 mrg 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900
440 1.1.1.3 mrg 15.120 16.000 55.000 40.000 21.477 24.386 46.200 18.000
441 1.1.1.3 mrg 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450
442 1.1.1.3 mrg 10.080 10.667 36.667 26.667 14.318 16.257 30.800 12.000
443 1.1.1.3 mrg 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967
444 1.1.1.3 mrg 7.560 8.000 27.500 20.000 10.739 12.193 23.100 9.000
445 1.1.1.3 mrg 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225
446 1.1.1.3 mrg
447 1.1.1.3 mrg
448 1.1.1.3 mrg
449 1.1.1.3 mrg ATI 18811-1 and ATI 18811-2 clock generators:
450 1.1.1.3 mrg
451 1.1.1.3 mrg Clocks 135.000 32.000 110.000 80.000 100.000 126.000 92.400 36.000
452 1.1.1.3 mrg 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900
453 1.1.1.3 mrg 67.500 16.000 55.000 40.000 50.000 63.000 46.200 18.000
454 1.1.1.3 mrg 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450
455 1.1.1.3 mrg 45.000 10.667 36.667 26.667 33.333 42.000 30.800 12.000
456 1.1.1.3 mrg 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967
457 1.1.1.3 mrg 33.750 8.000 27.500 20.000 25.000 31.500 23.100 9.000
458 1.1.1.3 mrg 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225
459 1.1.1.3 mrg
460 1.1.1.3 mrg
461 1.1.1.3 mrg
462 1.1.1.3 mrg ICS 2494-AM clock generators (found on some Dell motherboards):
463 1.1.1.3 mrg
464 1.1.1.3 mrg Clocks 75.000 77.500 80.000 90.000 25.175 28.322 31.500 36.000
465 1.1.1.3 mrg 100.000 110.000 126.000 135.000 40.000 44.900 50.000 65.000
466 1.1.1.3 mrg 37.500 38.750 40.000 45.000 12.588 14.161 15.750 18.000
467 1.1.1.3 mrg 50.000 55.000 63.000 67.500 20.000 22.450 25.000 32.500
468 1.1.1.3 mrg 25.000 25.833 26.667 30.000 8.392 9.441 10.500 12.000
469 1.1.1.3 mrg 33.333 36.667 42.000 45.000 13.333 14.767 16.667 21.667
470 1.1.1.3 mrg 18.750 19.375 20.000 22.500 6.294 7.081 7.875 9.000
471 1.1.1.3 mrg 25.000 27.500 31.500 33.750 10.000 11.225 12.500 16.250
472 1.1.1.3 mrg
473 1.1.1.3 mrg
474 1.1.1.3 mrg VGAWonder VLB, VGA 1024 VLB, Mach32 and Mach64 owners should only
475 1.1.1.3 mrg specify up to the first 32 frequencies. Any more will be ignored.
476 1.1.1.3 mrg
477 1.1.1.3 mrg Other clock generators that have been used on ATI adapters (which can
478 1.1.1.3 mrg all be said to be clones of one of the above) might generate non-zero
479 1.1.1.3 mrg frequencies for those that are zero above, or vice-versa.
480 1.1.1.3 mrg
481 1.1.1.3 mrg The order of the clocks is very important, although the driver will
482 1.1.1.3 mrg reorder the specified clocks if it deems it appropriate to do so.
483 1.1.1.3 mrg Mach32 and Mach64 owners should note that this order is different than
484 1.1.1.3 mrg what they would use for previous accelerated servers.
485 1.1.1.3 mrg
486 1.1.1.3 mrg
487 1.1.1.3 mrg 5.6.4. Clocks for non-ATI adapters
488 1.1.1.3 mrg
489 1.1.1.3 mrg If no clocks are specified in the xorg.conf, the driver will probe for
490 1.1.1.3 mrg four clocks, the second of which will be assumed to be 28.322 MHz.
491 1.1.1.3 mrg The first clock will typically be 25.175 MHz, but there are
492 1.1.1.3 mrg exceptions. You can include up to four clock frequencies in your
493 1.1.1.3 mrg xorg.conf to specify the actual values used by the adapter. Any more
494 1.1.1.3 mrg will be ignored.
495 1.1.1.3 mrg
496 1.1.1.3 mrg
497 1.1.1.3 mrg 5.7. Option ``nopanel_display''
498 1.1.1.3 mrg
499 1.1.1.3 mrg This specification is only effective when the driver detects that the
500 1.1.1.3 mrg adapter's BIOS has initialised both the digital flat panel and CRT
501 1.1.1.3 mrg interfaces. In such a situation, the driver will normally drive both
502 1.1.1.3 mrg the panel and the CRT. This specification causes the driver to
503 1.1.1.3 mrg disable the digital flat panel and display the screen image on the CRT
504 1.1.1.3 mrg instead, which could potentially allow for larger physical resolutions
505 1.1.1.3 mrg than the panel can handle.
506 1.1.1.3 mrg
507 1.1.1.3 mrg
508 1.1.1.3 mrg 5.8. Option ``crt_display''
509 1.1.1.3 mrg
510 1.1.1.3 mrg This specification is only effective when the driver detects that the
511 1.1.1.3 mrg adapter's BIOS has initialised the digital flat panel interface, but
512 1.1.1.3 mrg has disabled the CRT interface. In such a situation the driver will
513 1.1.1.3 mrg normally drive only the panel. This specification causes the driver
514 1.1.1.3 mrg to instead display the same image on both the panel and the CRT.
515 1.1.1.3 mrg 5.9. Option ``noaccel''
516 1.1.1.3 mrg
517 1.1.1.3 mrg By default, the driver will accelerate draw operations if a Mach64
518 1.1.1.3 mrg CRTC is used to drive the display. As implemented in this driver,
519 1.1.1.3 mrg acceleration does not require a linear video memory aperture. This
520 1.1.1.3 mrg option disables this acceleration.
521 1.1.1.3 mrg
522 1.1.1.3 mrg
523 1.1.1.3 mrg 5.10. Option ``nolinear''
524 1.1.1.3 mrg
525 1.1.1.3 mrg By default, the driver will enable a linear video memory aperture for
526 1.1.1.3 mrg 256-colour and higher depth modes if it is also using a Mach64
527 1.1.1.3 mrg accelerator CRTC or an integrated Mach64 graphics chip. This option
528 1.1.1.3 mrg disables this linear aperture.
529 1.1.1.3 mrg
530 1.1.1.3 mrg On non-Intel platforms, the driver requires a linear aperture and, so,
531 1.1.1.3 mrg this option is ignored.
532 1.1.1.3 mrg
533 1.1.1.3 mrg
534 1.1.1.3 mrg 5.11. Option ``HWCursor'' and Option ``SWCursor''
535 1.1.1.3 mrg
536 1.1.1.3 mrg Option ``HWCursor'', which is the default, specifies that hardware
537 1.1.1.3 mrg facilities are to be used to paint the mouse pointer on the screen.
538 1.1.1.3 mrg Option ``SWCursor'' specifies that the mouse pointer is to be drawn by
539 1.1.1.3 mrg software, which is much slower. If both options are specified, option
540 1.1.1.3 mrg ``SWCursor'' prevails. Currently, these options are only acted upon
541 1.1.1.3 mrg for 256-colour or higher depth modes, if a Mach64 accelerator CRTC, or
542 1.1.1.3 mrg a Mach64 integrated controller is being used. In all other
543 1.1.1.3 mrg situations, a software cursor will be used, regardless of what these
544 1.1.1.3 mrg options specify.
545 1.1.1.3 mrg
546 1.1.1.3 mrg
547 1.1.1.3 mrg 5.12. Option ``SilkenMouse''
548 1.1.1.3 mrg
549 1.1.1.3 mrg This option is only acted upon when a hardware cursor is being used.
550 1.1.1.3 mrg It specifies that the cursor's position on the screen is to be updated
551 1.1.1.3 mrg as quickly as possible when the mouse is moved. This is the default
552 1.1.1.3 mrg behaviour. If this option is negated, the cursor may lag the mouse
553 1.1.1.3 mrg when the X server is very busy.
554 1.1.1.3 mrg
555 1.1.1.3 mrg
556 1.1.1.3 mrg 5.13. Option ``shadowfb''
557 1.1.1.3 mrg
558 1.1.1.3 mrg If this option is enabled, the driver will cause the CPU to do each
559 1.1.1.3 mrg drawing operation first into a shadow frame buffer in system virtual
560 1.1.1.3 mrg memory and then copy the result into video memory. If this option is
561 1.1.1.3 mrg not active, the CPU will draw directly into video memory. Enabling
562 1.1.1.3 mrg this option is beneficial for those systems where reading from video
563 1.1.1.3 mrg memory is, on average, slower than the corresponding read/modify/write
564 1.1.1.3 mrg operation in system virtual memory. This is normally the case for PCI
565 1.1.1.3 mrg or AGP adapters, and, so, this option is enabled by default. For
566 1.1.1.3 mrg other bus types, the default behaviour is to disable this option.
567 1.1.1.3 mrg
568 1.1.1.3 mrg Note that, due to various limitations, this option is forcibly
569 1.1.1.3 mrg disabled when a linear video memory aperture is not enabled, when the
570 1.1.1.3 mrg frame buffer depth is less than 8, or when acceleration is used.
571 1.1.1.3 mrg
572 1.1.1.3 mrg
573 1.1.1.3 mrg 5.14. Option ``dpms''
574 1.1.1.3 mrg
575 1.1.1.3 mrg This option enables the driver's support for VESA's Display Power
576 1.1.1.3 mrg Management Specification.
577 1.1.1.3 mrg
578 1.1.1.3 mrg
579 1.1.1.3 mrg
580 1.1.1.3 mrg 5.15. Option ``backingstore''
581 1.1.1.3 mrg
582 1.1.1.3 mrg This is not specifically a driver option. It is used to enable the
583 1.1.1.3 mrg server's support for backing store, a mechanism by which pixel data
584 1.1.1.3 mrg for occluded window regions is remembered by the server thereby
585 1.1.1.3 mrg alleviating the need to send expose events to X clients when the data
586 1.1.1.3 mrg needs to be redisplayed.
587 1.1.1.3 mrg
588 1.1.1.3 mrg
589 1.1.1.3 mrg 5.16. MemBase address
590 1.1.1.3 mrg
591 1.1.1.3 mrg This specification is only effective for non-PCI Mach64 adapters, and
592 1.1.1.3 mrg is used to override the CPU address at which the adapter will map its
593 1.1.1.3 mrg video memory. Normally, for non-PCI adapters, this address is set by
594 1.1.1.3 mrg a DOS install utility provided with the adapter. The MemBase option
595 1.1.1.3 mrg can also be used to enable the linear aperture in those cases where
596 1.1.1.3 mrg ATI's utility was not, or can not be, used.
597 1.1.1.3 mrg
598 1.1.1.3 mrg For PCI and AGP adapters, this address is determined at system bootup
599 1.1.1.3 mrg according to the PCI Plug'n'Play specification which arbitrates the
600 1.1.1.3 mrg resource requirements of most devices in the system. This means the
601 1.1.1.3 mrg driver can not easily change the linear aperture address.
602 1.1.1.3 mrg
603 1.1.1.3 mrg
604 1.1.1.3 mrg 5.17. Option ``ReferenceClock'' ``frequency''
605 1.1.1.3 mrg
606 1.1.1.3 mrg This option is only applicable to non-Intel platforms, where an
607 1.1.1.3 mrg adapter BIOS is not available to the driver. The option specifies the
608 1.1.1.3 mrg reference frequency used by the adapter's clock generator. The
609 1.1.1.3 mrg default is 14.318 MHz, and other typical values are 28.636, or 29.5
610 1.1.1.3 mrg MHz.
611 1.1.1.3 mrg
612 1.1.1.3 mrg
613 1.1.1.3 mrg 5.18. ClockChip ``name''
614 1.1.1.3 mrg
615 1.1.1.3 mrg This option is only applicable to non-Intel platforms, where an
616 1.1.1.3 mrg adapter BIOS is not available to the driver, and the driver cannot
617 1.1.1.3 mrg reliably determine whether the clock generator the adapter uses is a
618 1.1.1.3 mrg variant of an ATI 18818 (a.k.a. ICS 2595) or an unsupported clock
619 1.1.1.3 mrg generator. The only values that are acted upon are ``ATI 18818-0'' or
620 1.1.1.3 mrg ``ATI 18818-1''. From this specification, the driver derives a
621 1.1.1.3 mrg reference divider of 43 or 46 (respectively) for use in clock
622 1.1.1.3 mrg programming calculations. The driver's default behaviour, in this
623 1.1.1.3 mrg case, is to assume an unsupported clock generator, which means it will
624 1.1.1.3 mrg treat it as a fixed-frequency clock generator, as described under the
625 1.1.1.3 mrg heading ``Clocks for unsupported programmable clock generators''
626 1.1.1.3 mrg above.
627 1.1.1.3 mrg
628 1.1.1.3 mrg
629 1.1.1.3 mrg 6. Video modes
630 1.1.1.3 mrg
631 1.1.1.3 mrg Mode timings can be derived from the information in X's doc
632 1.1.1.3 mrg subdirectory. However, it is no longer required to specify such
633 1.1.1.3 mrg timings in an xorg.conf's ``Monitor'' section(s), if only standard
634 1.1.1.3 mrg mode timings are to be used. The server automatically inserts VESA
635 1.1.1.3 mrg standard mode timings in every ``Monitor'' section, and these modes
636 1.1.1.3 mrg will be checked first for mode constraints (monitor sync tolerances,
637 1.1.1.3 mrg video memory size, etc.).
638 1.1.1.3 mrg
639 1.1.1.3 mrg Furthermore, it is also no longer required to specify mode names in
640 1.1.1.3 mrg ``Display'' subsections. Should no mode names be specified (or those
641 1.1.1.3 mrg specified do not yield a usable mode), the server will automatically
642 1.1.1.3 mrg select as a default resolution the largest usable mode, whether or not
643 1.1.1.3 mrg the chosen mode is specified in the corresponding ``Monitor'' section.
644 1.1.1.3 mrg
645 1.1.1.3 mrg
646 1.1.1.3 mrg For a digital flat panel, any sync tolerances should be removed from
647 1.1.1.3 mrg the corresponding ``Monitor'' section. The driver will automatically
648 1.1.1.3 mrg calculate these from the mode that is active on server entry. The
649 1.1.1.3 mrg driver also inserts timings for a mode called "Native panel mode" that
650 1.1.1.3 mrg represents the panel's native resolution.
651 1.1.1.3 mrg
652 1.1.1.3 mrg
653 1.1.1.3 mrg 7. Known problems and limitations
654 1.1.1.3 mrg
655 1.1.1.3 mrg There are several known problems or limitations related to the ATI
656 1.1.1.3 mrg driver. They include:
657 1.1.1.3 mrg
658 1.1.1.3 mrg
659 1.1.1.3 mrg o When using a Mach64's accelerator CRTC, the virtual resolution must
660 1.1.1.3 mrg be less than 8192 pixels wide. The VGA CRTC further limits the
661 1.1.1.3 mrg virtual resolution width to less than 4096 pixels, or to less than
662 1.1.1.3 mrg 2048 pixels for adapters based on 18800-x's (with 256kB of memory)
663 1.1.1.3 mrg and on Mach64 integrated controllers. These are hardware limits
664 1.1.1.3 mrg that cannot be circumvented.
665 1.1.1.3 mrg
666 1.1.1.3 mrg o Virtual resolutions requiring more than 1MB of video memory (256kB
667 1.1.1.3 mrg in the monochrome case) are not supported by the VGA CRTC on
668 1.1.1.3 mrg 88800GX and 88800CX adapters. This is a hardware limit that cannot
669 1.1.1.3 mrg be circumvented.
670 1.1.1.3 mrg
671 1.1.1.3 mrg o Due to hardware limitations, doublescanned modes are not supported
672 1.1.1.3 mrg by the accelerator CRTC in 88800GX, 88800CX, 264CT and 264ET
673 1.1.1.3 mrg adapters.
674 1.1.1.3 mrg
675 1.1.1.3 mrg o The ``VScan'' modeline parameter is only supported when using the
676 1.1.1.3 mrg VGA CRTC.
677 1.1.1.3 mrg
678 1.1.1.3 mrg o Interlaced modes are not supported on 18800-x and 28800-x adapters
679 1.1.1.3 mrg when using a virtual resolution that is 2048 pixels or wider. When
680 1.1.1.3 mrg using a 18800-x with 256kB of video memory in 256-colour modes,
681 1.1.1.3 mrg this limit is reduced to 1024. This is yet another hardware
682 1.1.1.3 mrg limitation that cannot be circumvented.
683 1.1.1.3 mrg
684 1.1.1.3 mrg o Video memory banking does not work in monochrome and 16-colour
685 1.1.1.3 mrg modes on 18800-x adapters. This appears to be another hardware
686 1.1.1.3 mrg limit, but this conclusion cannot be confirmed at this time. The
687 1.1.1.3 mrg driver's default behaviour in this case is to limit video memory to
688 1.1.1.3 mrg 256kB.
689 1.1.1.3 mrg
690 1.1.1.3 mrg o Video memory corruption can still occur during mode switches on
691 1.1.1.3 mrg 18800-x adapters. Symptoms of this problem include garbled fonts
692 1.1.1.3 mrg on return to text mode, and various effects (snow, dashed lines,
693 1.1.1.3 mrg etc) on initial entry into a graphics mode. In the first case, the
694 1.1.1.3 mrg workaround is to use some other means of restoring the text font.
695 1.1.1.3 mrg On Linux, this can be accomplished with the kbd or svgalib
696 1.1.1.3 mrg packages. In the second case, xrefresh(1) will usually clean up
697 1.1.1.3 mrg the image. No complete solution to this problem is currently
698 1.1.1.3 mrg known. It appears this corruption occurs due to either video
699 1.1.1.3 mrg memory bandwidth or RAMDAC limitations, and so the driver will
700 1.1.1.3 mrg limit mode clocks to 40MHz.
701 1.1.1.3 mrg
702 1.1.1.3 mrg o There is some controversy over what the maximum allowed clock
703 1.1.1.3 mrg frequency should be on 264xT and 3D Rage adapters. For now, clocks
704 1.1.1.3 mrg will, by default, be limited to 80MHz, 135MHz, 170MHz, 200MHz or
705 1.1.1.3 mrg 230MHz, depending on the specific controller. This limit can only
706 1.1.1.3 mrg be increased (up to a driver-calculated absolute maximum) through
707 1.1.1.3 mrg the DACSpeed specification in xorg.conf. Be aware however that
708 1.1.1.3 mrg doing so is untested and might damage the adapter.
709 1.1.1.3 mrg
710 1.1.1.3 mrg o Except as in the previous items, clocks are limited to 80MHz on
711 1.1.1.3 mrg most adapters, although many are capable of higher frequencies.
712 1.1.1.3 mrg This will eventually be fixed in a future release.
713 1.1.1.3 mrg
714 1.1.1.3 mrg o The use of a laptop's hot-keys to switch displays while this driver
715 1.1.1.3 mrg is active can cause lockups and/or other woes, and is therefore not
716 1.1.1.3 mrg recommended. It is not currently possible to solve this problem.
717 1.1.1.3 mrg
718 1.1.1.3 mrg
719 1.1.1.3 mrg o In situations where the driver is to simultaneously display on both
720 1.1.1.3 mrg a panel and a CRT, the same image will be seen on both. In
721 1.1.1.3 mrg particular, this means the CRT must be able to synchronise with the
722 1.1.1.3 mrg timings of the panel's native resolution. This is quite evident
723 1.1.1.3 mrg when the panel has ``odd-ball'' dimensions, such as 1400x1050, a
724 1.1.1.3 mrg resolution not commonly possible on CRTs or projection equipment.
725 1.1.1.3 mrg
726 1.1.1.3 mrg Also, the display of independent images on the panel and CRT is not
727 1.1.1.3 mrg currently implemented, and might never be, pending resolution of
728 1.1.1.3 mrg the previous item.
729 1.1.1.3 mrg
730 1.1.1.3 mrg
731 1.1.1.3 mrg Support for the following will be added in a future release:
732 1.1.1.3 mrg
733 1.1.1.3 mrg o Mach32's accelerator CRTC. This support is the first step towards
734 1.1.1.3 mrg accelerated support for Mach32's, Mach8's, 8514/A's and other
735 1.1.1.3 mrg clones.
736 1.1.1.3 mrg
737 1.1.1.3 mrg o Colour depth greater than 8 on non-integrated controllers, where
738 1.1.1.3 mrg permitted by the hardware.
739 1.1.1.3 mrg
740 1.1.1.3 mrg o Mach32, Mach8 and 8514/A Draw Engines.
741 1.1.1.3 mrg
742 1.1.1.3 mrg o Hardware cursors where implemented by hardware. This has already
743 1.1.1.3 mrg been done for Mach64 integrated controllers.
744 1.1.1.3 mrg
745 1.1.1.3 mrg o TVOut, i.e. the ability to use a television screen as a monitor.
746 1.1.1.3 mrg
747 1.1.1.3 mrg o Motion Video, i.e. displaying an asynchronous data stream (TV
748 1.1.1.3 mrg signal, DVD, etc.) in a window or full-screen.
749 1.1.1.3 mrg
750 1.1.1.3 mrg o 3D operations.
751 1.1.1.3 mrg
752 1.1.1.3 mrg 8. Reporting problems
753 1.1.1.3 mrg
754 1.1.1.3 mrg If you are experiencing problems that are not already recorded in this
755 1.1.1.3 mrg document, first ensure that you have the latest current release of
756 1.1.1.3 mrg this driver and the Xorg X server. Check the server's log (usually
757 1.1.1.4 mrg found in /var/log/Xorg.0.log) and http://www.x.org/releases/individual/
758 1.1.1.3 mrg if you are uncertain.
759 1.1.1.3 mrg
760 1.1.1.3 mrg Secondly, please check Xorg's doc directory for additional
761 1.1.1.3 mrg information.
762 1.1.1.3 mrg
763 1.1.1.3 mrg Thirdly, a scan through the comp.windows.x.i386unix and
764 1.1.1.3 mrg comp.os.linux.x newsgroups, the xorg mailing list archives at
765 1.1.1.3 mrg http://lists.freedesktop.org/mailman/listinfo/xorg, and the Xorg bug
766 1.1.1.3 mrg database at https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
767 1.1.1.3 mrg can also prove useful in resolving problems.
768 1.1.1.3 mrg
769 1.1.1.3 mrg If you are still experiencing problems, you can send non-HTMLised e-
770 1.1.1.3 mrg mail to <mailto:xorg (a] lists.fredesktop.org>. Please be as specific as
771 1.1.1.3 mrg possible when describing the problem(s), and include an unedited copy
772 1.1.1.3 mrg of the server's log and the xorg.conf file used.
773 1.1.1.3 mrg
774 1.1.1.3 mrg
775 1.1.1.3 mrg
776 1.1.1.3 mrg 9. Driver history
777 1.1.1.3 mrg
778 1.1.1.3 mrg The complete history of the driver is rather cloudy. The following is
779 1.1.1.3 mrg more than likely to be incomplete and inaccurate.
780 1.1.1.3 mrg
781 1.1.1.3 mrg Apparently, Per Lindqvist first got a driver working with an early ATI
782 1.1.1.3 mrg adapter under X386 1.1a. This original driver might have actually
783 1.1.1.3 mrg been based on a non-functional ATI driver written by Thomas Roell
784 1.1.1.3 mrg (currently of Xi Graphics).
785 1.1.1.3 mrg
786 1.1.1.3 mrg Then Doug Evans added support for the ATI VGA Wonder XL, trying in the
787 1.1.1.3 mrg process to make the driver work with all other ATI adapters available
788 1.1.1.3 mrg at the time.
789 1.1.1.3 mrg
790 1.1.1.3 mrg Rik Faith obtained the X11R4 driver from Doug Evans in the summer of
791 1.1.1.3 mrg 1992 and ported the code to the X386 part of X11R5. This subsequently
792 1.1.1.3 mrg became part of XFree86.
793 1.1.1.3 mrg
794 1.1.1.3 mrg Marc Aurele La France took over development and maintenance of the
795 1.1.1.3 mrg driver in the fall of 1993 after Rik got rid of his VGA Wonder
796 1.1.1.3 mrg adapter.
797 1.1.1.3 mrg
798 1.1.1.3 mrg
799 1.1.1.3 mrg 10. Driver versions
800 1.1.1.3 mrg
801 1.1.1.3 mrg Due to the introduction of loadable drivers in XFree86 4.0, it has
802 1.1.1.3 mrg become necessary to track driver versions separately. Driver releases
803 1.1.1.3 mrg use the following version numbering scheme.
804 1.1.1.3 mrg
805 1.1.1.3 mrg Version 1 of this driver is the one I inherited from Rik Faith. This
806 1.1.1.3 mrg is the version found in XFree86 2.0 and 2.1.
807 1.1.1.3 mrg
808 1.1.1.3 mrg Version 2 is my first rewrite of this code which only ended up being a
809 1.1.1.3 mrg partially unsuccessful attempt at generalising the driver for all VGA
810 1.1.1.3 mrg Wonder, Mach32, and early Mach64 adapters. Various releases of this
811 1.1.1.3 mrg version of the driver can be found in XFree86 2.1.1, 3.1, 3.1.1 and
812 1.1.1.3 mrg 3.1.2.
813 1.1.1.3 mrg
814 1.1.1.3 mrg Version 3 represents my second rewrite (although a rather lame one as
815 1.1.1.3 mrg rewrites go). Into version 3, I introduced clock programming for
816 1.1.1.3 mrg Mach64 adapters and merged in the old ati_test debugging tool. This
817 1.1.1.3 mrg is the version found in XFree86 3.2, 3.3 and 3.3.1.
818 1.1.1.3 mrg
819 1.1.1.3 mrg Version 4 is a rather major restructuring of version 3, which became
820 1.1.1.3 mrg larger than I could comfortably handle in one source file. This is
821 1.1.1.3 mrg the version found in XFree86 3.3.2, 3.3.3, 3.3.3.1, 3.3.3.2, 3.3.4,
822 1.1.1.3 mrg 3.3.5 and 3.3.6.
823 1.1.1.3 mrg
824 1.1.1.3 mrg Version 5 is an almost complete restructuring of version 4 to fit in
825 1.1.1.3 mrg the newer driver API of XFree86 4.0 and later.
826 1.1.1.3 mrg
827 1.1.1.3 mrg The introduction of version 6 is a first swipe at porting the driver
828 1.1.1.3 mrg to non-Intel architectures.
829 1.1 mrg
830 1.1 mrg All questions regarding this software should be directed at the
831 1.1 mrg Xorg mailing list:
832 1.1 mrg
833 1.1 mrg http://lists.freedesktop.org/mailman/listinfo/xorg
834 1.1 mrg
835 1.1.1.2 mrg Please submit bug reports to the Xorg bugzilla:
836 1.1.1.2 mrg
837 1.1.1.2 mrg https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
838 1.1.1.2 mrg
839 1.1 mrg The master development code repository can be found at:
840 1.1 mrg
841 1.1 mrg git://anongit.freedesktop.org/git/xorg/driver/xf86-video-mach64
842 1.1 mrg
843 1.1 mrg http://cgit.freedesktop.org/xorg/driver/xf86-video-mach64
844 1.1 mrg
845 1.1.1.2 mrg For patch submission instructions, see:
846 1.1.1.2 mrg
847 1.1.1.2 mrg http://www.x.org/wiki/Development/Documentation/SubmittingPatches
848 1.1.1.2 mrg
849 1.1 mrg For more information on the git code manager, see:
850 1.1 mrg
851 1.1 mrg http://wiki.x.org/wiki/GitPage
852 1.1.1.2 mrg
853 1.1.1.3 mrg
854