xserver-xorg-video-r128: Changes to 'upstream-experimental'
Makefile.am | 5
README.ati | 828 ----
README.ati.sgml | 648 ---
configure.ac | 180 -
man/Makefile.am | 4
man/ati.man | 34
man/radeon.man | 490 --
src/AtomBios/CD_Operations.c | 954 -----
src/AtomBios/Decoder.c | 235 -
src/AtomBios/hwserv_drv.c | 348 --
src/AtomBios/includes/CD_Common_Types.h | 154
src/AtomBios/includes/CD_Definitions.h | 49
src/AtomBios/includes/CD_Opcodes.h | 181 -
src/AtomBios/includes/CD_Structs.h | 464 --
src/AtomBios/includes/CD_binding.h | 46
src/AtomBios/includes/CD_hw_services.h | 318 -
src/AtomBios/includes/Decoder.h | 86
src/AtomBios/includes/ObjectID.h | 448 --
src/AtomBios/includes/atombios.h | 4306 -------------------------
src/AtomBios/includes/regsdef.h | 25
src/Makefile.am | 190 -
src/ati.c | 485 --
src/ati.h | 38
src/ati_pciids_gen.h | 352 --
src/atiadjust.c | 134
src/atiadjust.h | 31
src/atiaudio.c | 50
src/atiaudio.h | 51
src/atibank.c | 114
src/atibank.h | 44
src/atibus.c | 123
src/atibus.h | 49
src/atichip.c | 271 -
src/atichip.h | 94
src/aticlock.c | 442 --
src/aticlock.h | 62
src/aticonfig.c | 527 ---
src/aticonsole.c | 816 ----
src/aticonsole.h | 43
src/aticrtc.h | 42
src/aticursor.h | 42
src/atidac.c | 462 --
src/atidac.h | 99
src/atidecoder.c | 50
src/atidecoder.h | 51
src/atidga.c | 483 --
src/atidga.h | 36
src/atidri.c | 1640 ---------
src/atidri.h | 49
src/atidripriv.h | 57
src/atidsp.c | 302 -
src/atidsp.h | 35
src/atii2c.c | 399 --
src/atii2c.h | 48
src/atiload.c | 98
src/atiload.h | 32
src/atilock.c | 537 ---
src/atilock.h | 31
src/atimach64.c | 1341 --------
src/atimach64.h | 36
src/atimach64accel.c | 1068 ------
src/atimach64accel.h | 42
src/atimach64cursor.c | 426 --
src/atimach64exa.c | 696 ----
src/atimach64i2c.c | 469 --
src/atimach64i2c.h | 32
src/atimach64io.c | 103
src/atimach64io.h | 421 --
src/atimach64probe.c | 234 -
src/atimach64probe.h | 32
src/atimach64render.c | 898 -----
src/atimach64version.h | 59
src/atimach64xv.c | 1686 ----------
src/atimisc.c | 82
src/atimode.c | 1084 ------
src/atimode.h | 35
src/atimodule.c | 79
src/atioption.h | 98
src/atipciids.h | 53
src/atipcirename.h | 3
src/atipreinit.c | 2464 --------------
src/atipreinit.h | 30
src/atiprint.c | 784 ----
src/atiprint.h | 34
src/atipriv.h | 30
src/atiprobe.c | 521 ---
src/atiprobe.h | 30
src/atiregs.h | 2882 -----------------
src/atirgb514.c | 283 -
src/atirgb514.h | 35
src/atiscreen.c | 692 ----
src/atiscreen.h | 31
src/atistruct.h | 529 ---
src/atituner.c | 177 -
src/atituner.h | 69
src/atiutil.c | 117
src/atiutil.h | 67
src/ativalid.c | 161
src/ativalid.h | 30
src/ativersion.h | 54
src/ativga.c | 195 -
src/ativga.h | 40
src/ativgaio.c | 49
src/ativgaio.h | 56
src/atividmem.c | 483 --
src/atividmem.h | 73
src/atiwonder.c | 159
src/atiwonder.h | 38
src/atiwonderio.c | 66
src/atiwonderio.h | 46
src/atixv.h | 34
src/atombios_crtc.c | 426 --
src/atombios_output.c | 693 ----
src/generic_bus.h | 35
src/legacy_crtc.c | 1821 ----------
src/legacy_output.c | 1787 ----------
src/local_xf86Rename.h | 23
src/mach64_common.h | 130
src/mach64_dri.h | 125
src/mach64_sarea.h | 162
src/pcidb/ati_pciids.csv | 353 --
src/pcidb/parse_pci_ids.pl | 94
src/r128_chipset.h | 54
src/r128_dri.c | 2
src/r128_driver.c | 4
src/r128_misc.c | 8
src/r128_probe.c | 328 +
src/r128_probe.h | 2
src/radeon.h | 1184 -------
src/radeon_accel.c | 1254 -------
src/radeon_accelfuncs.c | 1346 --------
src/radeon_atombios.c | 2833 ----------------
src/radeon_atombios.h | 253 -
src/radeon_atomwrapper.c | 101
src/radeon_atomwrapper.h | 31
src/radeon_bios.c | 1469 --------
src/radeon_chipinfo_gen.h | 273 -
src/radeon_chipset_gen.h | 274 -
src/radeon_common.h | 494 --
src/radeon_commonfuncs.c | 322 -
src/radeon_crtc.c | 690 ----
src/radeon_cursor.c | 360 --
src/radeon_dga.c | 463 --
src/radeon_dri.c | 2216 -------------
src/radeon_dri.h | 100
src/radeon_dripriv.h | 63
src/radeon_driver.c | 5360 --------------------------------
src/radeon_exa.c | 542 ---
src/radeon_exa_funcs.c | 592 ---
src/radeon_exa_render.c | 1266 -------
src/radeon_macros.h | 163
src/radeon_misc.c | 82
src/radeon_mm_i2c.c | 642 ---
src/radeon_modes.c | 310 -
src/radeon_output.c | 2376 --------------
src/radeon_pci_chipset_gen.h | 274 -
src/radeon_probe.c | 220 -
src/radeon_probe.h | 587 ---
src/radeon_reg.h | 3954 -----------------------
src/radeon_render.c | 1052 ------
src/radeon_sarea.h | 231 -
src/radeon_tv.c | 1164 ------
src/radeon_tv.h | 51
src/radeon_version.h | 63
src/radeon_video.c | 3940 -----------------------
src/radeon_video.h | 103
src/radeon_vip.c | 362 --
src/theatre.c | 2209 -------------
src/theatre.h | 79
src/theatre200.c | 2275 -------------
src/theatre200.h | 140
src/theatre200_module.c | 33
src/theatre_detect.c | 129
src/theatre_detect.h | 46
src/theatre_detect_module.c | 37
src/theatre_module.c | 33
src/theatre_reg.h | 876 -----
177 files changed, 243 insertions(+), 86169 deletions(-)
New commits:
commit d855d208f2749b6a9adb6165e08ef6523cdf892d
Author: George Sapountzis <gsap7@yahoo.gr>
Date: Wed Feb 27 19:07:45 2008 +0200
add warning message
diff --git a/configure.ac b/configure.ac
index 436bc4b..eed1586 100644
--- a/configure.ac
+++ b/configure.ac
@@ -129,6 +129,12 @@ XORG_MANPAGE_SECTIONS
XORG_RELEASE_VERSION
XORG_CHECK_LINUXDOC
+AC_MSG_NOTICE(
+[Please change the Driver line in xorg.conf from "ati" to "r128" or install]
+[the ati wrapper as well:]
+[ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati]
+)
+
AC_OUTPUT([
Makefile
src/Makefile
commit 78d7c217f62fc12e4abbf07a79c9af4d2343c85b
Author: George Sapountzis <gsap7@yahoo.gr>
Date: Wed Feb 27 19:07:31 2008 +0200
change module name and version
module gets package version, driver keeps its own version
diff --git a/configure.ac b/configure.ac
index 06bf473..436bc4b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,10 +21,10 @@
# Process this file with autoconf to produce a configure script
AC_PREREQ(2.57)
-AC_INIT([xf86-video-ati],
+AC_INIT([xf86-video-r128],
6.8.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
- xf86-video-ati)
+ xf86-video-r128)
AC_CONFIG_SRCDIR([Makefile.am])
AM_CONFIG_HEADER([config.h])
@@ -122,7 +122,7 @@ AC_SUBST([XORG_CFLAGS])
AC_SUBST([DRI_CFLAGS])
AC_SUBST([moduledir])
-DRIVER_NAME=ati
+DRIVER_NAME=r128
AC_SUBST([DRIVER_NAME])
XORG_MANPAGE_SECTIONS
diff --git a/src/r128_misc.c b/src/r128_misc.c
index 2dc6040..990563d 100644
--- a/src/r128_misc.c
+++ b/src/r128_misc.c
@@ -38,7 +38,7 @@ static XF86ModuleVersionInfo R128VersionRec =
MODINFOSTRING1,
MODINFOSTRING2,
XORG_VERSION_CURRENT,
- R128_VERSION_MAJOR, R128_VERSION_MINOR, R128_VERSION_PATCH,
+ PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
ABI_CLASS_VIDEODRV,
ABI_VIDEODRV_VERSION,
MOD_CLASS_VIDEODRV,
commit ea008fb7098f76d1ba61eee71c494b3e09c7ae27
Author: George Sapountzis <gsap7@yahoo.gr>
Date: Wed Feb 27 19:07:13 2008 +0200
drop mach64
diff --git a/README.ati b/README.ati
deleted file mode 100644
index 7dddbee..0000000
--- a/README.ati
+++ /dev/null
@@ -1,828 +0,0 @@
- $Id$ Based on
- XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/ati.sgml,v
- 3.42 2003/01/20 03:43:07 dawes Exp ATI Adapters README file
- Marc Aurele La France
- 2002 February 12
-
- This is the README for the XAA ATI driver included in this release.
- ______________________________________________________________________
-
- Table of Contents
-
-
- 1. Statement of intent
- 2. A note on acceleration
- 3. Current implementation for ATI adapters
- 4. Current implementation of generic VGA support for non-ATI adapters
- 5. xorg.conf specifications
- 5.1 Driver ``ati''
- 5.2 ChipSet ``name''
- 5.3 ChipID & ChipRev specifications
- 5.4 IOBase
- 5.5 BusID
- 5.6 Clocks
- 5.6.1 Clocks for supported programmable clock generators
- 5.6.2 Clocks for unsupported programmable clock generators
- 5.6.3 Clocks for fixed clock generators on ATI adapters
- 5.6.4 Clocks for non-ATI adapters
- 5.7 Option ``nopanel_display''
- 5.8 Option ``crt_display''
- 5.9 Option ``noaccel''
- 5.10 Option ``nolinear''
- 5.11 Option ``HWCursor'' and Option ``SWCursor''
- 5.12 Option ``SilkenMouse''
- 5.13 Option ``shadowfb''
- 5.14 Option ``dpms''
- 5.15 Option ``backingstore''
- 5.16 MemBase address
- 5.17 Option ``ReferenceClock'' ``frequency''
- 5.18 ClockChip ``name''
-
- 6. Video modes
- 7. Known problems and limitations
- 8. Reporting problems
- 9. Driver history
- 10. Driver versions
-
-
- ______________________________________________________________________
-
- [1m1. Statement of intent[0m
-
- Generally speaking, the driver is intended for all ATI video adapters,
- providing maximum video function within hardware limitations. The
- driver is also intended to optionally provide the same level of
- support for generic VGA or 8514/A adapters. This driver is still
- being actively developed, meaning that it currently does not yet fully
- meet these goals.
-
- The driver will provide
-
- +o accelerated support if an ATI accelerator is detected [4mand[24m the user
- has not requested that this support be disabled; otherwise
-
- +o accelerated support if a non-ATI 8514/A-capable adapter is detected
- [4mand[24m the user has requested such support; otherwise
-
- +o unaccelerated SuperVGA support if an ATI VGA-capable adapter is
- detected; otherwise
-
- +o generic VGA support if a non-ATI VGA-capable adapter is detected
- [4mand[24m the user has requested such support.
-
- Thus, the level of support provided not only depends on what the
- driver detects in the system, but also, on what the user specifies
- in the xorg.conf file. See the [1m``xorg.conf specifications''[0m
- section below for details.
-
- If none of the above conditions are met, the ATI driver will
- essentially disable itself to allow other drivers to examine the
- system.
-
- Note that I am currently considering removing the driver's support for
- generic VGA. If you have any concerns about this, please contact me
- at <tsi@xfree86.org>.
-
- [1m2. A note on acceleration[0m
-
- The meaning of ``acceleration'', as used in this document, needs to be
- clarified. Two of the many components in an accelerator are the CRT
- controller (CRTC) and the Draw Engine. This is in addition to another
- CRTC that, generally, is also present in the system (often in the same
- chip) and typically provides EGA, VGA or SuperVGA functionality.
-
- A CRTC is the component of a graphics controller that is responsible
- for reading video memory for output to the screen. A Draw Engine is
- an accelerator component that can be programmed to manipulate video
- memory contents, thus freeing the CPU for other tasks.
-
- When the VGA CRTC is used, all drawing operations into video memory
- are the responsibility of the system's CPU, i.e. no Draw Engine can be
- used. On the other hand, if the accelerator's CRTC is chosen to drive
- the screen, the Draw Engine can also be used for drawing operations,
- although the CPU can still be used for this purpose if it can access
- the accelerator's video memory.
-
- Video acceleration refers to the programming of an accelerator's Draw
- Engine to offload drawing operations from the CPU, and thus also
- implies the use of the accelerator's CRTC.
-
-
- [1m3. Current implementation for ATI adapters[0m
-
- The driver currently supports the SuperVGA capabilities of all ATI
- adapters except some early Mach8 and Mach32 adapters that do not
- provide the required functionality. This support works for
- monochrome, 16-colour and 256-colour video modes, if one of the
- following ATI graphics controller chips is present:
-
- VGAWonder series: 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6
- Mach32 series: 68800-3, 68800-6, 68800AX, 68800LX
- Mach64 series: 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX,
- 264CT, 264ET, 264VT, 264GT (3D Rage), 264VT-B, 264VT3,
- 264VT4, 264GT-B (3D Rage II), 3D Rage IIc, 3D Rage Pro,
- 3D Rage LT, 3D Rage LT Pro, 3D Rage XL, 3D Rage XC,
- 3D Rage Mobility (including the -M and -P variants)
-
-
- The driver also supports 32K, 64K and 16M-colour modes on the 264xT
- and 3D Rage series of adapters using the accelerator CRTC (but not the
- VGA CRTC).
-
-
- The newer Rage 128 and Radeon chips are not yet supported by this
- driver. Rage 128's and Radeon's are, however, supported by separate
- drivers, and owners of such adapters should consult the documentation
- provided with these drivers. This driver will also invoke the
- appropriate driver if it finds Rage 128 and/or Radeon adapter(s) in
- the system.
-
- Adapters based on the above chips have been marketed under a rather
- large number of names over the years. Among them are:
-
- VGAWonder series: VGAWonder V3, VGAWonder V4, VGAWonder V5, VGAWonder+,
- VGAWonder XL, VGAWonder XL24, VGAWonder VLB, VGA Basic,
- VGA Basic 16, VGA Edge, VGA Edge 16, VGA Integra,
- VGA Charger, VGAStereo F/X, VGA 640, VGA 800, VGA 1024,
- VGA 1024D, VGA 1024 XL, VGA 1024 DXL, VGA 1024 VLB
- Mach8 series: Graphics Ultra, Graphics Vantage, VGAWonder GT
- (None of the 8514/Ultra and 8514 Vantage series is
- supported at this time)
- Mach32 series: Graphics Ultra+, Graphics Ultra Pro, Graphics Wonder,
- Graphics Ultra XLR, Graphics Ultra AXO, VLB mach32-D,
- PCI mach32-D, ISA mach32
- Mach64 series: Graphics Xpression, Graphics Pro Turbo, WinBoost,
- WinTurbo, Graphics Pro Turbo 1600, Video Xpression,
- 3D Xpression, Video Xpression+, 3D Xpression+,
- 3D Charger, Video Charger, WinCharger, All-In-Wonder,
- All-In-Wonder PRO, 3D Pro Turbo, XPERT@Play,
- XPERT@Play 98, XPERT@Work, XPERT 98, XPERT LCD,
- XPERT XL
-
-
- Also, a number of mainboards, laptops and notebooks harbour a Mach32
- or Mach64 controller.
-
- VGAWonder, Mach8 and Mach32 ISA adapters are available with or without
- a mouse.
-
- These adapters are available with a variety of clock generators and
- RAMDACs. The 264xT and 3D Rage series of chips are integrated
- controllers, meaning that they include a programmable clock generator
- and a RAMDAC.
-
- For all but Mach64 adapters, this driver still does not provide
- support for accelerated drawing to the screen. This means that all
- drawing is done by the CPU, rather than by any accelerator present in
- the system. This can make opaque moves, for example, quite ``jerky''.
- Also, given that IBM 8514/A and ATI Mach8 do not allow CPU access to
- their frame buffer, the driver will currently ignore these
- accelerators. Most Mach32 adapters provide both accelerated function
- and SuperVGA functionality, but the driver currently only uses the
- VGA.
-
- The driver [4mdoes[24m however support the accelerator CRTC present in all
- ATI Mach64 adapters. For 256-colour, and higher depth modes, this
- support will be used by default, although an xorg.conf option can be
- specified to use the SuperVGA CRTC instead. A linear video memory
- aperture is also available in 256-colour and higher depth modes and
- enabled by default if a 264xT or 3D Rage controller is detected or, on
- 88800 controllers, if the accelerator CRTC is used. xorg.conf options
- are available to disable this aperture, or (for non-PCI adapters)
- enable it or move it to some other address.
-
- By default, the driver provides some acceleration for Mach64 if the
- accelerator CRTC is used, and modes whose colour depth greater than or
- equal to 8 are to be used. This support is as yet incomplete and can
- be disabled entirely with an xorg.conf option.
-
- On non-Intel platforms, the driver can, currently, only support PCI
- Mach64 adapters.
-
-
- [1m4. Current implementation of generic VGA support for non-ATI adapters[0m
-
- Support for generic VGA with non-ATI adapters is also implemented, but
- has undergone only limited testing. The driver will intentionally
- disallow the use of this support with ATI adapters. This support must
- be explicitly requested through an xorg.conf ChipSet specification.
- This prevents the current VGA generic driver from being disabled.
-
- This driver's generic VGA support is intended as an extension of that
- provided by the current generic driver. Specifically, within the
- architectural bounds defined by IBM's VGA standard, this driver will
- allow the use of any 256-colour mode, and any dot clock frequencies
- both of which allow for many more mode possibilities.
-
- The driver will enforce the following limitations derived from IBM's
- original VGA implementation:
-
- +o There can only be a set of four (non-programmable) clocks to choose
- from.
-
- +o Video memory is limited to 256kB in monochrome and 16-colour modes.
-
- +o Video memory is limited to 64kB in 256-colour modes.
-
- +o Interlaced modes are not available.
-
- +o Colour depths higher than 8 are not available.
-
- [1m5. xorg.conf specifications[0m
-
- The driver recognises a number of xorg.conf options. In general, all
- such options should be specified in a ``Device'' section, and affect
- only that ``Device'' section.
-
- Those options that affect how the driver associates adapters with
- ``Device'' sections are described first. The driver will ignore (with
- a message) a ``Device'' section if the section cannot be associated
- with exactly one adapter in the system. Similarly, the driver will
- ignore, or disable, (with a message) any adapter that cannot be
- associated with exactly one ``Device'' section. Thus, these options
- will be required in those uncommon cases where such unique
- associations cannot automatically be made by the driver.
-
- Other options affect the driver's operation once an adapter has been
- assigned to the ``Device'' section which contains them.
-
-
- [1m5.1. Driver ``ati''[0m
-
- The use of this specification is highly recommended if the ``Device''
- section is to be recognised by the driver. In fact, it is almost (but
- not quite) mandatory, particularly when using the loader server as it
- indicates what driver is to be loaded and associated with the
- ``Device'' section.
-
-
- [1m5.2. ChipSet ``name''[0m
-
- The default ChipSet name for this driver is ``[4mati[24m''. In this case,
- any ATI adapter can be associated with the ``Device'' section. If an
- ATI accelerator is detected and the driver supports it, the
- accelerator's CRTC will be used to drive the screen. Otherwise, the
- driver will programme the adapter's SuperVGA CRTC.
-
- If ``[4mativga[24m'' is specified instead, the driver will ignore any ATI
- accelerator it detects, but otherwise operate as if ``[4mati[24m'' had been
- specified. This specification ensures the VGA CRTC is used.
-
- A ChipSet name of ``[4mibmvga[24m'' causes any VGA-capable adapter in the
- system to be associated with the ``Device'' section. It enables the
- driver's generic VGA support, but only for non-ATI adapters. If an
- ATI adapter is associated with the ``Device'' section, the driver will
- operate as if ``[4mativga[24m'' had been specified instead.
-
- A ChipSet name of ``[4mvgawonder[24m'' is equivalent to ``[4mativga[24m'', except
- that only VGAWonder-capable adapters can be assigned to the ``Device''
- section. This specifically excludes the newer integrated Mach64
- controllers.
-
- In some PCI or AGP systems, the driver will not, by default, probe for
- non-PCI Mach32's or Mach64's. This is because, before doing any such
- probe, the driver attempts to determine if the probe can cause a
- lockup. If the driver has enough information to determine that a
- lockup would occur, it will skip the probe. In some situations, this
- determination cannot be accurate, and the driver will err on the side
- of caution, skipping the probe. Specifying a ChipSet name of
- ``[4mmach32[24m'' or ``[4mmach64[24m'', as appropriate, will force the driver to
- probe for the non-PCI adapter. These ChipSet names should, therefore,
- only be used when there is in fact such an adapter in the system.
- They are otherwise equivalent to ``[4mati[24m''.
-
- On non-Intel platforms, only ``[4mati[24m'' and ``[4mmach64[24m'' ChipSet values are
- operative.
-
-
- [1m5.3. ChipID & ChipRev specifications[0m
-
- These specifications will cause the driver to associate the ``Device''
- section only with an adapter having the same attributes, or an adapter
- whose PCI device ID the driver does not recognise. In the second
- case, these options cause the driver to treat the adapter as if it was
- one with the specified PCI device ID or revision. ChipID can only be
- used with Mach32 or Mach64 adapters, and, thus, specifically excludes
- any other adapter from matching the ``Device'' section. ChipRev is
- meaningful only with Mach64 adapters, and then only if ChipID is also
- specified in the same ``Device'' section.
-
-
- [1m5.4. IOBase[0m
-
- This option limits the adapters that can be associated with the
- ``Device'' section to the one with the specified I/O base. This
- option only applies to Mach64 adapters and specifically excludes other
- adapters.
-
-
- [1m5.5. BusID[0m
-
- This option limits the adapters that can be associated with the
- ``Device'' section to the one with the specified PCI Bus ID. This
- specification excludes non-PCI adapters.
-
-
- [1m5.6. Clocks[0m
-
- For the purpose of specifying a clock line in your xorg.conf, one of
- four different situations can occur, as follows.
-
- Those configuring the driver's generic VGA support for a non-ATI
- adapter, can skip ahead to the [1m``Clocks for non-ATI adapters'' [22msection
- below. Those [4mnot[24m trying to configure the driver for a Mach64 adapter,
- can skip ahead to the [1m``Clocks for fixed clock generators on ATI[0m
- [1madapters'' [22msection below.
-
- The very earliest Mach64 adapters use fixed (i.e. non-programmable)
- clock generators. Very few of these (mostly prototypes) are known to
- exist, but if you have one of these, you can also skip ahead to the
- [1m``Clocks for fixed clock generators on ATI adapters'' [22msection below.
-
- The two cases that are left deal with programmable clock generators,
- which are used on the great majority of Mach64 adapters.
-
- If you are uncertain which situation applies to your adapter, you can
- run a clock probe with the command ``X -probeonly''.
-
-
- [1m5.6.1. Clocks for supported programmable clock generators[0m
-
- At bootup, video BIOS initialisation programmes an initial set of
- frequencies. Two of these are reserved to allow the setting of modes
- that do not use a frequency from this initial set. One of these
- reserved slots is used by the BIOS mode set routine, the other by the
- particular driver used (e.g. MS-Windows, AutoCAD, X, etc.). The clock
- numbers reserved in this way are dependent on the particular clock
- generator used by the adapter.
-
- The driver currently supports all programmable clock generators known
- to exist on Mach64 adapters. In this case, the driver will completely
- ignore any xorg.conf clock specification, and programme the clock
- generator as needed by the modes used during the X session.
-
-
- [1m5.6.2. Clocks for unsupported programmable clock generators[0m
-
- This case is unlikely to occur, but is documented for the sake of
- completeness.
-
- In this situation, the driver will probe the adapter for clock
- frequencies unless xorg.conf clocks are already specified. In either
- case, the driver will then attempt to normalise the clocks to one of
- the following specifications:
-
- BIOS setting 1:
-
- Clocks 0.000 110.000 126.000 135.000 50.350 56.640 63.000 72.000
- 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000
- 0.000 55.000 63.000 67.500 25.180 28.320 31.500 36.000
- 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000
-
-
-
- BIOS setting 2:
-
- Clocks 0.000 110.000 126.000 135.000 25.180 28.320 31.500 36.000
- 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000
- 0.000 55.000 63.000 67.500 12.590 14.160 15.750 18.000
- 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000
-
-
-
- BIOS setting 3:
-
- Clocks 0.000 0.000 0.000 0.000 25.180 28.320 0.000 0.000
- 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
- 0.000 0.000 0.000 0.000 12.590 14.160 0.000 0.000
- 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
-
-
- If the driver matches the clocks to the third setting above, function-
- ality will be [4mextremely[24m limited (assuming the driver works at all).
-
-
- [1m5.6.3. Clocks for fixed clock generators on ATI adapters[0m
-
- This section applies to all VGAWonder and Mach32 adapters, and to
- early Mach64 prototypes.
-
- One of the following clocks specifications (or an initial subset
- thereof) can be used depending on what the adapter uses to generate
- dot clocks:
-
- Crystals (VGA Wonder V3 and V4 adapters only):
-
- Clocks 50.000 56.644 0.000 44.900 44.900 50.000 0.000 36.000
- 25.000 28.322 0.000 22.450 22.450 25.000 0.000 18.000
- 16.667 18.881 0.000 14.967 14.967 16.667 0.000 12.000
- 12.500 14.161 0.000 11.225 11.225 12.500 0.000 9.000
-
-
-
- ATI 18810 clock generator:
-
- Clocks 30.240 32.000 37.500 39.000 42.954 48.771 0.000 36.000
- 40.000 0.000 75.000 65.000 50.350 56.640 0.000 44.900
- 15.120 16.000 18.750 19.500 21.477 24.386 0.000 18.000
- 20.000 0.000 37.500 32.500 25.175 28.320 0.000 22.450
- 10.080 10.667 12.500 13.000 14.318 16.257 0.000 12.000
- 13.333 0.000 25.000 21.667 16.783 18.880 0.000 14.967
- 7.560 8.000 9.375 9.750 10.739 12.193 0.000 9.000
- 10.000 0.000 18.750 16.250 12.586 14.160 0.000 11.225
-
-
-
- ATI 18811-0 and ATI 18812-0 clock generators:
-
- Clocks 30.240 32.000 110.000 80.000 42.954 48.771 92.400 36.000
- 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900
- 15.120 16.000 55.000 40.000 21.477 24.386 46.200 18.000
- 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450
- 10.080 10.667 36.667 26.667 14.318 16.257 30.800 12.000
- 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967
- 7.560 8.000 27.500 20.000 10.739 12.193 23.100 9.000
- 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225
-
-
-
- ATI 18811-1 and ATI 18811-2 clock generators:
-
- Clocks 135.000 32.000 110.000 80.000 100.000 126.000 92.400 36.000
- 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900
- 67.500 16.000 55.000 40.000 50.000 63.000 46.200 18.000
- 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450
- 45.000 10.667 36.667 26.667 33.333 42.000 30.800 12.000
- 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967
- 33.750 8.000 27.500 20.000 25.000 31.500 23.100 9.000
- 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225
-
-
-
- ICS 2494-AM clock generators (found on some Dell motherboards):
-
- Clocks 75.000 77.500 80.000 90.000 25.175 28.322 31.500 36.000
- 100.000 110.000 126.000 135.000 40.000 44.900 50.000 65.000
- 37.500 38.750 40.000 45.000 12.588 14.161 15.750 18.000
- 50.000 55.000 63.000 67.500 20.000 22.450 25.000 32.500
- 25.000 25.833 26.667 30.000 8.392 9.441 10.500 12.000
- 33.333 36.667 42.000 45.000 13.333 14.767 16.667 21.667
- 18.750 19.375 20.000 22.500 6.294 7.081 7.875 9.000
- 25.000 27.500 31.500 33.750 10.000 11.225 12.500 16.250
-
-
- VGAWonder VLB, VGA 1024 VLB, Mach32 and Mach64 owners should only
- specify up to the first 32 frequencies. Any more will be ignored.
-
- Other clock generators that have been used on ATI adapters (which can
- all be said to be clones of one of the above) might generate non-zero
- frequencies for those that are zero above, or vice-versa.
-
- The order of the clocks [4mis[24m very important, although the driver will
- reorder the specified clocks if it deems it appropriate to do so.
- Mach32 and Mach64 owners should note that this order is different than
- what they would use for previous accelerated servers.
-
-
- [1m5.6.4. Clocks for non-ATI adapters[0m
-
- If no clocks are specified in the xorg.conf, the driver will probe for
- four clocks, the second of which will be assumed to be 28.322 MHz.
- The first clock will typically be 25.175 MHz, but there are
- exceptions. You can include up to four clock frequencies in your
- xorg.conf to specify the actual values used by the adapter. Any more
- will be ignored.
-
-
- [1m5.7. Option ``nopanel_display''[0m
-
- This specification is only effective when the driver detects that the
- adapter's BIOS has initialised both the digital flat panel and CRT
- interfaces. In such a situation, the driver will normally drive both
- the panel and the CRT. This specification causes the driver to
- disable the digital flat panel and display the screen image on the CRT
- instead, which could potentially allow for larger physical resolutions
- than the panel can handle.
-
-
- [1m5.8. Option ``crt_display''[0m
-
- This specification is only effective when the driver detects that the
- adapter's BIOS has initialised the digital flat panel interface, but
- has disabled the CRT interface. In such a situation the driver will
- normally drive only the panel. This specification causes the driver
- to instead display the same image on both the panel and the CRT.
- [1m5.9. Option ``noaccel''[0m
-
- By default, the driver will accelerate draw operations if a Mach64
- CRTC is used to drive the display. As implemented in this driver,
- acceleration does not require a linear video memory aperture. This
- option disables this acceleration.
-
-
- [1m5.10. Option ``nolinear''[0m
-
- By default, the driver will enable a linear video memory aperture for
- 256-colour and higher depth modes if it is also using a Mach64
- accelerator CRTC or an integrated Mach64 graphics chip. This option
- disables this linear aperture.
-
- On non-Intel platforms, the driver requires a linear aperture and, so,
- this option is ignored.
-
-
- [1m5.11. Option ``HWCursor'' and Option ``SWCursor''[0m
-
- Option [4m``HWCursor''[24m, which is the default, specifies that hardware
- facilities are to be used to paint the mouse pointer on the screen.
- Option [4m``SWCursor''[24m specifies that the mouse pointer is to be drawn by
- software, which is much slower. If both options are specified, option
- [4m``SWCursor''[24m prevails. Currently, these options are only acted upon
- for 256-colour or higher depth modes, if a Mach64 accelerator CRTC, or
- a Mach64 integrated controller is being used. In all other
- situations, a software cursor will be used, regardless of what these
- options specify.
-
-
- [1m5.12. Option ``SilkenMouse''[0m
-
- This option is only acted upon when a hardware cursor is being used.
- It specifies that the cursor's position on the screen is to be updated
- as quickly as possible when the mouse is moved. This is the default
- behaviour. If this option is negated, the cursor may lag the mouse
- when the X server is very busy.
-
-
- [1m5.13. Option ``shadowfb''[0m
-
- If this option is enabled, the driver will cause the CPU to do each
- drawing operation first into a shadow frame buffer in system virtual
- memory and then copy the result into video memory. If this option is
- not active, the CPU will draw directly into video memory. Enabling
- this option is beneficial for those systems where reading from video
- memory is, on average, slower than the corresponding read/modify/write
- operation in system virtual memory. This is normally the case for PCI
- or AGP adapters, and, so, this option is enabled by default. For
- other bus types, the default behaviour is to disable this option.
-
- Note that, due to various limitations, this option is forcibly
- disabled when a linear video memory aperture is not enabled, when the
- frame buffer depth is less than 8, or when acceleration is used.
-
-
- [1m5.14. Option ``dpms''[0m
-
- This option enables the driver's support for VESA's Display Power
- Management Specification.
-
-
-
- [1m5.15. Option ``backingstore''[0m
-
- This is not specifically a driver option. It is used to enable the
- server's support for backing store, a mechanism by which pixel data
- for occluded window regions is remembered by the server thereby
- alleviating the need to send expose events to X clients when the data
- needs to be redisplayed.
-
-
- [1m5.16. MemBase address[0m
-
- This specification is only effective for non-PCI Mach64 adapters, and
- is used to override the CPU address at which the adapter will map its
- video memory. Normally, for non-PCI adapters, this address is set by
- a DOS install utility provided with the adapter. The MemBase option
- can also be used to enable the linear aperture in those cases where
- ATI's utility was not, or can not be, used.
-
- For PCI and AGP adapters, this address is determined at system bootup
- according to the PCI Plug'n'Play specification which arbitrates the
- resource requirements of most devices in the system. This means the
- driver can not easily change the linear aperture address.
-
-
- [1m5.17. Option ``ReferenceClock'' ``frequency''[0m
-
- This option is only applicable to non-Intel platforms, where an
- adapter BIOS is not available to the driver. The option specifies the
- reference frequency used by the adapter's clock generator. The
- default is 14.318 MHz, and other typical values are 28.636, or 29.5
- MHz.
-
-
- [1m5.18. ClockChip ``name''[0m
-
- This option is only applicable to non-Intel platforms, where an
- adapter BIOS is not available to the driver, and the driver cannot
- reliably determine whether the clock generator the adapter uses is a
- variant of an ATI 18818 (a.k.a. ICS 2595) or an unsupported clock
- generator. The only values that are acted upon are [4m``ATI[24m [4m18818-0''[24m or
- [4m``ATI[24m [4m18818-1''[24m. From this specification, the driver derives a
- reference divider of 43 or 46 (respectively) for use in clock
- programming calculations. The driver's default behaviour, in this
- case, is to assume an unsupported clock generator, which means it will
- treat it as a fixed-frequency clock generator, as described under the
- heading [1m``Clocks for unsupported programmable clock generators''[0m
- above.
-
-
- [1m6. Video modes[0m
-
- Mode timings can be derived from the information in X's doc
- subdirectory. However, it is no longer required to specify such
- timings in an xorg.conf's ``Monitor'' section(s), if only standard
- mode timings are to be used. The server automatically inserts VESA
- standard mode timings in every ``Monitor'' section, and these modes
- will be checked first for mode constraints (monitor sync tolerances,
- video memory size, etc.).
-
- Furthermore, it is also no longer required to specify mode names in
- ``Display'' subsections. Should no mode names be specified (or those
- specified do not yield a usable mode), the server will automatically
- select as a default resolution the largest usable mode, whether or not
- the chosen mode is specified in the corresponding ``Monitor'' section.
-
-
- For a digital flat panel, any sync tolerances should be removed from
- the corresponding ``Monitor'' section. The driver will automatically
- calculate these from the mode that is active on server entry. The
- driver also inserts timings for a mode called [4m"Native[24m [4mpanel[24m [4mmode"[24m that
- represents the panel's native resolution.
-
-
- [1m7. Known problems and limitations[0m
-
- There are several known problems or limitations related to the ATI
- driver. They include:
-
-
- +o When using a Mach64's accelerator CRTC, the virtual resolution must
- be less than 8192 pixels wide. The VGA CRTC further limits the
- virtual resolution width to less than 4096 pixels, or to less than
- 2048 pixels for adapters based on 18800-x's (with 256kB of memory)
- and on Mach64 integrated controllers. These are hardware limits
- that cannot be circumvented.
-
- +o Virtual resolutions requiring more than 1MB of video memory (256kB
- in the monochrome case) are not supported by the VGA CRTC on
- 88800GX and 88800CX adapters. This is a hardware limit that cannot
- be circumvented.
-
- +o Due to hardware limitations, doublescanned modes are not supported
- by the accelerator CRTC in 88800GX, 88800CX, 264CT and 264ET
- adapters.
-
- +o The ``VScan'' modeline parameter is only supported when using the
- VGA CRTC.
-
- +o Interlaced modes are not supported on 18800-x and 28800-x adapters
- when using a virtual resolution that is 2048 pixels or wider. When
- using a 18800-x with 256kB of video memory in 256-colour modes,
- this limit is reduced to 1024. This is yet another hardware
- limitation that cannot be circumvented.
-
- +o Video memory banking does not work in monochrome and 16-colour
- modes on 18800-x adapters. This appears to be another hardware
- limit, but this conclusion cannot be confirmed at this time. The
- driver's default behaviour in this case is to limit video memory to
- 256kB.
-
- +o Video memory corruption can still occur during mode switches on
- 18800-x adapters. Symptoms of this problem include garbled fonts
- on return to text mode, and various effects (snow, dashed lines,
- etc) on initial entry into a graphics mode. In the first case, the
- workaround is to use some other means of restoring the text font.
- On Linux, this can be accomplished with the kbd or svgalib
- packages. In the second case, xrefresh(1) will usually clean up
- the image. No complete solution to this problem is currently
- known. It appears this corruption occurs due to either video
- memory bandwidth or RAMDAC limitations, and so the driver will
- limit mode clocks to 40MHz.
-
- +o There is some controversy over what the maximum allowed clock
- frequency should be on 264xT and 3D Rage adapters. For now, clocks
- will, by default, be limited to 80MHz, 135MHz, 170MHz, 200MHz or
- 230MHz, depending on the specific controller. This limit can only
- be increased (up to a driver-calculated absolute maximum) through
- the DACSpeed specification in xorg.conf. Be aware however that
- doing so is untested and might damage the adapter.
-
- +o Except as in the previous items, clocks are limited to 80MHz on
- most adapters, although many are capable of higher frequencies.
- This will eventually be fixed in a future release.
-
- +o The use of a laptop's hot-keys to switch displays while this driver
- is active can cause lockups and/or other woes, and is therefore not
- recommended. It is not currently possible to solve this problem.
-
-
- +o In situations where the driver is to simultaneously display on both
- a panel and a CRT, the same image will be seen on both. In
- particular, this means the CRT must be able to synchronise with the
- timings of the panel's native resolution. This is quite evident
- when the panel has ``odd-ball'' dimensions, such as 1400x1050, a
- resolution not commonly possible on CRTs or projection equipment.
-
- Also, the display of independent images on the panel and CRT is not
- currently implemented, and might never be, pending resolution of
- the previous item.
-
-
- Support for the following will be added in a future release:
-
- +o Mach32's accelerator CRTC. This support is the first step towards
- accelerated support for Mach32's, Mach8's, 8514/A's and other
- clones.
-
Reply to: