README revision 1b12faf6
11b12faf6Smrg ATI Adapters README file 21b12faf6Smrg Marc Aurele La France 31b12faf6Smrg 2002 February 12 41b12faf6Smrg 51b12faf6Smrg This is the README for the XAA ATI driver included in this release. 61b12faf6Smrg ______________________________________________________________________ 71b12faf6Smrg 81b12faf6Smrg Table of Contents 91b12faf6Smrg 101b12faf6Smrg 111b12faf6Smrg 1. Statement of intent 121b12faf6Smrg 2. A note on acceleration 131b12faf6Smrg 3. Current implementation for ATI adapters 141b12faf6Smrg 4. Current implementation of generic VGA support for non-ATI adapters 151b12faf6Smrg 5. xorg.conf specifications 161b12faf6Smrg 5.1 Driver ``ati'' 171b12faf6Smrg 5.2 ChipSet ``name'' 181b12faf6Smrg 5.3 ChipID & ChipRev specifications 191b12faf6Smrg 5.4 IOBase 201b12faf6Smrg 5.5 BusID 211b12faf6Smrg 5.6 Clocks 221b12faf6Smrg 5.6.1 Clocks for supported programmable clock generators 231b12faf6Smrg 5.6.2 Clocks for unsupported programmable clock generators 241b12faf6Smrg 5.6.3 Clocks for fixed clock generators on ATI adapters 251b12faf6Smrg 5.6.4 Clocks for non-ATI adapters 261b12faf6Smrg 5.7 Option ``nopanel_display'' 271b12faf6Smrg 5.8 Option ``crt_display'' 281b12faf6Smrg 5.9 Option ``noaccel'' 291b12faf6Smrg 5.10 Option ``nolinear'' 301b12faf6Smrg 5.11 Option ``HWCursor'' and Option ``SWCursor'' 311b12faf6Smrg 5.12 Option ``SilkenMouse'' 321b12faf6Smrg 5.13 Option ``shadowfb'' 331b12faf6Smrg 5.14 Option ``dpms'' 341b12faf6Smrg 5.15 Option ``backingstore'' 351b12faf6Smrg 5.16 MemBase address 361b12faf6Smrg 5.17 Option ``ReferenceClock'' ``frequency'' 371b12faf6Smrg 5.18 ClockChip ``name'' 381b12faf6Smrg 391b12faf6Smrg 6. Video modes 401b12faf6Smrg 7. Known problems and limitations 411b12faf6Smrg 8. Reporting problems 421b12faf6Smrg 9. Driver history 431b12faf6Smrg 10. Driver versions 441b12faf6Smrg 451b12faf6Smrg 461b12faf6Smrg ______________________________________________________________________ 471b12faf6Smrg 481b12faf6Smrg 1. Statement of intent 491b12faf6Smrg 501b12faf6Smrg Generally speaking, the driver is intended for all ATI video adapters 511b12faf6Smrg based on the Mach64 series or older chipsets, providing maximum video 521b12faf6Smrg function within hardware limitations. The driver is also intended to 531b12faf6Smrg optionally provide the same level of support for generic VGA or 8514/A 541b12faf6Smrg adapters. The newer Rage 128 and Radeon chips are not yet supported 551b12faf6Smrg by this driver. Rage 128's and Radeon's are, however, supported by 561b12faf6Smrg separate drivers, and owners of such adapters should consult the 571b12faf6Smrg documentation provided with these drivers. This driver will also 581b12faf6Smrg invoke the appropriate driver if it finds Rage 128 and/or Radeon 591b12faf6Smrg adapter(s) in the system. This driver is still being actively 601b12faf6Smrg developed, meaning that it currently does not yet fully meet these 611b12faf6Smrg goals. 621b12faf6Smrg 631b12faf6Smrg The driver will provide 641b12faf6Smrg 651b12faf6Smrg o accelerated support if an ATI accelerator is detected and the user 661b12faf6Smrg has not requested that this support be disabled; otherwise 671b12faf6Smrg o accelerated support if a non-ATI 8514/A-capable adapter is detected 681b12faf6Smrg and the user has requested such support; otherwise 691b12faf6Smrg 701b12faf6Smrg o unaccelerated SuperVGA support if an ATI VGA-capable adapter is 711b12faf6Smrg detected; otherwise 721b12faf6Smrg 731b12faf6Smrg o generic VGA support if a non-ATI VGA-capable adapter is detected 741b12faf6Smrg and the user has requested such support. 751b12faf6Smrg 761b12faf6Smrg Thus, the level of support provided not only depends on what the 771b12faf6Smrg driver detects in the system, but also, on what the user specifies 781b12faf6Smrg in the xorg.conf file. See the ``xorg.conf specifications'' 791b12faf6Smrg section below for details. 801b12faf6Smrg 811b12faf6Smrg If none of the above conditions are met, the ATI driver will 821b12faf6Smrg essentially disable itself to allow other drivers to examine the 831b12faf6Smrg system. 841b12faf6Smrg 851b12faf6Smrg 861b12faf6Smrg 2. A note on acceleration 871b12faf6Smrg 881b12faf6Smrg The meaning of ``acceleration'', as used in this document, needs to be 891b12faf6Smrg clarified. Two of the many components in an accelerator are the CRT 901b12faf6Smrg controller (CRTC) and the Draw Engine. This is in addition to another 911b12faf6Smrg CRTC that, generally, is also present in the system (often in the same 921b12faf6Smrg chip) and typically provides EGA, VGA or SuperVGA functionality. 931b12faf6Smrg 941b12faf6Smrg A CRTC is the component of a graphics controller that is responsible 951b12faf6Smrg for reading video memory for output to the screen. A Draw Engine is 961b12faf6Smrg an accelerator component that can be programmed to manipulate video 971b12faf6Smrg memory contents, thus freeing the CPU for other tasks. 981b12faf6Smrg 991b12faf6Smrg When the VGA CRTC is used, all drawing operations into video memory 1001b12faf6Smrg are the responsibility of the system's CPU, i.e. no Draw Engine can be 1011b12faf6Smrg used. On the other hand, if the accelerator's CRTC is chosen to drive 1021b12faf6Smrg the screen, the Draw Engine can also be used for drawing operations, 1031b12faf6Smrg although the CPU can still be used for this purpose if it can access 1041b12faf6Smrg the accelerator's video memory. 1051b12faf6Smrg 1061b12faf6Smrg Video acceleration refers to the programming of an accelerator's Draw 1071b12faf6Smrg Engine to offload drawing operations from the CPU, and thus also 1081b12faf6Smrg implies the use of the accelerator's CRTC. 1091b12faf6Smrg 1101b12faf6Smrg 1111b12faf6Smrg 3. Current implementation for ATI adapters 1121b12faf6Smrg 1131b12faf6Smrg The driver currently supports the SuperVGA capabilities of all ATI 1141b12faf6Smrg adapters except some early Mach8 and Mach32 adapters that do not 1151b12faf6Smrg provide the required functionality. This support works for 1161b12faf6Smrg monochrome, 16-colour and 256-colour video modes, if one of the 1171b12faf6Smrg following ATI graphics controller chips is present: 1181b12faf6Smrg 1191b12faf6Smrg VGAWonder series: 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6 1201b12faf6Smrg Mach32 series: 68800-3, 68800-6, 68800AX, 68800LX 1211b12faf6Smrg Mach64 series: 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX, 1221b12faf6Smrg 264CT, 264ET, 264VT, 264GT (3D Rage), 264VT-B, 264VT3, 1231b12faf6Smrg 264VT4, 264GT-B (3D Rage II), 3D Rage IIc, 3D Rage Pro, 1241b12faf6Smrg 3D Rage LT, 3D Rage LT Pro, 3D Rage XL, 3D Rage XC, 1251b12faf6Smrg 3D Rage Mobility (including the -M and -P variants) 1261b12faf6Smrg 1271b12faf6Smrg 1281b12faf6Smrg The driver also supports 32K, 64K and 16M-colour modes on the 264xT 1291b12faf6Smrg and 3D Rage series of adapters using the accelerator CRTC (but not the 1301b12faf6Smrg VGA CRTC). 1311b12faf6Smrg 1321b12faf6Smrg 1331b12faf6Smrg The newer Rage 128 and Radeon chips are not yet supported by this 1341b12faf6Smrg driver. Rage 128's and Radeon's are, however, supported by separate 1351b12faf6Smrg drivers, and owners of such adapters should consult the documentation 1361b12faf6Smrg provided with these drivers. This driver will also invoke the 1371b12faf6Smrg appropriate driver if it finds Rage 128 and/or Radeon adapter(s) in 1381b12faf6Smrg the system. 1391b12faf6Smrg 1401b12faf6Smrg Adapters based on the above chips have been marketed under a rather 1411b12faf6Smrg large number of names over the years. Among them are: 1421b12faf6Smrg 1431b12faf6Smrg VGAWonder series: VGAWonder V3, VGAWonder V4, VGAWonder V5, VGAWonder+, 1441b12faf6Smrg VGAWonder XL, VGAWonder XL24, VGAWonder VLB, VGA Basic, 1451b12faf6Smrg VGA Basic 16, VGA Edge, VGA Edge 16, VGA Integra, 1461b12faf6Smrg VGA Charger, VGAStereo F/X, VGA 640, VGA 800, VGA 1024, 1471b12faf6Smrg VGA 1024D, VGA 1024 XL, VGA 1024 DXL, VGA 1024 VLB 1481b12faf6Smrg Mach8 series: Graphics Ultra, Graphics Vantage, VGAWonder GT 1491b12faf6Smrg (None of the 8514/Ultra and 8514 Vantage series is 1501b12faf6Smrg supported at this time) 1511b12faf6Smrg Mach32 series: Graphics Ultra+, Graphics Ultra Pro, Graphics Wonder, 1521b12faf6Smrg Graphics Ultra XLR, Graphics Ultra AXO, VLB mach32-D, 1531b12faf6Smrg PCI mach32-D, ISA mach32 1541b12faf6Smrg Mach64 series: Graphics Xpression, Graphics Pro Turbo, WinBoost, 1551b12faf6Smrg WinTurbo, Graphics Pro Turbo 1600, Video Xpression, 1561b12faf6Smrg 3D Xpression, Video Xpression+, 3D Xpression+, 1571b12faf6Smrg 3D Charger, Video Charger, WinCharger, All-In-Wonder, 1581b12faf6Smrg All-In-Wonder PRO, 3D Pro Turbo, XPERT@Play, 1591b12faf6Smrg XPERT@Play 98, XPERT@Work, XPERT 98, XPERT LCD, 1601b12faf6Smrg XPERT XL 1611b12faf6Smrg 1621b12faf6Smrg 1631b12faf6Smrg Also, a number of mainboards, laptops and notebooks harbour a Mach32 1641b12faf6Smrg or Mach64 controller. 1651b12faf6Smrg 1661b12faf6Smrg VGAWonder, Mach8 and Mach32 ISA adapters are available with or without 1671b12faf6Smrg a mouse. 1681b12faf6Smrg 1691b12faf6Smrg These adapters are available with a variety of clock generators and 1701b12faf6Smrg RAMDACs. The 264xT and 3D Rage series of chips are integrated 1711b12faf6Smrg controllers, meaning that they include a programmable clock generator 1721b12faf6Smrg and a RAMDAC. 1731b12faf6Smrg 1741b12faf6Smrg For all but Mach64 adapters, this driver still does not provide 1751b12faf6Smrg support for accelerated drawing to the screen. This means that all 1761b12faf6Smrg drawing is done by the CPU, rather than by any accelerator present in 1771b12faf6Smrg the system. This can make opaque moves, for example, quite ``jerky''. 1781b12faf6Smrg Also, given that IBM 8514/A and ATI Mach8 do not allow CPU access to 1791b12faf6Smrg their frame buffer, the driver will currently ignore these 1801b12faf6Smrg accelerators. Most Mach32 adapters provide both accelerated function 1811b12faf6Smrg and SuperVGA functionality, but the driver currently only uses the 1821b12faf6Smrg VGA. 1831b12faf6Smrg 1841b12faf6Smrg The driver does however support the accelerator CRTC present in all 1851b12faf6Smrg ATI Mach64 adapters. For 256-colour, and higher depth modes, this 1861b12faf6Smrg support will be used by default, although an xorg.conf option can be 1871b12faf6Smrg specified to use the SuperVGA CRTC instead. A linear video memory 1881b12faf6Smrg aperture is also available in 256-colour and higher depth modes and 1891b12faf6Smrg enabled by default if a 264xT or 3D Rage controller is detected or, on 1901b12faf6Smrg 88800 controllers, if the accelerator CRTC is used. xorg.conf options 1911b12faf6Smrg are available to disable this aperture, or (for non-PCI adapters) 1921b12faf6Smrg enable it or move it to some other address. 1931b12faf6Smrg 1941b12faf6Smrg By default, the driver provides some acceleration for Mach64 if the 1951b12faf6Smrg accelerator CRTC is used, and modes whose colour depth greater than or 1961b12faf6Smrg equal to 8 are to be used. This support is as yet incomplete and can 1971b12faf6Smrg be disabled entirely with an xorg.conf option. 1981b12faf6Smrg 1991b12faf6Smrg On non-Intel platforms, the driver can, currently, only support PCI 2001b12faf6Smrg Mach64 adapters. 2011b12faf6Smrg 2021b12faf6Smrg 2031b12faf6Smrg 4. Current implementation of generic VGA support for non-ATI adapters 2041b12faf6Smrg 2051b12faf6Smrg Support for generic VGA with non-ATI adapters is also implemented, but 2061b12faf6Smrg has undergone only limited testing. The driver will intentionally 2071b12faf6Smrg disallow the use of this support with ATI adapters. This support must 2081b12faf6Smrg be explicitly requested through an xorg.conf ChipSet specification. 2091b12faf6Smrg This prevents the current VGA generic driver from being disabled. 2101b12faf6Smrg 2111b12faf6Smrg This driver's generic VGA support is intended as an extension of that 2121b12faf6Smrg provided by the current generic driver. Specifically, within the 2131b12faf6Smrg architectural bounds defined by IBM's VGA standard, this driver will 2141b12faf6Smrg allow the use of any 256-colour mode, and any dot clock frequencies 2151b12faf6Smrg both of which allow for many more mode possibilities. 2161b12faf6Smrg 2171b12faf6Smrg The driver will enforce the following limitations derived from IBM's 2181b12faf6Smrg original VGA implementation: 2191b12faf6Smrg 2201b12faf6Smrg o There can only be a set of four (non-programmable) clocks to choose 2211b12faf6Smrg from. 2221b12faf6Smrg 2231b12faf6Smrg o Video memory is limited to 256kB in monochrome and 16-colour modes. 2241b12faf6Smrg 2251b12faf6Smrg o Video memory is limited to 64kB in 256-colour modes. 2261b12faf6Smrg 2271b12faf6Smrg o Interlaced modes are not available. 2281b12faf6Smrg 2291b12faf6Smrg o Colour depths higher than 8 are not available. 2301b12faf6Smrg 2311b12faf6Smrg 5. xorg.conf specifications 2321b12faf6Smrg 2331b12faf6Smrg The driver recognises a number of xorg.conf options. In general, all 2341b12faf6Smrg such options should be specified in a ``Device'' section, and affect 2351b12faf6Smrg only that ``Device'' section. 2361b12faf6Smrg 2371b12faf6Smrg Those options that affect how the driver associates adapters with 2381b12faf6Smrg ``Device'' sections are described first. The driver will ignore (with 2391b12faf6Smrg a message) a ``Device'' section if the section cannot be associated 2401b12faf6Smrg with exactly one adapter in the system. Similarly, the driver will 2411b12faf6Smrg ignore, or disable, (with a message) any adapter that cannot be 2421b12faf6Smrg associated with exactly one ``Device'' section. Thus, these options 2431b12faf6Smrg will be required in those uncommon cases where such unique 2441b12faf6Smrg associations cannot automatically be made by the driver. 2451b12faf6Smrg 2461b12faf6Smrg Other options affect the driver's operation once an adapter has been 2471b12faf6Smrg assigned to the ``Device'' section which contains them. 2481b12faf6Smrg 2491b12faf6Smrg 2501b12faf6Smrg 5.1. Driver ``ati'' 2511b12faf6Smrg 2521b12faf6Smrg The use of this specification is highly recommended if the ``Device'' 2531b12faf6Smrg section is to be recognised by the driver. In fact, it is almost (but 2541b12faf6Smrg not quite) mandatory, particularly when using the loader server as it 2551b12faf6Smrg indicates what driver is to be loaded and associated with the 2561b12faf6Smrg ``Device'' section. 2571b12faf6Smrg 2581b12faf6Smrg 2591b12faf6Smrg 5.2. ChipSet ``name'' 2601b12faf6Smrg 2611b12faf6Smrg The default ChipSet name for this driver is ``ati''. In this case, 2621b12faf6Smrg any ATI adapter can be associated with the ``Device'' section. If an 2631b12faf6Smrg ATI accelerator is detected and the driver supports it, the 2641b12faf6Smrg accelerator's CRTC will be used to drive the screen. Otherwise, the 2651b12faf6Smrg driver will programme the adapter's SuperVGA CRTC. 2661b12faf6Smrg 2671b12faf6Smrg If ``ativga'' is specified instead, the driver will ignore any ATI 2681b12faf6Smrg accelerator it detects, but otherwise operate as if ``ati'' had been 2691b12faf6Smrg specified. This specification ensures the VGA CRTC is used. 2701b12faf6Smrg 2711b12faf6Smrg A ChipSet name of ``ibmvga'' causes any VGA-capable adapter in the 2721b12faf6Smrg system to be associated with the ``Device'' section. It enables the 2731b12faf6Smrg driver's generic VGA support, but only for non-ATI adapters. If an 2741b12faf6Smrg ATI adapter is associated with the ``Device'' section, the driver will 2751b12faf6Smrg operate as if ``ativga'' had been specified instead. 2761b12faf6Smrg 2771b12faf6Smrg A ChipSet name of ``vgawonder'' is equivalent to ``ativga'', except 2781b12faf6Smrg that only VGAWonder-capable adapters can be assigned to the ``Device'' 2791b12faf6Smrg section. This specifically excludes the newer integrated Mach64 2801b12faf6Smrg controllers. 2811b12faf6Smrg 2821b12faf6Smrg In some PCI or AGP systems, the driver will not, by default, probe for 2831b12faf6Smrg non-PCI Mach32's or Mach64's. This is because, before doing any such 2841b12faf6Smrg probe, the driver attempts to determine if the probe can cause a 2851b12faf6Smrg lockup. If the driver has enough information to determine that a 2861b12faf6Smrg lockup would occur, it will skip the probe. In some situations, this 2871b12faf6Smrg determination cannot be accurate, and the driver will err on the side 2881b12faf6Smrg of caution, skipping the probe. Specifying a ChipSet name of 2891b12faf6Smrg ``mach32'' or ``mach64'', as appropriate, will force the driver to 2901b12faf6Smrg probe for the non-PCI adapter. These ChipSet names should, therefore, 2911b12faf6Smrg only be used when there is in fact such an adapter in the system. 2921b12faf6Smrg They are otherwise equivalent to ``ati''. 2931b12faf6Smrg 2941b12faf6Smrg On non-Intel platforms, only ``ati'' and ``mach64'' ChipSet values are 2951b12faf6Smrg operative. 2961b12faf6Smrg 2971b12faf6Smrg 2981b12faf6Smrg 5.3. ChipID & ChipRev specifications 2991b12faf6Smrg 3001b12faf6Smrg These specifications will cause the driver to associate the ``Device'' 3011b12faf6Smrg section only with an adapter having the same attributes, or an adapter 3021b12faf6Smrg whose PCI device ID the driver does not recognise. In the second 3031b12faf6Smrg case, these options cause the driver to treat the adapter as if it was 3041b12faf6Smrg one with the specified PCI device ID or revision. ChipID can only be 3051b12faf6Smrg used with Mach32 or Mach64 adapters, and, thus, specifically excludes 3061b12faf6Smrg any other adapter from matching the ``Device'' section. ChipRev is 3071b12faf6Smrg meaningful only with Mach64 adapters, and then only if ChipID is also 3081b12faf6Smrg specified in the same ``Device'' section. 3091b12faf6Smrg 3101b12faf6Smrg 3111b12faf6Smrg 5.4. IOBase 3121b12faf6Smrg 3131b12faf6Smrg This option limits the adapters that can be associated with the 3141b12faf6Smrg ``Device'' section to the one with the specified I/O base. This 3151b12faf6Smrg option only applies to Mach64 adapters and specifically excludes other 3161b12faf6Smrg adapters. 3171b12faf6Smrg 3181b12faf6Smrg 3191b12faf6Smrg 5.5. BusID 3201b12faf6Smrg 3211b12faf6Smrg This option limits the adapters that can be associated with the 3221b12faf6Smrg ``Device'' section to the one with the specified PCI Bus ID. This 3231b12faf6Smrg specification excludes non-PCI adapters. 3241b12faf6Smrg 3251b12faf6Smrg 3261b12faf6Smrg 5.6. Clocks 3271b12faf6Smrg 3281b12faf6Smrg For the purpose of specifying a clock line in your xorg.conf, one of 3291b12faf6Smrg four different situations can occur, as follows. 3301b12faf6Smrg 3311b12faf6Smrg Those configuring the driver's generic VGA support for a non-ATI 3321b12faf6Smrg adapter, can skip ahead to the ``Clocks for non-ATI adapters'' section 3331b12faf6Smrg below. Those not trying to configure the driver for a Mach64 adapter, 3341b12faf6Smrg can skip ahead to the ``Clocks for fixed clock generators on ATI 3351b12faf6Smrg adapters'' section below. 3361b12faf6Smrg 3371b12faf6Smrg The very earliest Mach64 adapters use fixed (i.e. non-programmable) 3381b12faf6Smrg clock generators. Very few of these (mostly prototypes) are known to 3391b12faf6Smrg exist, but if you have one of these, you can also skip ahead to the 3401b12faf6Smrg ``Clocks for fixed clock generators on ATI adapters'' section below. 3411b12faf6Smrg 3421b12faf6Smrg The two cases that are left deal with programmable clock generators, 3431b12faf6Smrg which are used on the great majority of Mach64 adapters. 3441b12faf6Smrg 3451b12faf6Smrg If you are uncertain which situation applies to your adapter, you can 3461b12faf6Smrg run a clock probe with the command ``X -probeonly''. 3471b12faf6Smrg 3481b12faf6Smrg 3491b12faf6Smrg 5.6.1. Clocks for supported programmable clock generators 3501b12faf6Smrg 3511b12faf6Smrg At bootup, video BIOS initialisation programmes an initial set of 3521b12faf6Smrg frequencies. Two of these are reserved to allow the setting of modes 3531b12faf6Smrg that do not use a frequency from this initial set. One of these 3541b12faf6Smrg reserved slots is used by the BIOS mode set routine, the other by the 3551b12faf6Smrg particular driver used (e.g. MS-Windows, AutoCAD, X, etc.). The clock 3561b12faf6Smrg numbers reserved in this way are dependent on the particular clock 3571b12faf6Smrg generator used by the adapter. 3581b12faf6Smrg 3591b12faf6Smrg The driver currently supports all programmable clock generators known 3601b12faf6Smrg to exist on Mach64 adapters. In this case, the driver will completely 3611b12faf6Smrg ignore any xorg.conf clock specification, and programme the clock 3621b12faf6Smrg generator as needed by the modes used during the X session. 3631b12faf6Smrg 3641b12faf6Smrg 3651b12faf6Smrg 5.6.2. Clocks for unsupported programmable clock generators 3661b12faf6Smrg 3671b12faf6Smrg This case is unlikely to occur, but is documented for the sake of 3681b12faf6Smrg completeness. 3691b12faf6Smrg 3701b12faf6Smrg In this situation, the driver will probe the adapter for clock 3711b12faf6Smrg frequencies unless xorg.conf clocks are already specified. In either 3721b12faf6Smrg case, the driver will then attempt to normalise the clocks to one of 3731b12faf6Smrg the following specifications: 3741b12faf6Smrg 3751b12faf6Smrg BIOS setting 1: 3761b12faf6Smrg 3771b12faf6Smrg Clocks 0.000 110.000 126.000 135.000 50.350 56.640 63.000 72.000 3781b12faf6Smrg 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000 3791b12faf6Smrg 0.000 55.000 63.000 67.500 25.180 28.320 31.500 36.000 3801b12faf6Smrg 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000 3811b12faf6Smrg 3821b12faf6Smrg 3831b12faf6Smrg 3841b12faf6Smrg BIOS setting 2: 3851b12faf6Smrg 3861b12faf6Smrg Clocks 0.000 110.000 126.000 135.000 25.180 28.320 31.500 36.000 3871b12faf6Smrg 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000 3881b12faf6Smrg 0.000 55.000 63.000 67.500 12.590 14.160 15.750 18.000 3891b12faf6Smrg 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000 3901b12faf6Smrg 3911b12faf6Smrg 3921b12faf6Smrg 3931b12faf6Smrg BIOS setting 3: 3941b12faf6Smrg 3951b12faf6Smrg Clocks 0.000 0.000 0.000 0.000 25.180 28.320 0.000 0.000 3961b12faf6Smrg 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3971b12faf6Smrg 0.000 0.000 0.000 0.000 12.590 14.160 0.000 0.000 3981b12faf6Smrg 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3991b12faf6Smrg 4001b12faf6Smrg 4011b12faf6Smrg If the driver matches the clocks to the third setting above, function- 4021b12faf6Smrg ality will be extremely limited (assuming the driver works at all). 4031b12faf6Smrg 4041b12faf6Smrg 4051b12faf6Smrg 5.6.3. Clocks for fixed clock generators on ATI adapters 4061b12faf6Smrg 4071b12faf6Smrg This section applies to all VGAWonder and Mach32 adapters, and to 4081b12faf6Smrg early Mach64 prototypes. 4091b12faf6Smrg 4101b12faf6Smrg One of the following clocks specifications (or an initial subset 4111b12faf6Smrg thereof) can be used depending on what the adapter uses to generate 4121b12faf6Smrg dot clocks: 4131b12faf6Smrg 4141b12faf6Smrg Crystals (VGA Wonder V3 and V4 adapters only): 4151b12faf6Smrg 4161b12faf6Smrg Clocks 50.000 56.644 0.000 44.900 44.900 50.000 0.000 36.000 4171b12faf6Smrg 25.000 28.322 0.000 22.450 22.450 25.000 0.000 18.000 4181b12faf6Smrg 16.667 18.881 0.000 14.967 14.967 16.667 0.000 12.000 4191b12faf6Smrg 12.500 14.161 0.000 11.225 11.225 12.500 0.000 9.000 4201b12faf6Smrg 4211b12faf6Smrg 4221b12faf6Smrg 4231b12faf6Smrg ATI 18810 clock generator: 4241b12faf6Smrg 4251b12faf6Smrg Clocks 30.240 32.000 37.500 39.000 42.954 48.771 0.000 36.000 4261b12faf6Smrg 40.000 0.000 75.000 65.000 50.350 56.640 0.000 44.900 4271b12faf6Smrg 15.120 16.000 18.750 19.500 21.477 24.386 0.000 18.000 4281b12faf6Smrg 20.000 0.000 37.500 32.500 25.175 28.320 0.000 22.450 4291b12faf6Smrg 10.080 10.667 12.500 13.000 14.318 16.257 0.000 12.000 4301b12faf6Smrg 13.333 0.000 25.000 21.667 16.783 18.880 0.000 14.967 4311b12faf6Smrg 7.560 8.000 9.375 9.750 10.739 12.193 0.000 9.000 4321b12faf6Smrg 10.000 0.000 18.750 16.250 12.586 14.160 0.000 11.225 4331b12faf6Smrg 4341b12faf6Smrg 4351b12faf6Smrg 4361b12faf6Smrg ATI 18811-0 and ATI 18812-0 clock generators: 4371b12faf6Smrg 4381b12faf6Smrg Clocks 30.240 32.000 110.000 80.000 42.954 48.771 92.400 36.000 4391b12faf6Smrg 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900 4401b12faf6Smrg 15.120 16.000 55.000 40.000 21.477 24.386 46.200 18.000 4411b12faf6Smrg 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450 4421b12faf6Smrg 10.080 10.667 36.667 26.667 14.318 16.257 30.800 12.000 4431b12faf6Smrg 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967 4441b12faf6Smrg 7.560 8.000 27.500 20.000 10.739 12.193 23.100 9.000 4451b12faf6Smrg 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225 4461b12faf6Smrg 4471b12faf6Smrg 4481b12faf6Smrg 4491b12faf6Smrg ATI 18811-1 and ATI 18811-2 clock generators: 4501b12faf6Smrg 4511b12faf6Smrg Clocks 135.000 32.000 110.000 80.000 100.000 126.000 92.400 36.000 4521b12faf6Smrg 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900 4531b12faf6Smrg 67.500 16.000 55.000 40.000 50.000 63.000 46.200 18.000 4541b12faf6Smrg 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450 4551b12faf6Smrg 45.000 10.667 36.667 26.667 33.333 42.000 30.800 12.000 4561b12faf6Smrg 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967 4571b12faf6Smrg 33.750 8.000 27.500 20.000 25.000 31.500 23.100 9.000 4581b12faf6Smrg 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225 4591b12faf6Smrg 4601b12faf6Smrg 4611b12faf6Smrg 4621b12faf6Smrg ICS 2494-AM clock generators (found on some Dell motherboards): 4631b12faf6Smrg 4641b12faf6Smrg Clocks 75.000 77.500 80.000 90.000 25.175 28.322 31.500 36.000 4651b12faf6Smrg 100.000 110.000 126.000 135.000 40.000 44.900 50.000 65.000 4661b12faf6Smrg 37.500 38.750 40.000 45.000 12.588 14.161 15.750 18.000 4671b12faf6Smrg 50.000 55.000 63.000 67.500 20.000 22.450 25.000 32.500 4681b12faf6Smrg 25.000 25.833 26.667 30.000 8.392 9.441 10.500 12.000 4691b12faf6Smrg 33.333 36.667 42.000 45.000 13.333 14.767 16.667 21.667 4701b12faf6Smrg 18.750 19.375 20.000 22.500 6.294 7.081 7.875 9.000 4711b12faf6Smrg 25.000 27.500 31.500 33.750 10.000 11.225 12.500 16.250 4721b12faf6Smrg 4731b12faf6Smrg 4741b12faf6Smrg VGAWonder VLB, VGA 1024 VLB, Mach32 and Mach64 owners should only 4751b12faf6Smrg specify up to the first 32 frequencies. Any more will be ignored. 4761b12faf6Smrg 4771b12faf6Smrg Other clock generators that have been used on ATI adapters (which can 4781b12faf6Smrg all be said to be clones of one of the above) might generate non-zero 4791b12faf6Smrg frequencies for those that are zero above, or vice-versa. 4801b12faf6Smrg 4811b12faf6Smrg The order of the clocks is very important, although the driver will 4821b12faf6Smrg reorder the specified clocks if it deems it appropriate to do so. 4831b12faf6Smrg Mach32 and Mach64 owners should note that this order is different than 4841b12faf6Smrg what they would use for previous accelerated servers. 4851b12faf6Smrg 4861b12faf6Smrg 4871b12faf6Smrg 5.6.4. Clocks for non-ATI adapters 4881b12faf6Smrg 4891b12faf6Smrg If no clocks are specified in the xorg.conf, the driver will probe for 4901b12faf6Smrg four clocks, the second of which will be assumed to be 28.322 MHz. 4911b12faf6Smrg The first clock will typically be 25.175 MHz, but there are 4921b12faf6Smrg exceptions. You can include up to four clock frequencies in your 4931b12faf6Smrg xorg.conf to specify the actual values used by the adapter. Any more 4941b12faf6Smrg will be ignored. 4951b12faf6Smrg 4961b12faf6Smrg 4971b12faf6Smrg 5.7. Option ``nopanel_display'' 4981b12faf6Smrg 4991b12faf6Smrg This specification is only effective when the driver detects that the 5001b12faf6Smrg adapter's BIOS has initialised both the digital flat panel and CRT 5011b12faf6Smrg interfaces. In such a situation, the driver will normally drive both 5021b12faf6Smrg the panel and the CRT. This specification causes the driver to 5031b12faf6Smrg disable the digital flat panel and display the screen image on the CRT 5041b12faf6Smrg instead, which could potentially allow for larger physical resolutions 5051b12faf6Smrg than the panel can handle. 5061b12faf6Smrg 5071b12faf6Smrg 5081b12faf6Smrg 5.8. Option ``crt_display'' 5091b12faf6Smrg 5101b12faf6Smrg This specification is only effective when the driver detects that the 5111b12faf6Smrg adapter's BIOS has initialised the digital flat panel interface, but 5121b12faf6Smrg has disabled the CRT interface. In such a situation the driver will 5131b12faf6Smrg normally drive only the panel. This specification causes the driver 5141b12faf6Smrg to instead display the same image on both the panel and the CRT. 5151b12faf6Smrg 5.9. Option ``noaccel'' 5161b12faf6Smrg 5171b12faf6Smrg By default, the driver will accelerate draw operations if a Mach64 5181b12faf6Smrg CRTC is used to drive the display. As implemented in this driver, 5191b12faf6Smrg acceleration does not require a linear video memory aperture. This 5201b12faf6Smrg option disables this acceleration. 5211b12faf6Smrg 5221b12faf6Smrg 5231b12faf6Smrg 5.10. Option ``nolinear'' 5241b12faf6Smrg 5251b12faf6Smrg By default, the driver will enable a linear video memory aperture for 5261b12faf6Smrg 256-colour and higher depth modes if it is also using a Mach64 5271b12faf6Smrg accelerator CRTC or an integrated Mach64 graphics chip. This option 5281b12faf6Smrg disables this linear aperture. 5291b12faf6Smrg 5301b12faf6Smrg On non-Intel platforms, the driver requires a linear aperture and, so, 5311b12faf6Smrg this option is ignored. 5321b12faf6Smrg 5331b12faf6Smrg 5341b12faf6Smrg 5.11. Option ``HWCursor'' and Option ``SWCursor'' 5351b12faf6Smrg 5361b12faf6Smrg Option ``HWCursor'', which is the default, specifies that hardware 5371b12faf6Smrg facilities are to be used to paint the mouse pointer on the screen. 5381b12faf6Smrg Option ``SWCursor'' specifies that the mouse pointer is to be drawn by 5391b12faf6Smrg software, which is much slower. If both options are specified, option 5401b12faf6Smrg ``SWCursor'' prevails. Currently, these options are only acted upon 5411b12faf6Smrg for 256-colour or higher depth modes, if a Mach64 accelerator CRTC, or 5421b12faf6Smrg a Mach64 integrated controller is being used. In all other 5431b12faf6Smrg situations, a software cursor will be used, regardless of what these 5441b12faf6Smrg options specify. 5451b12faf6Smrg 5461b12faf6Smrg 5471b12faf6Smrg 5.12. Option ``SilkenMouse'' 5481b12faf6Smrg 5491b12faf6Smrg This option is only acted upon when a hardware cursor is being used. 5501b12faf6Smrg It specifies that the cursor's position on the screen is to be updated 5511b12faf6Smrg as quickly as possible when the mouse is moved. This is the default 5521b12faf6Smrg behaviour. If this option is negated, the cursor may lag the mouse 5531b12faf6Smrg when the X server is very busy. 5541b12faf6Smrg 5551b12faf6Smrg 5561b12faf6Smrg 5.13. Option ``shadowfb'' 5571b12faf6Smrg 5581b12faf6Smrg If this option is enabled, the driver will cause the CPU to do each 5591b12faf6Smrg drawing operation first into a shadow frame buffer in system virtual 5601b12faf6Smrg memory and then copy the result into video memory. If this option is 5611b12faf6Smrg not active, the CPU will draw directly into video memory. Enabling 5621b12faf6Smrg this option is beneficial for those systems where reading from video 5631b12faf6Smrg memory is, on average, slower than the corresponding read/modify/write 5641b12faf6Smrg operation in system virtual memory. This is normally the case for PCI 5651b12faf6Smrg or AGP adapters, and, so, this option is enabled by default. For 5661b12faf6Smrg other bus types, the default behaviour is to disable this option. 5671b12faf6Smrg 5681b12faf6Smrg Note that, due to various limitations, this option is forcibly 5691b12faf6Smrg disabled when a linear video memory aperture is not enabled, when the 5701b12faf6Smrg frame buffer depth is less than 8, or when acceleration is used. 5711b12faf6Smrg 5721b12faf6Smrg 5731b12faf6Smrg 5.14. Option ``dpms'' 5741b12faf6Smrg 5751b12faf6Smrg This option enables the driver's support for VESA's Display Power 5761b12faf6Smrg Management Specification. 5771b12faf6Smrg 5781b12faf6Smrg 5791b12faf6Smrg 5801b12faf6Smrg 5.15. Option ``backingstore'' 5811b12faf6Smrg 5821b12faf6Smrg This is not specifically a driver option. It is used to enable the 5831b12faf6Smrg server's support for backing store, a mechanism by which pixel data 5841b12faf6Smrg for occluded window regions is remembered by the server thereby 5851b12faf6Smrg alleviating the need to send expose events to X clients when the data 5861b12faf6Smrg needs to be redisplayed. 5871b12faf6Smrg 5881b12faf6Smrg 5891b12faf6Smrg 5.16. MemBase address 5901b12faf6Smrg 5911b12faf6Smrg This specification is only effective for non-PCI Mach64 adapters, and 5921b12faf6Smrg is used to override the CPU address at which the adapter will map its 5931b12faf6Smrg video memory. Normally, for non-PCI adapters, this address is set by 5941b12faf6Smrg a DOS install utility provided with the adapter. The MemBase option 5951b12faf6Smrg can also be used to enable the linear aperture in those cases where 5961b12faf6Smrg ATI's utility was not, or can not be, used. 5971b12faf6Smrg 5981b12faf6Smrg For PCI and AGP adapters, this address is determined at system bootup 5991b12faf6Smrg according to the PCI Plug'n'Play specification which arbitrates the 6001b12faf6Smrg resource requirements of most devices in the system. This means the 6011b12faf6Smrg driver can not easily change the linear aperture address. 6021b12faf6Smrg 6031b12faf6Smrg 6041b12faf6Smrg 5.17. Option ``ReferenceClock'' ``frequency'' 6051b12faf6Smrg 6061b12faf6Smrg This option is only applicable to non-Intel platforms, where an 6071b12faf6Smrg adapter BIOS is not available to the driver. The option specifies the 6081b12faf6Smrg reference frequency used by the adapter's clock generator. The 6091b12faf6Smrg default is 14.318 MHz, and other typical values are 28.636, or 29.5 6101b12faf6Smrg MHz. 6111b12faf6Smrg 6121b12faf6Smrg 6131b12faf6Smrg 5.18. ClockChip ``name'' 6141b12faf6Smrg 6151b12faf6Smrg This option is only applicable to non-Intel platforms, where an 6161b12faf6Smrg adapter BIOS is not available to the driver, and the driver cannot 6171b12faf6Smrg reliably determine whether the clock generator the adapter uses is a 6181b12faf6Smrg variant of an ATI 18818 (a.k.a. ICS 2595) or an unsupported clock 6191b12faf6Smrg generator. The only values that are acted upon are ``ATI 18818-0'' or 6201b12faf6Smrg ``ATI 18818-1''. From this specification, the driver derives a 6211b12faf6Smrg reference divider of 43 or 46 (respectively) for use in clock 6221b12faf6Smrg programming calculations. The driver's default behaviour, in this 6231b12faf6Smrg case, is to assume an unsupported clock generator, which means it will 6241b12faf6Smrg treat it as a fixed-frequency clock generator, as described under the 6251b12faf6Smrg heading ``Clocks for unsupported programmable clock generators'' 6261b12faf6Smrg above. 6271b12faf6Smrg 6281b12faf6Smrg 6291b12faf6Smrg 6. Video modes 6301b12faf6Smrg 6311b12faf6Smrg Mode timings can be derived from the information in X's doc 6321b12faf6Smrg subdirectory. However, it is no longer required to specify such 6331b12faf6Smrg timings in an xorg.conf's ``Monitor'' section(s), if only standard 6341b12faf6Smrg mode timings are to be used. The server automatically inserts VESA 6351b12faf6Smrg standard mode timings in every ``Monitor'' section, and these modes 6361b12faf6Smrg will be checked first for mode constraints (monitor sync tolerances, 6371b12faf6Smrg video memory size, etc.). 6381b12faf6Smrg 6391b12faf6Smrg Furthermore, it is also no longer required to specify mode names in 6401b12faf6Smrg ``Display'' subsections. Should no mode names be specified (or those 6411b12faf6Smrg specified do not yield a usable mode), the server will automatically 6421b12faf6Smrg select as a default resolution the largest usable mode, whether or not 6431b12faf6Smrg the chosen mode is specified in the corresponding ``Monitor'' section. 6441b12faf6Smrg 6451b12faf6Smrg 6461b12faf6Smrg For a digital flat panel, any sync tolerances should be removed from 6471b12faf6Smrg the corresponding ``Monitor'' section. The driver will automatically 6481b12faf6Smrg calculate these from the mode that is active on server entry. The 6491b12faf6Smrg driver also inserts timings for a mode called "Native panel mode" that 6501b12faf6Smrg represents the panel's native resolution. 6511b12faf6Smrg 6521b12faf6Smrg 6531b12faf6Smrg 7. Known problems and limitations 6541b12faf6Smrg 6551b12faf6Smrg There are several known problems or limitations related to the ATI 6561b12faf6Smrg driver. They include: 6571b12faf6Smrg 6581b12faf6Smrg 6591b12faf6Smrg o When using a Mach64's accelerator CRTC, the virtual resolution must 6601b12faf6Smrg be less than 8192 pixels wide. The VGA CRTC further limits the 6611b12faf6Smrg virtual resolution width to less than 4096 pixels, or to less than 6621b12faf6Smrg 2048 pixels for adapters based on 18800-x's (with 256kB of memory) 6631b12faf6Smrg and on Mach64 integrated controllers. These are hardware limits 6641b12faf6Smrg that cannot be circumvented. 6651b12faf6Smrg 6661b12faf6Smrg o Virtual resolutions requiring more than 1MB of video memory (256kB 6671b12faf6Smrg in the monochrome case) are not supported by the VGA CRTC on 6681b12faf6Smrg 88800GX and 88800CX adapters. This is a hardware limit that cannot 6691b12faf6Smrg be circumvented. 6701b12faf6Smrg 6711b12faf6Smrg o Due to hardware limitations, doublescanned modes are not supported 6721b12faf6Smrg by the accelerator CRTC in 88800GX, 88800CX, 264CT and 264ET 6731b12faf6Smrg adapters. 6741b12faf6Smrg 6751b12faf6Smrg o The ``VScan'' modeline parameter is only supported when using the 6761b12faf6Smrg VGA CRTC. 6771b12faf6Smrg 6781b12faf6Smrg o Interlaced modes are not supported on 18800-x and 28800-x adapters 6791b12faf6Smrg when using a virtual resolution that is 2048 pixels or wider. When 6801b12faf6Smrg using a 18800-x with 256kB of video memory in 256-colour modes, 6811b12faf6Smrg this limit is reduced to 1024. This is yet another hardware 6821b12faf6Smrg limitation that cannot be circumvented. 6831b12faf6Smrg 6841b12faf6Smrg o Video memory banking does not work in monochrome and 16-colour 6851b12faf6Smrg modes on 18800-x adapters. This appears to be another hardware 6861b12faf6Smrg limit, but this conclusion cannot be confirmed at this time. The 6871b12faf6Smrg driver's default behaviour in this case is to limit video memory to 6881b12faf6Smrg 256kB. 6891b12faf6Smrg 6901b12faf6Smrg o Video memory corruption can still occur during mode switches on 6911b12faf6Smrg 18800-x adapters. Symptoms of this problem include garbled fonts 6921b12faf6Smrg on return to text mode, and various effects (snow, dashed lines, 6931b12faf6Smrg etc) on initial entry into a graphics mode. In the first case, the 6941b12faf6Smrg workaround is to use some other means of restoring the text font. 6951b12faf6Smrg On Linux, this can be accomplished with the kbd or svgalib 6961b12faf6Smrg packages. In the second case, xrefresh(1) will usually clean up 6971b12faf6Smrg the image. No complete solution to this problem is currently 6981b12faf6Smrg known. It appears this corruption occurs due to either video 6991b12faf6Smrg memory bandwidth or RAMDAC limitations, and so the driver will 7001b12faf6Smrg limit mode clocks to 40MHz. 7011b12faf6Smrg 7021b12faf6Smrg o There is some controversy over what the maximum allowed clock 7031b12faf6Smrg frequency should be on 264xT and 3D Rage adapters. For now, clocks 7041b12faf6Smrg will, by default, be limited to 80MHz, 135MHz, 170MHz, 200MHz or 7051b12faf6Smrg 230MHz, depending on the specific controller. This limit can only 7061b12faf6Smrg be increased (up to a driver-calculated absolute maximum) through 7071b12faf6Smrg the DACSpeed specification in xorg.conf. Be aware however that 7081b12faf6Smrg doing so is untested and might damage the adapter. 7091b12faf6Smrg 7101b12faf6Smrg o Except as in the previous items, clocks are limited to 80MHz on 7111b12faf6Smrg most adapters, although many are capable of higher frequencies. 7121b12faf6Smrg This will eventually be fixed in a future release. 7131b12faf6Smrg 7141b12faf6Smrg o The use of a laptop's hot-keys to switch displays while this driver 7151b12faf6Smrg is active can cause lockups and/or other woes, and is therefore not 7161b12faf6Smrg recommended. It is not currently possible to solve this problem. 7171b12faf6Smrg 7181b12faf6Smrg 7191b12faf6Smrg o In situations where the driver is to simultaneously display on both 7201b12faf6Smrg a panel and a CRT, the same image will be seen on both. In 7211b12faf6Smrg particular, this means the CRT must be able to synchronise with the 7221b12faf6Smrg timings of the panel's native resolution. This is quite evident 7231b12faf6Smrg when the panel has ``odd-ball'' dimensions, such as 1400x1050, a 7241b12faf6Smrg resolution not commonly possible on CRTs or projection equipment. 7251b12faf6Smrg 7261b12faf6Smrg Also, the display of independent images on the panel and CRT is not 7271b12faf6Smrg currently implemented, and might never be, pending resolution of 7281b12faf6Smrg the previous item. 7291b12faf6Smrg 7301b12faf6Smrg 7311b12faf6Smrg Support for the following will be added in a future release: 7321b12faf6Smrg 7331b12faf6Smrg o Mach32's accelerator CRTC. This support is the first step towards 7341b12faf6Smrg accelerated support for Mach32's, Mach8's, 8514/A's and other 7351b12faf6Smrg clones. 7361b12faf6Smrg 7371b12faf6Smrg o Colour depth greater than 8 on non-integrated controllers, where 7381b12faf6Smrg permitted by the hardware. 7391b12faf6Smrg 7401b12faf6Smrg o Mach32, Mach8 and 8514/A Draw Engines. 7411b12faf6Smrg 7421b12faf6Smrg o Hardware cursors where implemented by hardware. This has already 7431b12faf6Smrg been done for Mach64 integrated controllers. 7441b12faf6Smrg 7451b12faf6Smrg o TVOut, i.e. the ability to use a television screen as a monitor. 7461b12faf6Smrg 7471b12faf6Smrg o Motion Video, i.e. displaying an asynchronous data stream (TV 7481b12faf6Smrg signal, DVD, etc.) in a window or full-screen. 7491b12faf6Smrg 7501b12faf6Smrg o 3D operations. 7511b12faf6Smrg 7521b12faf6Smrg 8. Reporting problems 7531b12faf6Smrg 7541b12faf6Smrg If you are experiencing problems that are not already recorded in this 7551b12faf6Smrg document, first ensure that you have the latest current release of 7561b12faf6Smrg this driver and the Xorg X server. Check the server's log (usually 7571b12faf6Smrg found in /var/log/Xorg.0.log) and ftp://ftp.freedesktop.org/pub/Xorg 7581b12faf6Smrg if you are uncertain. 7591b12faf6Smrg 7601b12faf6Smrg Secondly, please check Xorg's doc directory for additional 7611b12faf6Smrg information. 7621b12faf6Smrg 7631b12faf6Smrg Thirdly, a scan through the comp.windows.x.i386unix and 7641b12faf6Smrg comp.os.linux.x newsgroups, the xorg mailing list archives at 7651b12faf6Smrg http://lists.freedesktop.org/mailman/listinfo/xorg, and the Xorg bug 7661b12faf6Smrg database at https://bugs.freedesktop.org/enter_bug.cgi?product=xorg 7671b12faf6Smrg can also prove useful in resolving problems. 7681b12faf6Smrg 7691b12faf6Smrg If you are still experiencing problems, you can send non-HTMLised e- 7701b12faf6Smrg mail to <mailto:xorg@lists.fredesktop.org>. Please be as specific as 7711b12faf6Smrg possible when describing the problem(s), and include an unedited copy 7721b12faf6Smrg of the server's log and the xorg.conf file used. 7731b12faf6Smrg 7741b12faf6Smrg 7751b12faf6Smrg 7761b12faf6Smrg 9. Driver history 7771b12faf6Smrg 7781b12faf6Smrg The complete history of the driver is rather cloudy. The following is 7791b12faf6Smrg more than likely to be incomplete and inaccurate. 7801b12faf6Smrg 7811b12faf6Smrg Apparently, Per Lindqvist first got a driver working with an early ATI 7821b12faf6Smrg adapter under X386 1.1a. This original driver might have actually 7831b12faf6Smrg been based on a non-functional ATI driver written by Thomas Roell 7841b12faf6Smrg (currently of Xi Graphics). 7851b12faf6Smrg 7861b12faf6Smrg Then Doug Evans added support for the ATI VGA Wonder XL, trying in the 7871b12faf6Smrg process to make the driver work with all other ATI adapters available 7881b12faf6Smrg at the time. 7891b12faf6Smrg 7901b12faf6Smrg Rik Faith obtained the X11R4 driver from Doug Evans in the summer of 7911b12faf6Smrg 1992 and ported the code to the X386 part of X11R5. This subsequently 7921b12faf6Smrg became part of XFree86. 7931b12faf6Smrg 7941b12faf6Smrg Marc Aurele La France took over development and maintenance of the 7951b12faf6Smrg driver in the fall of 1993 after Rik got rid of his VGA Wonder 7961b12faf6Smrg adapter. 7971b12faf6Smrg 7981b12faf6Smrg 7991b12faf6Smrg 10. Driver versions 8001b12faf6Smrg 8011b12faf6Smrg Due to the introduction of loadable drivers in XFree86 4.0, it has 8021b12faf6Smrg become necessary to track driver versions separately. Driver releases 8031b12faf6Smrg use the following version numbering scheme. 8041b12faf6Smrg 8051b12faf6Smrg Version 1 of this driver is the one I inherited from Rik Faith. This 8061b12faf6Smrg is the version found in XFree86 2.0 and 2.1. 8071b12faf6Smrg 8081b12faf6Smrg Version 2 is my first rewrite of this code which only ended up being a 8091b12faf6Smrg partially unsuccessful attempt at generalising the driver for all VGA 8101b12faf6Smrg Wonder, Mach32, and early Mach64 adapters. Various releases of this 8111b12faf6Smrg version of the driver can be found in XFree86 2.1.1, 3.1, 3.1.1 and 8121b12faf6Smrg 3.1.2. 8131b12faf6Smrg 8141b12faf6Smrg Version 3 represents my second rewrite (although a rather lame one as 8151b12faf6Smrg rewrites go). Into version 3, I introduced clock programming for 8161b12faf6Smrg Mach64 adapters and merged in the old ati_test debugging tool. This 8171b12faf6Smrg is the version found in XFree86 3.2, 3.3 and 3.3.1. 8181b12faf6Smrg 8191b12faf6Smrg Version 4 is a rather major restructuring of version 3, which became 8201b12faf6Smrg larger than I could comfortably handle in one source file. This is 8211b12faf6Smrg the version found in XFree86 3.3.2, 3.3.3, 3.3.3.1, 3.3.3.2, 3.3.4, 8221b12faf6Smrg 3.3.5 and 3.3.6. 8231b12faf6Smrg 8241b12faf6Smrg Version 5 is an almost complete restructuring of version 4 to fit in 8251b12faf6Smrg the newer driver API of XFree86 4.0 and later. 8261b12faf6Smrg 8271b12faf6Smrg The introduction of version 6 is a first swipe at porting the driver 8281b12faf6Smrg to non-Intel architectures. 829d31dbc53Smrg 830d31dbc53SmrgAll questions regarding this software should be directed at the 831d31dbc53SmrgXorg mailing list: 832d31dbc53Smrg 833d31dbc53Smrg http://lists.freedesktop.org/mailman/listinfo/xorg 834d31dbc53Smrg 8352a51b5beSmrgPlease submit bug reports to the Xorg bugzilla: 8362a51b5beSmrg 8372a51b5beSmrg https://bugs.freedesktop.org/enter_bug.cgi?product=xorg 8382a51b5beSmrg 839d31dbc53SmrgThe master development code repository can be found at: 840d31dbc53Smrg 841d31dbc53Smrg git://anongit.freedesktop.org/git/xorg/driver/xf86-video-mach64 842d31dbc53Smrg 843d31dbc53Smrg http://cgit.freedesktop.org/xorg/driver/xf86-video-mach64 844d31dbc53Smrg 8452a51b5beSmrgFor patch submission instructions, see: 8462a51b5beSmrg 8472a51b5beSmrg http://www.x.org/wiki/Development/Documentation/SubmittingPatches 8482a51b5beSmrg 849d31dbc53SmrgFor more information on the git code manager, see: 850d31dbc53Smrg 851d31dbc53Smrg http://wiki.x.org/wiki/GitPage 8522a51b5beSmrg 8531b12faf6Smrg 854