home *** CD-ROM | disk | FTP | other *** search
/ Enter 1999 April - Disc 1 / enter_04_1999_1.iso / OS2 / XFREE86 / XDOC.ZIP / XFree86 / lib / X11 / doc / README.ati < prev    next >
Encoding:
Text File  |  1999-01-09  |  27.7 KB  |  793 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                            ATI Adapters README file
  11.  
  12.                              Marc Aurele La France
  13.  
  14.                                 1998 January 28
  15.  
  16.  
  17.  
  18.                                    Abstract
  19.  
  20.      This is the README for the XFree86 ATI driver included in this
  21.      release.
  22.  
  23.  
  24.  
  25. 1.  Statement of intent
  26.  
  27. Generally speaking, the driver is intended for all ATI video adapters, provid-
  28. ing maximum video function within hardware limitations.  The driver is also
  29. intended to optionally provide the same level of support for generic VGA or
  30. 8514/A adapters.  This driver is still being actively developed, meaning that
  31. it currently does not yet fully meet these goals.
  32.  
  33. The driver will provide
  34.  
  35.    o accelerated support if an ATI accelerator is detected and the user has not
  36.      requested that this support be disabled;  otherwise
  37.  
  38.    o accelerated support if a non-ATI 8514/A-capable adapter is detected and
  39.      the user has requested such support;  otherwise
  40.  
  41.    o unaccelerated SuperVGA support if an ATI VGA-capable adapter is detected;
  42.      otherwise
  43.  
  44.    o generic VGA support if a non-ATI VGA-capable adapter is detected and the
  45.      user has requested such support.
  46.  
  47. Thus, the support provided not only depends on what the driver detects in the
  48. system, but also, on what the user specifies in the XF86Config file.  See the
  49. "XF86Config specifications" section below for details.
  50.  
  51. If none of the above conditions are met, the ATI driver will essentially dis-
  52. able itself to allow other drivers to examine the system.
  53.  
  54.  
  55. 2.  A note on acceleration
  56.  
  57. The meaning of "acceleration", as used in this document, needs to be clarified.
  58. Two of the many components in an accelerator are the CRT controller (CRTC) and
  59. the Draw Engine.  This is in addition to another CRTC that, generally, is also
  60. present in the system (often in the same chip) and typically provides EGA, VGA
  61. or SuperVGA functionality.
  62.  
  63.  
  64. ATI Adapters README file                                                      1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ATI Adapters README file                                                      2
  71.  
  72.  
  73.  
  74. A CRTC is the component of a graphics controller that is responsible for read-
  75. ing video memory for output to the screen.  A Draw Engine is an accelerator
  76. component that can be programmed to manipulate video memory contents, thus
  77. freeing the CPU for other tasks.
  78.  
  79. When the VGA CRTC is used, all drawing operations into video memory are the
  80. responsibility of the system's CPU, i.e. no Draw Engine can be used.  On the
  81. other hand, if the accelerator's CRTC is chosen to drive the screen, the Draw
  82. Engine can also be used for drawing operations, although the CPU can still be
  83. used for this purpose if it can access the accelerator's video memory.
  84.  
  85. Video acceleration refers to the programming of an accelerator's Draw Engine to
  86. offload drawing operations from the CPU, and thus also implies the use of the
  87. accelerator's CRTC.
  88.  
  89.  
  90. 3.  Current implementation for ATI adapters
  91.  
  92. The driver currently supports the SuperVGA capabilities of all ATI adapters
  93. except some early Mach8 and Mach32 adapters that do not provide the required
  94. functionality.  This support works for monochrome, 16-colour and 256-colour
  95. video modes, if one of the following ATI graphics controller chips is present:
  96.  
  97.      VGAWonder series:  18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6
  98.         Mach32 series:  68800-3, 68800-6, 68800AX, 68800LX
  99.         Mach64 series:  88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX,
  100.                         264CT, 264ET, 264VT, 264GT (3D Rage), 264VT-B, 264VT3,
  101.                         264VT4, 264GT-B (3D Rage II), 264GTIIc (3D Rage IIc),
  102.                         264GT3 (3D Rage Pro), 264LT (3D Rage LT), 264LTPro
  103.                         (3D Rage LT Pro)
  104.  
  105.  
  106. The driver also supports 32K, 64K and 16M-colour modes on the 264xT series of
  107. adapters using the accelerator CRTC (but not the VGA CRTC).  This support is as
  108. yet unaccelerated.
  109.  
  110. Adapters based on the above chips have been marketed under a rather large num-
  111. ber of names over the years.  Among them are:
  112.  
  113.      VGAWonder series:  VGAWonder V3, VGAWonder V4, VGAWonder V5, VGAWonder+,
  114.                         VGAWonder XL, VGAWonder XL24, VGA Basic 16, VGA Edge,
  115.                         VGA Edge 16, VGA Integra, VGA Charger, VGAStereo F/X,
  116.                         VGA 640, VGA 800, VGA 1024, VGA 1024D, VGA 1024 XL,
  117.                         VGA 1024 DXL, VGA 1024 VLB
  118.          Mach8 series:  Graphics Ultra, Graphics Vantage, VGAWonder GT
  119.                         (None of the 8514/Ultra and 8514 Vantage series is
  120.                          supported at this time)
  121.         Mach32 series:  Graphics Ultra+, Graphics Ultra Pro, Graphics Wonder,
  122.                         Graphics Ultra XLR, Graphics Ultra AXO, VLB mach32-D,
  123.                         PCI mach32-D, ISA mach32
  124.         Mach64 series:  Graphics Xpression, Graphics Pro Turbo, Win Boost,
  125.                         Win Turbo, Graphics Pro Turbo 1600, Video Xpression,
  126.                         3D Xpression, Video Xpression+, 3D Xpression+,
  127.                         All-In-Wonder, All-In-Wonder PRO, 3D Pro Turbo, ATI-TV,
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ATI Adapters README file                                                      3
  137.  
  138.  
  139.  
  140.                         XPERT@Play, XPERT@Work, XPERT XL
  141.  
  142.  
  143. VGAWonder, Mach8 and Mach32 ISA adapters are available with or without a mouse.
  144.  
  145. These adapters are available with a variety of clock generators and RAMDACs.
  146. The 264xT series of chips are integrated controllers, meaning that they include
  147. a programmable clock generator and a RAMDAC.  See the "XF86Config specifica-
  148. tions" section below for details.
  149.  
  150. This driver still does not provide support for accelerated drawing to the
  151. screen.  This means that all drawing is done by the CPU, rather than by any
  152. accelerator present in the system.  This can make opaque moves, for example,
  153. quite "jerky".  Thus, given that IBM 8514/A and ATI Mach8 do not allow CPU
  154. access to their frame buffer, the driver will currently ignore these accelera-
  155. tors.  Most Mach32 adapters provide both accelerated function and VGA function-
  156. ality, but the driver currently only uses the VGA.
  157.  
  158. The driver *does* however support the accelerator CRTC present in all ATI
  159. Mach64 adapters.  For 256-colour, and higher depth modes, this support will be
  160. used by default, although an XF86Config option can be specified to use the
  161. SuperVGA CRTC instead.  A linear video memory aperture is also available in
  162. 256-colour and higher depth modes and enabled by default if a 264xT controller
  163. is detected or, on 88800 controllers, if the accelerator CRTC is used.
  164. XF86Config options are available to disable this aperture, or (on non-PCI
  165. adapters) enable it or move it to some other address.
  166.  
  167.  
  168. 4.  Current implementation of generic VGA support for non-ATI adapters
  169.  
  170. Support for generic VGA with non-ATI adapters is also implemented, but has
  171. undergone only limited testing.  The driver will intentionally disallow the use
  172. of this support with ATI adapters.  This support must be explicitly requested
  173. through an XF86Config ChipSet specification.  This prevents the current generic
  174. driver from being disabled.
  175.  
  176. This driver's generic VGA support is intended as an extension of that provided
  177. by the current generic driver.  Specifically, within the architectural bounds
  178. defined by IBM's VGA standard, this driver will allow the use of any 256-colour
  179. mode, and any dot clock frequencies both of which allow for many more mode pos-
  180. sibilities.
  181.  
  182. The driver will enforce the following limitations derived from IBM's original
  183. VGA implementation:
  184.  
  185.    o There can only be a set of four (non-programmable) clocks to choose from.
  186.  
  187.    o Video memory is limited to 256kB in monochrome and 16-colour modes.
  188.  
  189.    o Video memory is limited to 64kB in 256-colour modes.
  190.  
  191.    o Interlaced modes are not available.
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ATI Adapters README file                                                      4
  203.  
  204.  
  205.  
  206. 5.  XF86Config specifications
  207.  
  208. Except for clocks, the driver does not require any XF86Config specifications of
  209. its own for default operation.  The driver's behaviour can however be modified
  210. by the following specifications.
  211.  
  212. 5.1  ChipSet "name"
  213.  
  214. The default ChipSet name for this driver is "ati".
  215.  
  216. If "ativga" is specified instead, the driver will not use any ATI accelerator
  217. CRTC it detects, relying instead on any detected ATI VGA CRTC to provide the
  218. screen image.
  219.  
  220. A ChipSet name of "ibmvga" enables the driver's generic VGA support, but only
  221. for non-ATI adapters.  If an ATI adapter is detected, the driver will operate
  222. as if "ativga" had been specified instead.
  223.  
  224. For compatibility with other XFree86 servers, both past and present, that sup-
  225. port ATI adapters, the driver also recognizes "vgawonder", "mach8", "mach32"
  226. and "mach64" as chipset names.  In this version of the driver, all such names
  227. are equivalent to "ati".  In some future release, each name will have a differ-
  228. ent meaning to be documented at that time.
  229.  
  230. 5.2  Clocks
  231.  
  232. For the purpose of specifying a clock line in your XF86Config, one of four dif-
  233. ferent situations can occur, as follows.
  234.  
  235. Those configuring the driver's generic VGA support for a non-ATI adapter, can
  236. skip ahead to the "Clocks for non-ATI adapters" section below.  Those not try-
  237. ing to configure the driver for a Mach64 adapter, can skip ahead to the "Clocks
  238. for fixed clock generators on ATI adapters" section below.
  239.  
  240. The very earliest Mach64 adapters use fixed (i.e. non-programmable) clock gen-
  241. erators.  Very few of these (mostly prototypes) are known to exist, but if you
  242. have one of these, you can also skip ahead to the "Clocks for fixed clock gen-
  243. erators on ATI adapters" section below.
  244.  
  245. The two cases that are left deal with programmable clock generators, which are
  246. used on the great majority of Mach64 adapters.
  247.  
  248. If you are uncertain which situation applies to your adapter, you can run a
  249. clock probe with the command "X -probeonly".
  250.  
  251. 5.2.1  Clocks for supported programmable clock generators
  252.  
  253. At bootup, video BIOS initialization programmes an initial set of frequencies.
  254. Two of these are reserved to allow the setting of modes that do not use a fre-
  255. quency from this initial set.  One of these reserved slots is used by the BIOS
  256. mode set routine, the other by the particular driver used (e.g. MS-Windows,
  257. AutoCAD, X, etc.).  The clock numbers reserved in this way are dependent on the
  258. particular clock generator used by the adapter.
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ATI Adapters README file                                                      5
  269.  
  270.  
  271.  
  272. The driver currently supports all programmable clock generators known to exist
  273. on Mach64 adapters.  In this case, the driver will completely ignore any
  274. XF86Config clock specification, and programme the clock generator as needed by
  275. the modes used during the X session.
  276.  
  277. 5.2.2  Clocks for unsupported programmable clock generators
  278.  
  279. This case is unlikely to occur, but is documented for the sake of completeness.
  280.  
  281. In this situation, the driver will probe the adapter for clock frequencies
  282. unless XF86Config clocks are already specified.  In either case, the driver
  283. will then attempt to normalize the clocks to one of the following specifica-
  284. tions:
  285.  
  286.      BIOS setting 1:
  287.  
  288.        Clocks   0.000 110.000 126.000 135.000  50.350  56.640  63.000  72.000
  289.                 0.000  80.000  75.000  65.000  40.000  44.900  49.500  50.000
  290.                 0.000  55.000  63.000  67.500  25.180  28.320  31.500  36.000
  291.                 0.000  40.000  37.500  32.500  20.000  22.450  24.750  25.000
  292.  
  293.  
  294.  
  295.      BIOS setting 2:
  296.  
  297.        Clocks   0.000 110.000 126.000 135.000  25.180  28.320  31.500  36.000
  298.                 0.000  80.000  75.000  65.000  40.000  44.900  49.500  50.000
  299.                 0.000  55.000  63.000  67.500  12.590  14.160  15.750  18.000
  300.                 0.000  40.000  37.500  32.500  20.000  22.450  24.750  25.000
  301.  
  302.  
  303.  
  304.      BIOS setting 3:
  305.  
  306.        Clocks   0.000   0.000   0.000   0.000  25.180  28.320   0.000   0.000
  307.                 0.000   0.000   0.000   0.000   0.000   0.000   0.000   0.000
  308.                 0.000   0.000   0.000   0.000  12.590  14.160   0.000   0.000
  309.                 0.000   0.000   0.000   0.000   0.000   0.000   0.000   0.000
  310.  
  311.  
  312. If the driver matches the clocks to the third setting above, functionality will
  313. be *extremely* limited (assuming the driver works at all).
  314.  
  315. 5.2.3  Clocks for fixed clock generators on ATI adapters
  316.  
  317. This section applies to all ATI adapters except all but the very earliest
  318. Mach64's.
  319.  
  320. One of the following clocks specifications (or an initial subset thereof) can
  321. be used depending on what the adapter uses to generate dot clocks:
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. ATI Adapters README file                                                      6
  335.  
  336.  
  337.  
  338.      Crystals (VGA Wonder V3 and V4 adapters only):
  339.  
  340.        Clocks  50.000  56.644   0.000  44.900  44.900  50.000   0.000  36.000
  341.                25.000  28.322   0.000  22.450  22.450  25.000   0.000  18.000
  342.                16.667  18.881   0.000  14.967  14.967  16.667   0.000  12.000
  343.                12.500  14.161   0.000  11.225  11.225  12.500   0.000   9.000
  344.  
  345.  
  346.  
  347.      ATI 18810 clock generator:
  348.  
  349.        Clocks  30.240  32.000  37.500  39.000  42.954  48.771   0.000  36.000
  350.                40.000  56.644  75.000  65.000  50.350  56.640   0.000  44.900
  351.                15.120  16.000  18.750  19.500  21.477  24.386   0.000  18.000
  352.                20.000  28.322  37.500  32.500  25.175  28.320   0.000  22.450
  353.                10.080  10.667  12.500  13.000  14.318  16.257   0.000  12.000
  354.                13.333  18.881  25.000  21.667  16.783  18.880   0.000  14.967
  355.                 7.560   8.000   9.375   9.750  10.739  12.193   0.000   9.000
  356.                10.000  14.161  18.750  16.250  12.586  14.160   0.000  11.225
  357.  
  358.  
  359.  
  360.      ATI 18811-0 and ATI 18812-0 clock generators:
  361.  
  362.        Clocks  30.240  32.000 110.000  80.000  42.954  48.771  92.400  36.000
  363.                39.910  44.900  75.000  65.000  50.350  56.640   0.000  44.900
  364.                15.120  16.000  55.000  40.000  21.477  24.386  46.200  18.000
  365.                19.955  22.450  37.500  32.500  25.175  28.320   0.000  22.450
  366.                10.080  10.667  36.667  26.667  14.318  16.257  30.800  12.000
  367.                13.303  14.967  25.000  21.667  16.783  18.880   0.000  14.967
  368.                 7.560   8.000  27.500  20.000  10.739  12.193  23.100   9.000
  369.                 9.978  11.225  18.750  16.250  12.588  14.160   0.000  11.225
  370.  
  371.  
  372.  
  373.      ATI 18811-1 and ATI 18811-2 clock generators:
  374.  
  375.        Clocks 135.000  32.000 110.000  80.000 100.000 126.000  92.400  36.000
  376.                39.910  44.900  75.000  65.000  50.350  56.640   0.000  44.900
  377.                67.500  16.000  55.000  40.000  50.000  63.000  46.200  18.000
  378.                19.955  22.450  37.500  32.500  25.175  28.320   0.000  22.450
  379.                45.000  10.667  36.667  26.667  33.333  42.000  30.800  12.000
  380.                13.303  14.967  25.000  21.667  16.783  18.880   0.000  14.967
  381.                33.750   8.000  27.500  20.000  25.000  31.500  23.100   9.000
  382.                 9.978  11.225  18.750  16.250  12.588  14.160   0.000  11.225
  383.  
  384.  
  385. Mach32 and Mach64 owners should only specify up to the first 32 frequencies.
  386.  
  387. Other clock generators that have been used on ATI adapters (which can all be
  388. said to be clones of one of the above) might generate non-zero frequencies for
  389. those that are zero above, or vice-versa.
  390.  
  391. The order of the clocks *is* very important, although the driver will reorder
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. ATI Adapters README file                                                      7
  401.  
  402.  
  403.  
  404. the clocks if it deems it appropriate to do so.  Mach32 and Mach64 owners
  405. should note that this order is different than what they would use for the
  406. accelerated servers.
  407.  
  408. 5.2.4  Clocks for non-ATI adapters
  409.  
  410. If no clocks are specified in the XF86Config, the driver will probe for four
  411. clocks, the second of which will be assumed to be 28.322MHz.  You can include
  412. up to four clock frequencies in your XF86Config to specify the actual values
  413. used by the adapter.  Any more will be ignored.
  414.  
  415. 5.3  Option "nolinear"
  416.  
  417. By default, the driver will enable a linear video memory aperture for
  418. 256-colour and higher depth modes if it is also using a Mach64 accelerator CRTC
  419. or an integrated Mach64 graphics chip.  This option disables this linear aper-
  420. ture.  Currently, this also disables support for more than 256 colours.
  421.  
  422. 5.4  MemBase address
  423.  
  424. This specification is only effective for non-PCI Mach64 adapters, and is used
  425. to override the CPU address at which the adapter will map its video memory.
  426. Normally, for non-PCI adapters, this address is set by a DOS install utility
  427. provided with the adapter.  The MemBase option can also be used to enable the
  428. linear aperture in those cases where ATI's utility was not, or can not be,
  429. used.
  430.  
  431. For PCI adapters, this address is determined at system bootup according to the
  432. PCI Plug'n'Play specification which arbitrates the resource requirements of
  433. most devices in the system.  This means the driver can not easily change the
  434. linear aperture address.
  435.  
  436. 5.5  Modelines
  437.  
  438. Modes can be derived from the information in XFree86's doc directory.  If you
  439. do not specify a "modes" line in the display subsection of the appropriate
  440. screen section of your XF86Config, the driver will generate a default mode and
  441. attempt to use it.  The timings for the default mode are derived from the tim-
  442. ings of the mode (usually a text mode) in effect when the server is started.
  443.  
  444.  
  445. 6.  Known problems and limitations
  446.  
  447. There are several known problems or limitations related to the XFree86 ATI
  448. driver.  They include:
  449.  
  450.    o A number of system lockups and blank screens have been reported when using
  451.      PCI Mach64 adapters.  The great majority of these problems have been found
  452.      to be due to system aspects that are unrelated to this driver.  As of this
  453.      writing, these problems can be divided into three general areas:
  454.  
  455.      Improper mouse protocol specification with some recent mice.  Try differ-
  456.      ent protocol specifications or another mouse.
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. ATI Adapters README file                                                      8
  467.  
  468.  
  469.  
  470.      A system conflict with APM.  This problem is Linux-specific.  There is a
  471.      bug in kernels 2.0.31 or earlier that prevents proper APM operation.
  472.      Upgrade to a more recent kernel or disable APM support.
  473.  
  474.      The TV port on some Mach64 adapters needs to be disabled using an ATI
  475.      utility that might or might not be supplied with the adapter.  This prob-
  476.      lem is currently under investigation.
  477.  
  478.    o When using a Mach64's accelerator CRTC, the virtual resolution must be
  479.      less than 8192 pixels wide.  The VGA CRTC further limits the virtual reso-
  480.      lution width to less than 4096 pixels, or to less than 2048 pixels for
  481.      adapters based on 18800's (with 256kB of memory) and on Mach64 integrated
  482.      controllers.  These are hardware limits that cannot be circumvented.
  483.  
  484.    o Virtual resolutions requiring more than 1MB of video memory (256kB in the
  485.      monochrome case) are not supported by the VGA CRTC on 88800GX and 88800CX
  486.      adapters.  This is a hardware limit that cannot be circumvented.
  487.  
  488.    o Due to hardware limitations, doublescanned modes are not supported by the
  489.      accelerator CRTC in 88800GX, 88800CX, 264CT and 264ET adapters.
  490.  
  491.    o Monochrome interlaced modes are not supported on 18800-x and 28800-x when
  492.      using a virtual resolution that is 2048 pixels or wider.  This is yet
  493.      another hardware limitation that cannot be circumvented.
  494.  
  495.    o Video memory banking does not work in monochrome and 16-colour modes on
  496.      18800 and 18800-1 adapters.  This appears to be another hardware limit,
  497.      but this conclusion cannot be confirmed at this time.  The driver's
  498.      default behaviour in this case is to limit video memory to 256kB.
  499.  
  500.    o The default mode does not work on the more recent Mach64 adapters.  This
  501.      problem is caused by the driver's attempt to use an incorrect dot clock
  502.      for the mode.  This will be fixed in a future release by reading the pro-
  503.      grammable clock generator's registers to determine the actual clock used
  504.      by the mode.
  505.  
  506.    o Most XFree86 servers assume that the video state on entry to the server is
  507.      a text mode.  This assumption is known to cause problems on operating sys-
  508.      tems which invoke the server from a graphics mode.  DBCS versions of OS/2,
  509.      primarily used in Asia, are examples of such operating systems.  The solu-
  510.      tion, for now, is to somehow coerce the OS to invoke the server from a
  511.      text mode.  This driver has been changed to simply assume the mode on
  512.      entry uses the adapter's VGA CRTC (in text or graphics modes).  While this
  513.      action alleviates the problem somewhat, it does not completely solve it,
  514.      as the server could still be invoked from an accelerator mode.  To prop-
  515.      erly fix this problem for all XFree86 servers is a large project, and will
  516.      probably not get done anytime soon.
  517.  
  518.    o Video memory corruption can still occur during mode switches on 18800 and
  519.      18800-1 adapters.  Symptoms of this problem include garbled fonts on
  520.      return to text mode, and various effects (snow, dashed lines, etc) on ini-
  521.      tial entry into a graphics mode.  In the first case, the workaround is to
  522.      use some other means of restoring the text font.  On Linux, this can be
  523.      accomplished with the kbd or svgalib packages.  In the second case,
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. ATI Adapters README file                                                      9
  533.  
  534.  
  535.  
  536.      xrefresh(1) will usually clean up the image.  No solution to this problem
  537.      is currently known.
  538.  
  539.    o There is some controversy over what the maximum allowed clock frequency
  540.      should be on 264xT adapters.  For now, clocks will, by default, be limited
  541.      to 135MHz, 170MHz, 200MHz or 230MHz, depending on the specific controller.
  542.      This limit can only be increased (up to a driver-calculated absolute maxi-
  543.      mum) through the DACSpeed specification in XF86Config.  Be aware however
  544.      that doing so is untested and might damage the adapter.
  545.  
  546.    o Except as in the previous item, clocks are limited to 80MHz on most
  547.      adapters, although many are capable of higher frequencies.  This will be
  548.      fixed in a future release.
  549.  
  550. Support for the following will be added in a future release:
  551.  
  552.    o Mach32 accelerator's CRTC.  This support is the first step towards accel-
  553.      erated support for Mach32's, Mach8's, 8514/A's and other clones.
  554.  
  555.    o Colour depth greater than 8, where permitted by the hardware.
  556.  
  557.    o Mach64, Mach32, Mach8 and 8514/A Draw Engines.
  558.  
  559.    o Hardware cursors.
  560.  
  561. Support, through this driver, for 3D acceleration, "TV in a window" and video
  562. capture, as implemented in some ATI adapters, is still in exploratory stages.
  563. There is currently no framework within an XFree86 server for these functions,
  564. although one is in the final stages of development.  Also, ATI has not yet
  565. released a register-level specification for these, except under non-disclosure
  566. agreements.
  567.  
  568.  
  569. 7.  Reporting problems
  570.  
  571. If you are experiencing problems that are not already recorded in this docu-
  572. ment, first ensure that you have the latest current release of this driver and
  573. XFree86.  Check the server's stderr output and
  574. ftp://ftp.xfree86.org/pub/XFree86 if you are uncertain.
  575.  
  576. Secondly, please check XFree86's doc directory for additional information.
  577.  
  578. Thirdly, do not forget to read http://www.xfree86.org/FAQ.
  579.  
  580. Fourth, a scan through the comp.windows.x.i386unix and comp.os.linux.x news-
  581. groups using your favorite archiving service can also prove useful in resolving
  582. problems.
  583.  
  584. If you are still experiencing problems, you can send me e-mail at tsi@ual-
  585. berta.ca.  Please be as specific as possible when describing the problem(s),
  586. and include an unedited copy of the server's stderr and the XF86Config file
  587. used.
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. ATI Adapters README file                                                     10
  599.  
  600.  
  601.  
  602. 8.  Driver history
  603.  
  604. The complete history of the driver is rather cloudy.  The following is more
  605. than likely to be incomplete and inaccurate.
  606.  
  607. Apparently, Per Lindqvist first got a driver working with an early ATI adapter
  608. under X386 1.1a.  This original driver might have actually been based on a non-
  609. functional ATI driver written by Thomas Roell (currently of Xi Graphics).
  610.  
  611. Then Doug Evans (dje@cygnus.com) added support for the ATI VGA Wonder XL, try-
  612. ing in the process to make the driver work with all other ATI adapters avail-
  613. able at the time.
  614.  
  615. Rik Faith (faith@cs.unc.edu) obtained the X11R4 driver from Doug Evans in the
  616. summer of 1992 and ported the code to the X386 part of X11R5.  This subse-
  617. quently became part of XFree86.
  618.  
  619. I (Marc Aurele La France) took over development and maintenance of the driver
  620. in the fall of 1993 after Rik got rid of his VGA Wonder card.
  621.  
  622.  
  623. 9.  Driver versions
  624.  
  625. Due to the introduction of loadable drivers in an upcoming XFree86 release, it
  626. has become necessary to track driver versions separately.  With this release of
  627. the driver, I am introducing the following version numbering scheme.
  628.  
  629. Version 1 of this driver is the one I inherited from Rik Faith.  This is the
  630. version found in XFree86 2.0 and 2.1.
  631.  
  632. Version 2 is my first rewrite of this code which only ended up being a par-
  633. tially unsuccessful attempt at generalizing the driver for all VGA Wonder,
  634. Mach32, and early Mach64 adapters.  Various releases of this version of the
  635. driver can be found in XFree86 2.1.1, 3.1, 3.1.1 and 3.1.2.
  636.  
  637. Version 3 represents my second rewrite (although a rather lame one as rewrites
  638. go).  Into version 3, I introduced clock programming for Mach64 adapters and
  639. merged in the old ati_test debugging tool.  This is the version found in
  640. XFree86 3.2, 3.3 and 3.3.1.
  641.  
  642. Version 4 is a rather major restructuring of version 3, which became larger
  643. than I could comfortably handle in one source file.  This version will make it
  644. quite a bit easier to introduce new function such as acceleration, additional
  645. colour depths, and so on.  This is the version found in XFree86 3.3.2.
  646.  
  647.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/ati.sgml,v 3.15.2.3 1998/10/20 20:51:14 hohndel Exp $
  648.  
  649.  
  650.  
  651.  
  652.  
  653.      $XConsortium: ati.sgml /main/9 1996/10/19 18:03:54 kaleb $
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. ATI Adapters README file                                                     11
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.                                    CONTENTS
  735.  
  736.  
  737.  
  738. 1. Statement of intent ...................................................... 1
  739.  
  740. 2. A note on acceleration ................................................... 1
  741.  
  742. 3. Current implementation for ATI adapters .................................. 2
  743.  
  744. 4. Current implementation of generic VGA support for non-ATI adapters ....... 3
  745.  
  746. 5. XF86Config specifications ................................................ 4
  747.    5.1 ChipSet "name" ....................................................... 4
  748.    5.2 Clocks ............................................................... 4
  749.    5.3 Option "nolinear" .................................................... 7
  750.    5.4 MemBase address ...................................................... 7
  751.    5.5 Modelines ............................................................ 7
  752.  
  753. 6. Known problems and limitations ........................................... 7
  754.  
  755. 7. Reporting problems ....................................................... 9
  756.  
  757. 8. Driver history .......................................................... 10
  758.  
  759. 9. Driver versions ......................................................... 10
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                                        i
  791.  
  792.  
  793.