~ubuntu-branches/ubuntu/trusty/xserver-xorg-video-mach64-lts-xenial/trusty-proposed

« back to all changes in this revision

Viewing changes to README

  • Committer: Package Import Robot
  • Author(s): Timo Aaltonen
  • Date: 2016-05-03 14:02:37 UTC
  • Revision ID: package-import@ubuntu.com-20160503140237-y946gbjc7p6fg9fn
Tags: upstream-6.9.5
ImportĀ upstreamĀ versionĀ 6.9.5

Show diffs side-by-side

added added

removed removed

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