Home | History | Annotate | only in /xsrc/external/mit/xf86-video-mach64/dist
Up to higher level directory
NameDateSize
aclocal.m412-Jul-2026454.4K
ChangeLog12-Jul-2026380.4K
compile12-Jul-20267.4K
config.guess12-Jul-202649.5K
config.h.in12-Jul-20262.6K
config.sub12-Jul-202636K
configure12-Jul-2026656.2K
configure.ac12-Jul-20267.6K
COPYING21-Aug-20095.1K
depcomp12-Jul-202623.1K
INSTALL20-Jul-201515.4K
install-sh12-Jul-202615.1K
ltmain.sh12-Jul-2026324.5K
Makefile.am23-Jul-20111.3K
Makefile.in12-Jul-202627.6K
man/12-Jul-2026
missing12-Jul-20267.5K
README12-Jul-202636.2K
src/09-Sep-2026

README

      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 https://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   https://lists.x.org/mailman/listinfo/xorg, and the Xorg bug
    766   database at https://gitlab.freedesktop.org/groups/xorg/-/issues
    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 (a] 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   -----------------------------------------------------------------------
    831 
    832 All questions regarding this software should be directed at the
    833 Xorg mailing list:
    834 
    835         https://lists.freedesktop.org/mailman/listinfo/xorg
    836 
    837 The primary development code repository can be found at:
    838 
    839         https://gitlab.freedesktop.org/xorg/driver/xf86-video-mach64
    840 
    841 Please submit bug reports and requests to merge patches there.
    842 
    843 For patch submission instructions, see:
    844 
    845 	https://www.x.org/wiki/Development/Documentation/SubmittingPatches
    846 
    847