home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 August - Disc 2 / chip_20018102_hu.iso / linux / X-4.1.0 / doc / README.chips < prev    next >
Encoding:
Text File  |  2001-06-27  |  52.2 KB  |  1,026 lines

  1.                  Information for Chips and Technologies Users
  2.  
  3.                 David Bateman (<dbateman@club-internet.fr>),
  4.                            Egbert Eich (<eich@xfree86.org>)
  5.  
  6.                                1st January 2001
  7.  
  8. 1.  Introduction
  9.  
  10. With the release of XFree86 version 4.1.0, the Chips and Technologies driver
  11. has been extensively rewritten and contains many new features.  This driver
  12. must be considered work in progress, and those users wanting stability are
  13. encouraged to use the older XFree86 3.3.x versions. However this version of
  14. the Chips and Technologies driver has many new features and bug fixes that
  15. might make users prefer to use this version. These features include
  16.  
  17.    o The long standing black/blue screen problem that some people have had
  18.      should be fixed.
  19.  
  20.    o Hardware/Software cursor switching on the fly, that should fix many of
  21.      the known hardware cursor problems.
  22.  
  23.    o Gamma correction at all depths and DirectColor visuals for depths of 15
  24.      or greater with the HiQV series of chipsets.
  25.  
  26.    o Supports PsuedoColor overlays on 16bpp TrueColor screens for HiQV.
  27.  
  28.    o Supports YUV colour space conversion with the XVideo extension.
  29.  
  30.    o 32bpp pixmaps while using a framebuffer in 24bpp packed pixel mode.
  31.  
  32.    o Heaps more acceleration.
  33.  
  34.    o 1/4bpp support.
  35.  
  36.    o Multihead
  37.  
  38.    o Much more...
  39.  
  40. This document attempts to discuss the features of this driver, the options
  41. useful in configuring it and the known problems. Most of the Chips and Tech-
  42. nologies chipsets are supported by this driver to some degree.
  43.  
  44. 2.  Supported Chips
  45.  
  46. The Chips and Technologies chipsets supported by this driver have one of
  47. three basic architectures. A basic architecture, the WinGine architecture
  48. which is a modification on this basic architecture and a completely new HiQV
  49. architecture.
  50.  
  51. 2.1  Basic architecture
  52.  
  53.       ct65520
  54.             (Max Ram: 1Mb, Max Dclk: 68MHz@5V)
  55.  
  56.       ct65525
  57.             This chip is basically identical to the 65530. It has the same ID
  58.             and is identified as a 65530 when probed. See ct65530 for
  59.             details.
  60.  
  61.       ct65530
  62.             This is a very similar chip to the 65520. However it additionally
  63.             has the ability for mixed 5V and 3.3V operation and linear
  64.             addressing of the video memory.  (Max Ram: 1Mb, Max Dclk:
  65.             56MHz@3.3V, 68MHz@5V)
  66.  
  67.       ct65535
  68.             This is the first chip of the ct655xx series to support fully
  69.             programmable clocks. Otherwise it has the the same properties as
  70.             the 65530.
  71.  
  72.       ct65540
  73.             This is the first version of the of the ct655xx that was capable
  74.             of supporting Hi-Color and True-Color. It also includes a fully
  75.             programmable dot clock and supports all types of flat panels.
  76.             (Max Ram: 1Mb, Max Dclk: 56MHz@3.3V, 68MHz@5V)
  77.  
  78.       ct65545
  79.             The chip is very similar to the 65540, with the addition of H/W
  80.             cursor, pop-menu acceleration, BitBLT and support of PCI Buses.
  81.             PCI version also allow all the BitBLT and H/W cursor registers to
  82.             be memory mapped 2Mb above the Base Address.  (Max Ram: 1Mb, Max
  83.             Dclk: 56MHz@3.3V,68MHz@5V)
  84.  
  85.       ct65546
  86.             This chip is specially manufactured for Toshiba, and so documen-
  87.             tation is not widely available. It is believed that this is
  88.             really just a 65545 with a higher maximum dot-clock of 80MHz.
  89.             (Max Ram: 1Mb?, Max Dclk: 80MHz?)
  90.  
  91.       ct65548
  92.             This chip is similar to the 65545, but it also includes XRAM sup-
  93.             port and supports the higher dot clocks of the 65546.  (Max Ram:
  94.             1Mb, Max Dclk: 80MHz)
  95.  
  96. 2.2  WinGine architecture
  97.  
  98.       ct64200
  99.             This chip, also known as the WinGine, is used in video cards for
  100.             desktop systems. It often uses external DAC's and programmable
  101.             clock chips to supply additional functionally. None of these are
  102.             currently supported within the driver itself, so many cards will
  103.             only have limited support. Linear addressing is not supported for
  104.             this card in the driver.  (Max Ram: 2Mb, Max Dclk: 80MHz)
  105.  
  106.       ct64300
  107.             This is a more advanced version of the WinGine chip, with speci-
  108.             fication very similar to the 6554x series of chips. However there
  109.             are many differences at a register level. A similar level of
  110.             acceleration to the 65545 is included for this driver.  (Max Ram:
  111.             2Mb, Max Dclk: 80MHz)
  112.  
  113. 2.3  HiQV Architecture
  114.  
  115.       ct65550
  116.             This chip includes many new features, including improved BitBLT
  117.             support (24bpp colour expansion, wider maximum pitch, etc), Mul-
  118.             timedia unit (video capture, zoom video port, etc) and 24bpp
  119.             uncompressed true colour (i.e 32bpp mode). Also memory mapped I/O
  120.             is possible on all bus configurations.  (Max Ram: 2Mb, Max Dclk:
  121.             80MHz@3.3V,100MHz@5V)
  122.  
  123.       ct65554
  124.             This chip is similar to the 65550 but has a 64bit memory bus as
  125.             opposed to a 32bit bus. It also has higher limits on the maximum
  126.             memory and pixel clocks (Max Ram: 4Mb, Max Dclk: 100MHz@3.3V)
  127.  
  128.       ct65555
  129.             Similar to the 65554 but has yet higher maximum memory and pixel
  130.             clocks. It also includes a new DSTN dithering scheme that
  131.             improves the performance of DSTN screens.  (Max Ram: 4Mb, Max
  132.             Dclk: 110MHz@3.3V)
  133.  
  134.       ct68554
  135.             Similar to the 65555 but also incorporates "PanelLink" drivers.
  136.             This serial link allows an LCD screens to be located up to 100m
  137.             from the video processor. Expect to see this chip soon in LCD
  138.             desktop machines (Max Ram: 4Mb, Max Dclk: 110MHz@3.3V)
  139.  
  140.       ct69000
  141.             Similar to the 65555 but incorporates 2Mbytes of SGRAM on chip.
  142.             It is the first Chips and Technologies chipset where all of the
  143.             registers are accessible through MMIO, rather than just the Bit-
  144.             Blt registers.  (Max Ram: 2Mb Only, Max Dclk: 130MHz@3.3V)
  145.  
  146.       ct69030
  147.             Similar to the 69000 but incorporates 4Mbytes of SGRAM on chip
  148.             and has faster memory and pixel clock limits. Also includes a
  149.             second display channel so that the CRT can display independently
  150.             of the LCD.  (Max Ram: 4Mb Only, Max Dclk: 170MHz@3.3V)
  151.  
  152. 3.  XF86Config Options
  153.  
  154. The following options are of particular interest to the Chips and Technolo-
  155. gies driver. It should be noted that the options are case insensitive, and
  156. that  white space and "_" characters are ignored.  There are therefore a wide
  157. variety of possible forms for all options.  The forms given below are the
  158. preferred forms.
  159.  
  160. Options related to drivers can be present in the Screen, Device and Monitor
  161. sections and the Display subsections.  The order of precedence is Display,
  162. Screen, Monitor, Device.
  163.  
  164.       Option "NoAccel"
  165.             This option will disable the use of any accelerated functions.
  166.             This is likely to help with some problems related to DRAM timing,
  167.             high dot clocks, and bugs in accelerated functions, at the cost
  168.             of performance (which will still be reasonable on VLB/PCI).
  169.  
  170.       VideoRam 1024 (or another value)
  171.             This option will override the detected amount of video memory,
  172.             and pretend the given amount of memory is present on the card.
  173.  
  174.       Option "NoLinear"
  175.             By default linear addressing is used on all chips where it can be
  176.             set up automatically. The exception is for depths of 1 or 4bpp
  177.             where linear addressing is turned off by default.  It is possible
  178.             to turn the linear addressing off with this option. Note that H/W
  179.             acceleration is only supported with linear addressing.
  180.  
  181.       Option "Linear"
  182.             When the chipset is capable of linear addressing and it has been
  183.             turned off by default, this option can be used to turn it back
  184.             on. This is useful for the 65530 chipset where the base address
  185.             of the linear framebuffer must be supplied by the user, or at
  186.             depths 1 and 4bpp. Note that linear addressing at 1 and 4bpp is
  187.             not guaranteed to work correctly.
  188.  
  189.       MemBase 0x03b00000 (or a different address)
  190.             This sets the physical memory base address of the linear frame-
  191.             buffer. Typically this is probed correctly, but if you believe it
  192.             to be mis-probed, this option might help.  Also for non PCI
  193.             machines specifying this force the linear base address to be this
  194.             value, reprogramming the video processor to suit. Note that for
  195.             the 65530 this is required as the base address can't be correctly
  196.             probed.
  197.  
  198.       Option "HWcursor"
  199.             For chipsets that support hardware cursors, this option enforces
  200.             their use, even for cases that are known to cause problems on
  201.             some machines. Note that it is overridden by the "SWcursor"
  202.             option. Hardware cursors effectively speeds all graphics opera-
  203.             tions as the job of ensuring that the cursor remains on top is
  204.             now given to the hardware. It also reduces the effect of cursor
  205.             flashing during graphics operations.
  206.  
  207.       Option "SWcursor"
  208.             This disables use of the hardware cursor provided by the chip.
  209.             Try this if the cursor seems to have problems.
  210.  
  211.       Option "STN"
  212.             The server is unable to differentiate between SS STN and TFT dis-
  213.             plays. This forces it to identify the display as a SS STN rather
  214.             than a TFT.
  215.  
  216.       Option "UseModeline"
  217.             The flat panel timings are related to the panel size and not the
  218.             size of the mode specified in XF86Config. For this reason the
  219.             default behaviour of the server is to use the panel timings
  220.             already installed in the chip. The user can force the panel tim-
  221.             ings to be recalculated from the modeline with this option. How-
  222.             ever the panel size will still be probed.
  223.  
  224.       Option "FixPanelSize"
  225.             For some machines the LCD panel size is incorrectly probed from
  226.             the registers. This option forces the LCD panel size to be over-
  227.             ridden by the modeline display sizes. This will prevent the use
  228.             of a mode that is a different size than the panel. Before using
  229.             this check that the server reports an incorrect panel size. This
  230.             option can be used in conjunction with the option "UseModeline"
  231.             to program all the panel timings using the modeline values.
  232.  
  233.       Option "NoStretch"
  234.             When the size of the mode used is less than the panel size, the
  235.             default behaviour of the server is to stretch the mode in an
  236.             attempt to fill the screen. A "letterbox" effect with no stretch-
  237.             ing can be achieved using this option.
  238.  
  239.       Option "LcdCenter"
  240.             When the size of the mode used is less than the panel size, the
  241.             default behaviour of the server is to align the left hand edge of
  242.             the display with the left hand edge of the screen. Using this
  243.             option the mode can be centered in the screen. This option is
  244.             reported to have problems with some machines at 16/24/32bpp, the
  245.             effect of which is that the right-hand edge of the mode will be
  246.             pushed off the screen.
  247.  
  248.       Option "HWclocks"
  249.             For the chips either using the WinGine or basic architectures,
  250.             the chips generates a number of fixed clocks internally. With the
  251.             chips 65535 and later or the 64300, the default is to use the
  252.             programmable clock for all clocks. It is possible to use the
  253.             fixed clocks supported by the chip instead by using this option.
  254.             Typically this will give you some or all of the clocks 25.175,
  255.             28.322, 31.000 and 36.000MHz. The current programmable clock will
  256.             be given as the last clock in the list. On a cold-booted system
  257.             this might be the appropriate value to use at the text console
  258.             (see the "TextClockFreq" option), as many flat panels will need a
  259.             dot clock different than the default to synchronise. The pro-
  260.             grammable clock makes this option obsolete and so it's use isn't
  261.             recommended. It is completely ignored for HiQV chipsets.
  262.  
  263.       TextClockFreq 25.175
  264.             Except for the HiQV chipsets, it is impossible for the server to
  265.             read the value of the currently used frequency for the text con-
  266.             sole when using programmable clocks. Therefore the server uses a
  267.             default value of 25.175MHz as the text console clock. For some
  268.             LCDs, in particular DSTN screens, this clock will be wrong. This
  269.             allows the user to select a different clock for the server to use
  270.             when returning to the text console.
  271.  
  272.       Option "FPClock8"   "65.0MHz"
  273.             Option "FPClock16"  "65.0MHz" Option "FPClock24"  "65.0MHz"
  274.             Option "FPClock32"  "65.0MHz"" In general the LCD panel clock
  275.             should be set independently of the modelines supplied. Normally
  276.             the chips BIOS set the flat panel clock correctly and so the
  277.             default behaviour with HiQV chipset is to leave the flat panel
  278.             clock alone, or force it to be 90% of the maximum allowable clock
  279.             if the current panel clock exceeds the dotclock limitation due to
  280.             a depth change. This option allows the user to force the server
  281.             the reprogram the flat panel clock independently of the modeline
  282.             with HiQV chipset. The four options are for 8bpp or less, 16, 24
  283.             or 32bpp LCD panel clocks, where the options above set the clocks
  284.             to 65MHz.
  285.  
  286.       Option "CRTClkIndx" "2"
  287.             Option "FPClkIndx" "1"" The HiQV series of chips have three pro-
  288.             grammable clocks. The first two are usually loaded with 25.175
  289.             and 28.322MHz for VGA backward compatibility, and the third is
  290.             used as a fully programmable clock. On at least one system (the
  291.             Inside 686 LCD/S single board computer) the third clock is unus-
  292.             able. These options can be used to force a particular clock index
  293.             to be used
  294.  
  295.       Option "MMIO"
  296.             This has a different effect depending on the hardware on which it
  297.             is used. For the 6554x machines MMIO is only used to talk to the
  298.             BitBLT engine and is only usable with  PCI buses. It is enabled
  299.             by default for 65545 machines since the blitter    can not be
  300.             used otherwise. The HiQV series of chipsets must use MMIO with
  301.             their BitBLT engines, and so this is enabled by default.
  302.  
  303.       Option "FullMMIO"
  304.             The 690xx chipsets can use MMIO for all communications with the
  305.             video processor. So using this option on a 690xx chipset forces
  306.             them to use MMIO for all communications. This only makes sense
  307.             when the 690xx is on a PCI bus so that normal PIO can be dis-
  308.             abled.
  309.  
  310.       Option "SuspendHack"
  311.             This option sets the centering and stretching to the BIOS default
  312.             values. This can fix suspend/resume problems on some machines. It
  313.             overrides the options "LcdCenter" and "NoStretch".
  314.  
  315.       Option "18bitBus"  (Chips 65540/45/46/48)
  316.             For 24bpp on TFT screens, the server assumes that a 24bit bus is
  317.             being used. This can result in a reddish tint to 24bpp mode.
  318.             This option, selects an 18 bit TFT bus. For other depths this
  319.             option has no effect.
  320.  
  321.       Chipset "ct65546" (or some other chip)
  322.             It is possible that the chip could be misidentified, particular
  323.             due to interactions with other drivers in the server. It is pos-
  324.             sible to force the server to identify a particular chip with this
  325.             option.
  326.  
  327.       Option "SyncOnGreen"
  328.             Composite sync on green. Possibly useful if you wish to use an
  329.             old workstation monitor. The HiQV internal RAMDAC's supports this
  330.             mode of operation, but whether a particular machine does depends
  331.             on the manufacturer.
  332.  
  333.       DacSpeed 80.000
  334.             The server will limit the maximum dotclock to a value as speci-
  335.             fied by the manufacturer. This might make certain modes impossi-
  336.             ble to obtain with a reasonable refresh rate. Using this option
  337.             the user can override the maximum dot-clock and specify any value
  338.             they prefer. Use caution with this option, as driving the video
  339.             processor beyond its specifications might cause damage.
  340.  
  341.       Option "SetMClk" "38.000MHz"
  342.             Option "SetMClk" "38000kHz"" This option sets the internal memory
  343.             clock (MCLK) registers of HiQV chipsets to 38MHz or some other
  344.             value. Use caution as excess heat generated by the video proces-
  345.             sor if its specifications are exceeded might cause damage. How-
  346.             ever careful use of this option might boost performance. This
  347.             option might also be used to reduce the speed of the memory clock
  348.             to preserve power in modes that don't need the full speed of the
  349.             memory to work correctly. This option might also be needed to
  350.             reduce the speed of the memory clock with the "Overlay" option.
  351.  
  352.       Option "RGBbits"  "8"
  353.             By default it is assumed that there are 6 significant bits in the
  354.             RGB representation of the colours in 4bpp and above. If the
  355.             colours seem darker than they should be, perhaps your ramdac is
  356.             has 8 significant bits. This option forces the server to assume
  357.             that there are 8 significant bits.
  358.  
  359.       Option "ShowCache"
  360.             This is a debugging option and general users have no need of it.
  361.             Using this option, when the virtual desktop is scrolled away from
  362.             the zero position, the pixmap cache becomes visible. This is use-
  363.             ful to see that pixmaps, tiles, etc have been properly cached.
  364.  
  365.       Option "ShadowFB"
  366.             This option is only useful when acceleration can't be used and
  367.             linear addressing can be used. With this option all of the graph-
  368.             ics are rendered into a copy of the framebuffer that is keep in
  369.             the main memory of the computer, and the screen is updated from
  370.             this copy. In this way the expensive operation of reading back to
  371.             contents of the screen is never performed and the performance is
  372.             improved. Because the rendering is all done into a virtual frame-
  373.             buffer acceleration can not be used.
  374.  
  375.       Option "NoTMED"
  376.             The new TMED DSTN dithering scheme available on recent HiQV
  377.             chipsets gives improved performance. However, some machines
  378.             appear to have this feature incorrectly setup. If you have snow
  379.             on your DSTN LCD, try using this option. This option is only rel-
  380.             evant for chipsets more recent than the ct65555 and only when
  381.             used with a DSTN LCD.
  382.  
  383.       Option "Overlay"
  384.             The HiQV chipsets contain a multimedia engine that allow a 16bpp
  385.             window to be overlayed on the screen. This driver uses this capa-
  386.             bility to include a 16bpp framebuffer on top of an 8bpp frame-
  387.             buffer. In this way PseudoColor and TrueColor visuals can be used
  388.             on the same screen.  XFree86 believes that the 8bpp framebuffer
  389.             is overlayed on the 16bpp framebuffer. Therefore to use this
  390.             option the server must be started in either 15 or 16bpp depth.
  391.             Also the maximum size of the desktop with this option is
  392.             1024x1024, as this is the largest window that the HiQV multimedia
  393.             engine can display. Note that this option using the multimedia
  394.             engine to its limit, and some manufacturers have set a default
  395.             memory clock that will cause pixel errors with this option.  If
  396.             you get pixel error with this option try using the "SetMClk"
  397.             option to slow the memory clock. It should also be noted that the
  398.             XVideo extension uses the same capabilities of the HiQV chipsets
  399.             as the Overlays. So using this option disables the XVideo exten-
  400.             sion.
  401.  
  402.       Option "ColorKey" "255"
  403.             Normally the colour transparency key for the overlay is the 8bpp
  404.             lookup table entry 255. This might cause troubles with some
  405.             applications, and so this option allows the colour transparency
  406.             key to be set to some other value. Legal values are 2 to 255
  407.             inclusive.
  408.  
  409.       Option "VideoKey" "255"
  410.             This sets the default pixel value for the YUV video overlay key.
  411.             Legal values for this key are depth dependent. That is from 0 to
  412.             255 for 8bit depth, 0 to 32,767 for 15bit depth, etc. This option
  413.             might be used if the default video overlay key causes problems.
  414.  
  415.       Option "DualRefresh"
  416.             The 69030 chipset has independent display channels, that can be
  417.             configured to support independent refresh rates on the flat panel
  418.             and on the CRT. The default behaviour is to have both the flat
  419.             panel and the CRT use the same display channel and thus the same
  420.             refresh rate. This option forces the two display channels to be
  421.             used, giving independent refresh rates.
  422.  
  423.       Option "Crt2Memory" "2048"
  424.             The ct69030 supports dual-head display. By default the two dis-
  425.             play share equally the available memory. This option forces the
  426.             second display to take a particular amount of memory. Please read
  427.             the section below about dual-head display.
  428.  
  429.       Option "XaaNoScreenToScreenCopy",
  430.             Option "XaaNoSolidFillRect", Option "XaaNoSolidHorVertLine",
  431.             Option "XaaNoMono8x8PatternFillRect", Option "XaaNoColor8x8Pat-
  432.             ternFillRect", Option "XaaNoCPUToScreenColorExpandFill", Option
  433.             "XaaNoScreenToScreenColorExpandFill", Option "XaaNoIm-
  434.             ageWriteRect", Option "XaaNoImageReadRect", Option "XaaNoPixmap-
  435.             Cache", Option "XaaNoOffscreenPixmaps" " These option individu-
  436.             ally disable the features of the XAA acceleration code that the
  437.             Chips and Technologies driver uses. If you have a problem with
  438.             the acceleration and these options will allow you to isolation
  439.             the problem. This information will be invaluable in debugging any
  440.             problems.
  441.  
  442. 4.  Modelines
  443.  
  444. When constructing a modeline for use with the Chips and Technologies driver
  445. you'll needed to considered several points
  446.  
  447.       * Virtual Screen Size
  448.             It is the virtual screen size that determines the amount of mem-
  449.             ory used by a mode. So if you have a virtual screen size set to
  450.             1024x768 using a 800x600 at 8bpp, you use 768kB for the mode.
  451.             Further to this some of the XAA acceleration requires that the
  452.             display pitch is a multiple of 64 pixels. So the driver will
  453.             attempt to round-up the virtual X dimension to a multiple of 64,
  454.             but leave the virtual resolution untouched. This might further
  455.             reduce the available memory.
  456.  
  457.       * 16/24/32 Bits Per Pixel
  458.             Hi-Color and True-Color modes are implemented in the server. The
  459.             clocks in the 6554x series of chips are internally divided by 2
  460.             for 16bpp and 3 for 24bpp, allowing one modeline to be used at
  461.             all depths.  The effect of this is that the maximum dot clock
  462.             visible to the user is a half or a third of the value at 8bpp.
  463.             The HiQV series of chips doesn't need to use additional clock
  464.             cycles to display higher depths, and so the same modeline can be
  465.             used at all depths, without needing to divide the clocks.  Also
  466.             16/24/32 bpp modes will need 2 , 3 or 4 times respectively more
  467.             video ram.
  468.  
  469.       * Frame Acceleration
  470.             Many DSTN screens use frame acceleration to improve the perfor-
  471.             mance of the screen. This can be done by using an external frame
  472.             buffer, or incorporating the framebuffer at the top of video ram
  473.             depending on the particular implementation. The Xserver assumes
  474.             that the framebuffer, if used, will be at the top of video ram.
  475.             The amount of ram required for the framebuffer will vary depend-
  476.             ing on the size of the screen, and will reduce the amount of
  477.             video ram available to the modes. Typical values for the size of
  478.             the framebuffer will be 61440 bytes (640x480 panel), 96000 bytes
  479.             (800x600 panel) and 157287 bytes (1024x768 panel).
  480.  
  481.       * H/W Acceleration
  482.             The H/W cursor will need 1kB for the 6554x and 4kb for the 65550.
  483.             On the 64300 chips the H/W cursor is stored in registers and so
  484.             no allowance is needed for the H/W cursor. In addition to this
  485.             many graphics operations are speeded up using a "pixmap cache".
  486.             Leaving too little memory available for the cache will only have
  487.             a detrimental effect on the graphics performance.
  488.  
  489.       * PseudoColor Overlay
  490.             If you use the "overlay" option, then there are actually two
  491.             framebuffers in the video memory. An 8bpp one and a 16bpp one.
  492.             The total memory requirements in this mode of operation is there-
  493.             fore similar to a 24bpp mode. The overlay consumes memory band-
  494.             width, so that the maximum dotclock will be similar to a 24bpp
  495.             mode.
  496.  
  497.       * XVideo extension*
  498.             Like the overlays, the Xvideo extension uses a part of the video
  499.             memory for a second framebuffer. In this case enough memory needs
  500.             to be left for the largest unscaled video window that will be
  501.             displayed.
  502.  
  503.       * VESA like modes
  504.             We recommend that you try and pick a mode that is similar to a
  505.             standard VESA mode. If you don't a suspend/resume or LCD/CRT
  506.             switch might mess up the screen. This is a problem with the video
  507.             BIOS not knowing about all the funny modes that might be
  508.             selected.
  509.  
  510.       * Dot Clock
  511.             For LCD screens, the lowest clock that gives acceptable contrast
  512.             and flicker is usually the best one. This also gives more memory
  513.             bandwidth for use in the drawing operations. Some users prefer to
  514.             use clocks that are defined by their BIOS. This has the advantage
  515.             that the BIOS will probably restore the clock they specified
  516.             after a suspend/resume or LCD/CRT switch. For a complete discus-
  517.             sion on the dot clock limitations, see the next section.
  518.  
  519.       * Dual-head display
  520.             Dual-head display has two effects on the modelines. Firstly, the
  521.             memory requirements of both heads must fit in the available mem-
  522.             ory. Secondly, the memory bandwidth of the video processor is
  523.             shared between the two heads. Hence the maximum dot-clock might
  524.             need to be limited.
  525.  
  526. The driver is capable of driving both a CRT and a flat panel display. In fact
  527. the timing for the flat panel are dependent on the specification of the panel
  528. itself and are independent of the particular mode chosen. For this reason it
  529. is recommended to use one of the programs that automatically generate
  530. XF86Config files, such as "xf86config" or "XF86Setup".
  531.  
  532. However there are many older machines, particularly those with 800x600 screen
  533. or larger, that need to reprogram the panel timings. The reason for this is
  534. that the manufacturer has used the panel timings to get a standard EGA mode
  535. to work on flat panel, and these same timings don't work for an SVGA mode.
  536. For these machines the "UseModeline" and/or possibly the "FixPanelSize"
  537. option might be needed. Some machines that are known to need these options
  538. include.
  539.  
  540.           Modeline "640x480@8bpp"    25.175  640  672  728  816   480  489  501  526
  541.           Modeline "640x480@16bpp"  25.175  640  672  728  816   480  489  501  526
  542.           Options: "UseModeline"
  543.           Tested on a Prostar 8200, (640x480, 65548, 1Mbyte)
  544.  
  545.           Modeline "800x600@8bpp"    28.322  800  808  848  936   600  600  604  628
  546.           Options: "FixPanelSize", "UseModeline"
  547.           Tested on a HP OmniBook 5000CTS (800x600 TFT, 65548, 1Mbyte)
  548.  
  549.           Modeline "800x600@8bpp"    30.150  800  896  960 1056   600  600  604  628
  550.           Options: "FixPanelSize", "UseModeline"
  551.           Test on a Zeos Meridan 850c (800x600 DSTN, 65545, 1Mbyte)
  552.  
  553. The NEC Versa 4080 just needs the "FixPanelSize" option. To the best of my
  554. knowledge no machine with a HiQV needs the "UseModeline" or "FixPanelSize"
  555. options.
  556.  
  557. 5.  Dual Display Channel
  558.  
  559. XFree86 releases later than 4.1.0 support dual-channel display on the
  560. ct69030.  This support can be used to give a single display image on two
  561. screen with different refresh rates, or entirely different images on the two
  562. displays.
  563.  
  564. Dual refresh rate display can be selected with the "DualRefresh" option
  565. described above. However to use the dual-head support is slightly more com-
  566. plex. Firstly, the ct69030 chipset must be installed on a PCI bus. This is a
  567. driver limitation that might be relaxed in the future. In addition the
  568. device, screen and layout sections of the "XF86Config" must be correctly con-
  569. figured. A sample of an incomplete "XF86Config" is given below
  570.  
  571.           Section "Device"
  572.               Identifier  "Chips and Technologies - Pipe A"
  573.               Driver      "chips"
  574.               BusID       "PCI:0:20:0"
  575.               Screen      0
  576.           EndSection
  577.  
  578.           Section "Device"
  579.               Identifier  "Chips and Technologies - Pipe B"
  580.               Driver      "chips"
  581.               BusID       "PCI:0:20:0"
  582.               Screen      1
  583.           EndSection
  584.  
  585.           Section "Screen"
  586.               Identifier  "Screen 0"
  587.               Device      "Chips and Technologies - Pipe A"
  588.               Monitor     "generic LCD"
  589.  
  590.               SubSection "Display"
  591.                   Depth           16
  592.                   Modes           "1024x768"
  593.               EndSubsection
  594.           EndSection
  595.  
  596.           Section "Screen"
  597.               Identifier  "Screen 1"
  598.               Device      "Chips and Technologies - Pipe B"
  599.               Monitor     "generic CRT"
  600.  
  601.               SubSection "Display"
  602.                   Depth           16
  603.                   Modes           "1024x768"
  604.               EndSubsection
  605.           EndSection
  606.  
  607.           Section "ServerLayout"
  608.               Identifier  "Main Layout"
  609.               Screen      "Screen 0"
  610.               Screen      "Screen 1" RightOf "Screen 0"
  611.               InputDevice "Mouse1" "CorePointer"
  612.               InputDevice "Keyboard1" "CoreKeyboard"
  613.           EndSection
  614.  
  615. The device section must include the PCI BusID. This can be found from the log
  616. file of a working single-head installation. For instance, the line
  617.  
  618.           (--) PCI:*(0:20:0) C&T 69030 rev 97, Mem @ 0xed000000/24
  619.  
  620. appears for the case above. Additionally, the "Screen" option must appear in
  621. the device section. It should be noted that if a flat panel is used, this it
  622. must be allocated to "Screen 0".
  623.  
  624. The server can then be started with the "+xinerama" option as follows
  625.  
  626.           startx -- +xinerama
  627.  
  628. For more information, read the Xinerama documentation.
  629.  
  630. It should be noted that the dual channel display options of the 69030 require
  631. the use of additional memory bandwidth, as each display channel independently
  632. accesses the video memory. For this reason, the maximum colour depth and res-
  633. olution that can be supported in a dual channel mode will be reduced compared
  634. to a single display channel mode. However, as the driver does not prevent you
  635. from using a mode that will exceed the memory bandwidth of the 69030, but a
  636. warning like
  637.  
  638.           (WW) Memory bandwidth requirements exceeded by dual-channel
  639.           (WW)    mode. Display might be corrupted!!!
  640.  
  641. If you see such display corruption, and you have this warning, your choices
  642. are to reduce the refresh rate, colour depth or resolution, or increase the
  643. speed of the memory clock with the the "SetMClk" option described above. Note
  644. that increasing the memory clock also has its own problems as described
  645. above.
  646.  
  647. 6.  The Full Story on Clock Limitations
  648.  
  649. There has been much confusion about exactly what the clock limitations of the
  650. Chips and Technologies chipsets are. Hence I hope that this section will
  651. clear up the misunderstandings.
  652.  
  653. In general there are two factors determining the maximum dotclock.  There is
  654. the limit of the maximum dotclock the video processor can handle, and there
  655. is another limitation of the available memory bandwidth. The memory bandwidth
  656. is determined by the clock used for the video memory.  For chipsets incapable
  657. of colour depths greater that 8bpp like the 65535, the dotclock limit is
  658. solely determined by the highest dotclock the video processor is capable of
  659. handling. So this limit will be either 56MHz or 68MHz for the 655xx chipsets,
  660. depending on what voltage they are driven with, or 80MHz for the 64200
  661. WinGine machines.
  662.  
  663. The 6554x and 64300 WinGine chipsets are capable of colour depths of 16 or
  664. 24bpp. However there is no reliable way of probing the memory clock used in
  665. these chipsets, and so a conservative limit must be taken for the dotclock
  666. limit. In this case the driver divides the video processors dotclock limita-
  667. tion by the number of bytes per pixel, so that the limitations for the vari-
  668. ous colour depths are
  669.  
  670.                              8bpp    16bpp   24bpp
  671.      64300                   85      42.5    28.33
  672.      65540/65545 3.3v        56      28      18.67
  673.      65540/65545 5v          68      34      22.67
  674.      65546/65548             80      40      26.67
  675.  
  676. For a CRT or TFT screen these limitations are conservative and the user might
  677. safely override them with the "DacSpeed" option to some extent. However these
  678. numbers take no account of the extra bandwidth needed for DSTN screens.
  679.  
  680. For the HiQV series of chips, the memory clock can be successfully probed.
  681. Hence you will see a line like
  682.  
  683.      (--) CHIPS(0): Probed memory clock of  40.090 MHz
  684.  
  685. in your startx log file. Note that many chips are capable of higher memory
  686. clocks than actually set by BIOS. You can use the "SetMClk" option in your
  687. XF86Config file to get a higher MClk. However some video ram, particularly
  688. EDO, might not be fast enough to handle this, resulting in drawing errors on
  689. the screen. The formula to determine the maximum usable dotclock on the HiQV
  690. series of chips is
  691.  
  692.      Max dotclock = min(MaxDClk,  0.70  * 8 * MemoryClk / (BytesPerPixel +
  693.                      (isDSTN == TRUE ? 1 : 0)))
  694.  
  695. if you chips is a 69030 or 69000 or
  696.  
  697.      Max dotclock = min(MaxDClk,  0.70  * 4 * MemoryClk / (BytesPerPixel +
  698.                      (isDSTN == TRUE ? 1 : 0)))
  699.  
  700. otherwise. This effectively means that there are two limits on the dotclock.
  701. One the overall maximum, and another due to the available memory bandwidth of
  702. the chip.  The 69030 and 69000 have a 64bit memory bus and thus transfer 8
  703. bytes every clock thus (hence the 8), while the other HiQV chipsets are 32bit
  704. and transfer 4 bytes per clock cycle (hence the 4). However, after accounting
  705. for the RAS/CAS signaling only about 70% of the bandwidth is available. The
  706. whole thing is divided by the bytes per pixel, plus an extra byte if you are
  707. using a DSTN. The extra byte with DSTN screens is used for the frame buffer-
  708. ing/acceleration in these screens. So for the various Chips and Technologies
  709. chips the maximum specifications are
  710.  
  711.                          Max DClk MHz      Max Mem Clk MHz
  712.      65550 rev A 3.3v          80                38
  713.      65550 rev A 5v           110                38
  714.      65550 rev B               95                50
  715.      65554                     94.5              55
  716.      65555                    110                55
  717.      68554                    110                55
  718.      69000                    135                83
  719.      69030                    170               100
  720.  
  721. Note that all of the chips except the 65550 rev A are 3.3v only. Which is the
  722. reason for the drop in the dot clock. Now the maximum memory clock is just
  723. the maximum supported by the video processor, not the maximum supported by
  724. the video memory. So the value actually used for the memory clock might be
  725. significantly less than this maximum value. But assuming your memory clock is
  726. programmed to these maximum values the various maximum dot clocks for the
  727. chips are
  728.  
  729.                              ------CRT/TFT-------    --------DSTN--------
  730.                              8bpp    16bpp   24bpp   8bpp    16bpp   24bpp
  731.      65550 rev A 3.3v        80      53.2    35.47   53.2    35.47   26.6
  732.      65550 rev A 5v          106.2   53.2    35.47   53.2    35.47   26.6
  733.      65550 rev B             95      70      46.67   70      46.67   35.0
  734.      65554                   94.5    77      51.33   77      51.33   38.5
  735.      65555                   110     77      51.33   77      51.33   38.5
  736.      68554                   110     77      51.33   77      51.33   38.5
  737.      69000                   135    135     135     135     135     116.2
  738.      69030                   170    170     170     170     170     140
  739.  
  740. If you exceed the maximum set by the memory clock, you'll get corruption on
  741. the screen during graphics operations, as you will be starving the HW BitBlt
  742. engine of clock cycles. If you are driving the video memory too fast (too
  743. high a MemClk) you'll get pixel corruption as the data actually written to
  744. the video memory is corrupted by driving the memory too fast. You can proba-
  745. bly get away with exceeding the Max DClk at 8bpp on TFT's or CRT's by up to
  746. 10% or so without problems, it will just generate more heat, since the 8bpp
  747. clocks aren't limited by the available memory bandwidth.
  748.  
  749. If you find you truly can't achieve the mode you are after with the default
  750. clock limitations, look at the options "DacSpeed" and "SetMClk". Using these
  751. should give you all the capabilities you'll need in the server to get a par-
  752. ticular mode to work. However use caution with these options, because there
  753. is no guarantee that driving the video processor beyond it capabilities won't
  754. cause damage.
  755.  
  756. 7.  Troubleshooting
  757.  
  758.       The cursor appears as a white box, after switching modes
  759.             There is a known bug in the H/W cursor, that sometimes causes the
  760.             cursor to be redrawn as a white box, when the mode is changed.
  761.             This can be fixed by moving the cursor to a different region,
  762.             switching to the console and back again, or if it is too annoying
  763.             the H/W cursor can be disabled by removing the "HWcursor" option.
  764.  
  765.       The cursor hot-spot isn't at the same point as the cursor
  766.             With modes on the 6555x machines that are stretched to fill the
  767.             flat panel, the H/W cursor is not correspondingly stretched. This
  768.             is a small and long-standing bug in the current server. You can
  769.             avoid this by either using the "NoStretch" option or removing the
  770.             HWcursor" option.
  771.  
  772.       The lower part of the screen is corrupted
  773.             Many DSTN screens use the top of video ram to implement a frame
  774.             accelerator. This reduces the amount of video ram available to
  775.             the modes. The server doesn't prevent the user from specifying a
  776.             mode that will use this memory, it prints a warning on the con-
  777.             sole.  The effect of this problem will be that the lower part of
  778.             the screen will reside in the same memory as the frame accelera-
  779.             tor and will therefore be corrupt. Try reducing the amount of
  780.             memory consumed by the mode.
  781.  
  782.       There is a video signal, but the screen doesn't sync.
  783.             You are using a mode that your screen cannot handle. If it is a
  784.             non-standard mode, maybe you need to tweak the timings a bit. If
  785.             it is a standard mode and frequency that your screen should be
  786.             able to handle, try to find different timings for a similar mode
  787.             and frequency combination. For LCD modes, it is possible that
  788.             your LCD panel requires different panel timings at the text con-
  789.             sole than with a graphics mode. In this case you will need the
  790.             "UseModeline" and perhaps also the "FixPanelSize" options to
  791.             reprogram the LCD panel timings to sensible values.
  792.  
  793.       `Wavy' screen.
  794.             Horizontal waving or jittering of the whole screen, continuously
  795.             (independent from drawing operations).  You are probably using a
  796.             dot clock that is too high (or too low); it is also possible that
  797.             there is interference with a close MCLK. Try a lower dot clock.
  798.             For CRT's you can also try to tweak the mode timings; try
  799.             increasing the second horizontal value somewhat.
  800.  
  801.       Crash or hang after start-up (probably with a black screen).
  802.             Try the "NoAccel" or one of the XAA acceleration options dis-
  803.             cussed above. Check that the BIOS settings are OK; in particular,
  804.             disable caching of 0xa0000-0xaffff. Disabling hidden DRAM refresh
  805.             may also help.
  806.  
  807.       Hang as the first text is appearing on the screen on SVR4 machines.
  808.             This problem has been reported under UnixWare 1.x, but not
  809.             tracked down. It doesn't occur under UnixWare 2.x and only occurs
  810.             on the HiQV series of chips. It might affect some other SVR4
  811.             operating systems as well. The workaround is to turn off the use
  812.             of CPU to screen acceleration with the "XaaNoCPUToScreenCol-
  813.             orExapndFill" option.
  814.  
  815.       Crash, hang, or trash on the screen after a graphics operation.
  816.             This may be related to a bug in one of the accelerated functions,
  817.             or a problem with the BitBLT engine. Try the "NoAccel" or one of
  818.             the XAA acceleration options discussed above. Also check the BIOS
  819.             settings. It is also possible that with a high dot clock and
  820.             depth on a large screen there is very little bandwidth left for
  821.             using the BitBLT engine. Try reducing the clock.
  822.  
  823.       Chipset is not detected.
  824.             Try forcing the chipset to a type that is most similar to what
  825.             you have.
  826.  
  827.       The screen is blank when starting X
  828.             One possible cause of this problem with older linux kernels is
  829.             that the "APM_DISPLAY_BLANK" option didn't work correct. Either
  830.             upgrade your kernel or rebuild it with the "APM_DISPLAY_BLANK"
  831.             option disabled. If the problem remains, or you aren't using
  832.             linux, a CRT/LCD or switch to and from the virtual console will
  833.             often fix it.
  834.  
  835.       Textmode is not properly restored
  836.             This has been reported on some configurations. Many laptops use
  837.             the programmable clock of the 6554x chips at the console.  It is
  838.             not always possible to find out the setting that is used for this
  839.             clock if BIOS has written the MClk after the VClk. Hence the
  840.             server assumes a 25.175MHz clock at the console. This is correct
  841.             for most modes, but can cause some problems. Usually this is
  842.             fixed by switching between the LCD and CRT. Alternatively the
  843.             user can use the "TextClockFreq" option described above to select
  844.             a different clock for the text console. Another possible cause of
  845.             this problem is if linux kernels are compiled with the "APM_DIS-
  846.             PLAY_BLANK" option.  As mentioned before, try disabling this
  847.             option.
  848.  
  849.       I can't display 640x480 on my 800x600 LCD
  850.             The problem here is that the flat panel needs timings that are
  851.             related to the panel size, and not the mode size. There is no
  852.             facility in the current Xservers to specify these values, and so
  853.             the server attempts to read the panel size from the chip. If the
  854.             user has used the "UseModeline" or "FixPanelSize" options the
  855.             panel timings are derived from the mode, which can be different
  856.             than the panel size. Try deleting theses options  from XF86Config
  857.             or using an LCD/CRT switch.
  858.  
  859.       I can't get a 320x240 mode to occupy the whole 640x480 LCD
  860.             There is a bug in the 6554x's H/W cursor for modes that are dou-
  861.             bled vertically. The lower half of the screen is not accessible.
  862.             The servers solution to this problem is not to do doubling verti-
  863.             cally.  Which results in the 320x240 mode only expanded to
  864.             640x360. If this is a problem, a work around is to remove the
  865.             "HWcursor" option. The server will then allow the mode to occupy
  866.             the whole 640x480 LCD.
  867.  
  868.       After a suspend/resume my screen is messed up
  869.             During a suspend/resume, the BIOS controls what is read and writ-
  870.             ten back to the registers. If the screen is using a mode that
  871.             BIOS doesn't know about, then there is no guarantee that it will
  872.             be resumed correctly. For this reason a mode that is as close to
  873.             VESA like as possible should be selected. It is also possible
  874.             that the VGA palette can be affected by a suspend/resume.  Using
  875.             an 8bpp, the colour will then be displayed incorrectly. This
  876.             shouldn't affect higher depths, and is fixable with a switch to
  877.             the virtual console and back.
  878.  
  879.       The right hand edge of the mode isn't visible on the LCD
  880.             This is usually due to a problem with the "LcdCenter" option. If
  881.             this option is removed form XF86Config, then the problem might go
  882.             away. Alternatively the manufacturer could have incorrectly pro-
  883.             grammed the panel size in the EGA console mode. The "FixPanel-
  884.             Size" can be used to force the modeline values into the panel
  885.             size registers. Two machines that are known to have this problem
  886.             are the "HP OmniBook 5000" and the "NEC  Versa 4080".
  887.  
  888.       My TFT screen has a reddish tint in 24bpp mode
  889.             For 6554x chipsets the server assumes that the TFT bus width is
  890.             24bits. If this is not true then the screen will appear to have a
  891.             reddish tint. This can be fixed by using the "18BitBus" option.
  892.             Note that the reverse is also true. If the "18BitBus" is used and
  893.             the TFT bus width is 24bpp, then the screen will appear reddish.
  894.             Note that this option only has an effect on TFT screens.
  895.  
  896.       SuperProbe won't work with my chipset
  897.             At least one non-PCI bus system with a HiQV chipset has been
  898.             found to require the "-no_bios" option for SuperProbe to cor-
  899.             rectly detect the chipset with the factory default BIOS settings.
  900.             The server itself can correctly detect the chip in the same situ-
  901.             ation.
  902.  
  903.       My 690xx machine lockups when using the "MMIO" option
  904.             The 690xx MMIO mode has been implemented entirely from the manual
  905.             as I don't have the hardware to test it on. At this point no
  906.             testing has been done and it is entirely possible that the "MMIO
  907.             option will lockup your machine. You have been warned! However if
  908.             you do try this option and are willing to debug it, I'd like to
  909.             hear from you.
  910.  
  911.       My TrueColor windows are corrupted when using the "Overlay" option
  912.             Chips and Technologies specify that the memory clock used with
  913.             the multimedia engine running should be lower than that used
  914.             without. As use of the HiQV chipsets multimedia engine was sup-
  915.             posed to be for things like zoomed video overlays, its use was
  916.             supposed to be occasional and so most machines have their memory
  917.             clock set to a value that is too high for use with the "Overlay"
  918.             option. So with the "Overlay" option, using the "SetMClk" option
  919.             to reduce the speed of the memory clock is recommended.
  920.  
  921.       The mpeg video playing with the XVideo extension has corrupted colours
  922.             The XVideo extension has only recently been added to the chips
  923.             driver.  Some YUV to RGB colour have been noted at 15 and 16 bit
  924.             colour depths.  However, 8 and 24 bit colour depths seem to work
  925.             fine.
  926.  
  927.       My ct69030 machine locks up when starting XFree
  928.             The ct69030 chipset introduced a new dual channel architecture.
  929.             In its current form, XFree86 can not take advantage of this sec-
  930.             ond display channel. In fact if the video BIOS on the machine
  931.             sets the ct69030 to a dual channel mode by default, XFree86 will
  932.             lockup hard at this point. The solution is to use the BIOS setup
  933.             to change to a single display channel mode, ensuring that both
  934.             the IOSS and MSS registers are set to a single channel mode. Work
  935.             is underway to fix this.
  936.  
  937.       I can't start X-windows with 16, 24 or 32bpp
  938.             Firstly, is your machine capable of 16/24/32bpp with the mode
  939.             specified. Many LCD displays are incapable of using a 24bpp mode.
  940.             Also you need at least a 65540 to use 16/24bpp and at least a
  941.             65550 for 32bpp. The amount of memory used by the mode will be
  942.             doubled/tripled/quadrupled. The correct options to start the
  943.             server with these modes are
  944.  
  945.                         startx -- -depth 16             5-6-5 RGB ('64K color', XGA)
  946.                         startx -- -depth 15             5-5-5 RGB ('Hicolor')
  947.                         startx -- -depth 24             8-8-8 RGB truecolor
  948.  
  949.             or with the HiQV series of chips you might try
  950.  
  951.                         startx -- -depth 24 -fbbpp 32   8-8-8 RGB truecolor
  952.  
  953.             however as XFree86 version 4.1.0 allows 32bpp pixmaps to be used
  954.             with framebuffers operating in 24bpp, this mode of operating will
  955.             cost performance for no gain in functionality.
  956.  
  957.             Note that the "-bpp" option has been removed and replaced with a
  958.             "-depth" and "-fbbpp" option because of the confusion between the
  959.             depth and number of bits per pixel used to represent to frame-
  960.             buffer and the pixmaps in the screens memory.
  961.  
  962. A general problem with the server that can manifested in many way such as
  963. drawing errors, wavy screens, etc is related to the programmable clock. Many
  964. potential programmable clock register setting are unstable.  However luckily
  965. there are many different clock register setting that can give the same or
  966. very similar clocks. The clock code can be fooled into giving a different and
  967. perhaps more stable clock by simply changing the clock value slightly. For
  968. example 65.00MHz might be unstable while 65.10MHz is not. So for unexplained
  969. problems not addressed above, please try to alter the clock you are using
  970. slightly, say in steps of 0.05MHz and see if the problem goes away. Alterna-
  971. tively, using the "CRTClkIndx" or "FPClkIndx" option with HiQV chips might
  972. also help.
  973.  
  974. For other screen drawing related problems, try the "NoAccel" or one of the
  975. XAA acceleration options discussed above. A useful trick for all laptop com-
  976. puters is to switch between LCD/CRT (usually with something like Fn-F5), if
  977. the screen is having problems.
  978.  
  979. If you are having driver-related problems that are not addressed by this doc-
  980. ument, or if you have found bugs in accelerated functions, you can try con-
  981. tacting the XFree86 team (the current driver maintainer can be reached at
  982. <dbateman@club-internet.fr> or <eich@xfree86.org>), or post in the Usenet
  983. newsgroup "comp.windows.x.i386unix".
  984.  
  985. 8.  Disclaimer
  986.  
  987. XFree86, allows the user to do damage to their hardware with software.
  988. Although the authors of this software have tried to prevent this, they dis-
  989. claim all responsibility for any damage caused by the software. Use caution,
  990. if you think the Xserver is frying your screen, TURN THE COMPUTER OFF!!
  991.  
  992. 9.  Acknowledgement
  993.  
  994. The authors of this software wish to acknowledge the support supplied by
  995. Chips and Technologies during the development of this software.
  996.  
  997. 10.  Authors
  998.  
  999. Major Contributors (In no particular order)
  1000.  
  1001.    o Nozomi Ytow
  1002.  
  1003.    o Egbert Eich
  1004.  
  1005.    o David Bateman
  1006.  
  1007.    o Xavier Ducoin
  1008.  
  1009. Contributors (In no particular order)
  1010.  
  1011.    o Ken Raeburn
  1012.  
  1013.    o Shigehiro Nomura
  1014.  
  1015.    o Marc de Courville
  1016.  
  1017.    o Adam Sulmicki
  1018.  
  1019.    o Jens Maurer
  1020.  
  1021. We also thank the many people on the net who have contributed by reporting
  1022. bugs and extensively testing this server.
  1023.  
  1024.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/chips.sgml,v 3.36 2001/05/19 00:35:42 dawes Exp $
  1025.  
  1026.