Home | History | Annotate | Line # | Download | only in dist
README revision 1.1.1.5
      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.5  mrg   found in /var/log/Xorg.0.log) and https://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.5  mrg   https://lists.x.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.1.5  mrg   -----------------------------------------------------------------------
    831  1.1.1.5  mrg 
    832      1.1  mrg All questions regarding this software should be directed at the
    833      1.1  mrg Xorg mailing list:
    834      1.1  mrg 
    835  1.1.1.5  mrg         https://lists.freedesktop.org/mailman/listinfo/xorg
    836  1.1.1.2  mrg 
    837  1.1.1.5  mrg The primary development code repository can be found at:
    838      1.1  mrg 
    839  1.1.1.5  mrg         https://gitlab.freedesktop.org/xorg/driver/xf86-video-mach64
    840      1.1  mrg 
    841  1.1.1.5  mrg Please submit bug reports and requests to merge patches there.
    842      1.1  mrg 
    843  1.1.1.2  mrg For patch submission instructions, see:
    844  1.1.1.2  mrg 
    845  1.1.1.5  mrg 	https://www.x.org/wiki/Development/Documentation/SubmittingPatches
    846  1.1.1.3  mrg 
    847