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

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                   Information for Chips and Technologies Users
  11.  
  12.                    David Bateman (dbateman@eng.uts.edu.au),
  13.                     Egbert Eich (Egbert.Eich@Physik.TH-Darmstadt.DE)
  14.  
  15.                                  5th June 1998
  16.  
  17.  
  18.  
  19. 1.  Introduction
  20.  
  21. The Chips and Technologies range of chips are primarily manufactured for use in
  22. laptop computers, where their power conservation circuitry is of importance.
  23. They can however be found in a few "Green" video cards for desktop machines.
  24. This release of XFree86 includes support for
  25.  
  26.    o Linear Addressing
  27.  
  28.    o 16/24/32 bits per pixel
  29.  
  30.    o Fully programmable clocks are supported
  31.  
  32.    o H/W cursor support
  33.  
  34.    o BitBLT acceleration of many operations using XAA
  35.  
  36. Most of the Chips and Technologies chipsets are supported by this driver to
  37. some degree.
  38.  
  39.  
  40. 2.  Supported Chips
  41.  
  42.       ct65520
  43.             (Max Ram: 1Mb, Max Dclk: 68MHz@5V)
  44.  
  45.       ct65525
  46.             This chip is basically identical to the 65530. It has the same ID
  47.             and is identified as a 65530 when probed. See ct65530 for details.
  48.  
  49.       ct65530
  50.             This is a very similar chip to the 65520. However it additionally
  51.             has the ability for mixed 5V and 3.3V operation and linear address-
  52.             ing of the video memory.  (Max Ram: 1Mb, Max Dclk: 56MHz@3.3V,
  53.             68MHz@5V)
  54.  
  55.       ct65535
  56.             This is the first chip of the ct655xx series to support fully pro-
  57.             grammable clocks. Otherwise it has the the same properties as the
  58.             65530.
  59.  
  60.       ct65540
  61.             This is the first version of the of the ct655xx that was capable of
  62.  
  63.  
  64.  Information for Chips and Technologies Users                                 1
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  Information for Chips and Technologies Users                                 2
  71.  
  72.  
  73.  
  74.             supporting Hi-Color and True-Color. It also includes a fully pro-
  75.             grammable dot clock and supports all types of flat panels.  (Max
  76.             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 documenta-
  87.             tion is not widely available. It is believed that this is really
  88.             just a 65545 with a higher maximum dot-clock of 80MHz.  (Max Ram:
  89.             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.       ct65550
  97.             This chip started a completely new architecture to previous ct655xx
  98.             chips. It includes many new features, including improved BitBLT
  99.             support (24bpp color expansion, wider maximum pitch, etc), Multime-
  100.             dia unit (video capture, zoom video port, etc) and 24bpp uncom-
  101.             pressed true color (i.e 32bpp mode). Also memory mapped I/O is pos-
  102.             sible on all bus configurations.  (Max Ram: 2Mb, Max Dclk:
  103.             80MHz@3.3V,100MHz@5V)
  104.  
  105.             ( Note: At least one non-PCI bus system with a ct65550 requires the
  106.             "-no_bios" option for the SuperProbe to correctly detect the
  107.             chipset with the factory default BIOS settings. The XF86_SVGA
  108.             server can correctly detect the chip in the same situation. )
  109.  
  110.       ct65554
  111.             This chip is similar to the 65550 but has a 64bit memory bus as
  112.             opposed to a 32bit bus. It also has higher limits on the maximum
  113.             memory and pixel clocks (Max Ram: 4Mb, Max Dclk: 100MHz@3.3V)
  114.  
  115.       ct65555
  116.             Similar to the 65554 but has yet higher maximum memory and pixel
  117.             clocks. It also includes a new DSTN dithering scheme that improves
  118.             the performance of DSTN screens.  (Max Ram: 4Mb, Max Dclk:
  119.             110MHz@3.3V)
  120.  
  121.       ct68554
  122.             Similar to the 65555 but also incorporates "PanelLink" drivers.
  123.             This serial link allows an LCD screens to be located up to 100m
  124.             from the video processor. Expect to see this chip soon in LCD desk-
  125.             top machines (Max Ram: 4Mb, Max Dclk: 110MHz@3.3V)
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  Information for Chips and Technologies Users                                 3
  137.  
  138.  
  139.  
  140.       ct69000
  141.             Similar to the 65555 but incorporates 2Mbytes of SGRAM on chip. It
  142.             is the first Chips and Technologies chipset where all of the regis-
  143.             ters are accessible through MMIO, rather than just the BitBlt reg-
  144.             isters.  (Max Ram: 2Mb Only, Max Dclk: 220MHz@3.3V)
  145.  
  146.       ct64200
  147.             This chip, also known as the WinGine, is used in video cards for
  148.             desktop systems. It often uses external DAC's and programmable
  149.             clock chips to supply additional functionally. None of these are
  150.             currently supported within the driver itself, so many cards will
  151.             only have limited support. Linear addressing is not supported for
  152.             this card in the driver.  (Max Ram: 2Mb, Max Dclk: 80MHz)
  153.  
  154.       ct64300
  155.             This is a more advanced version of the WinGine chip, with specifi-
  156.             cation very similar to the 6554x series of chips. However there are
  157.             many difference at a register level. A similar level of accelera-
  158.             tion to the 65545 is included for this driver.  (Max Ram: 2Mb, Max
  159.             Dclk: 80MHz)
  160.  
  161.  
  162. 3.  XF86Config Options
  163.  
  164. The following options are of particular interest to the Chips and Technologies
  165. driver.  Each of them must be specified in the `svga' driver section of the
  166. XF86Config file, within the Screen subsections of the depths to which they are
  167. applicable (you can enable options for all depths by specifying them in the
  168. Device section).
  169.  
  170.       Option "noaccel"
  171.             This option will disable the use of any accelerated functions.
  172.             This is likely to help with some problems related to DRAM timing,
  173.             high dot clocks, and bugs in accelerated functions, at the cost of
  174.             performance (which will still be reasonable on VLB/PCI).
  175.  
  176.       Option "no_bitblt" (Chips 65545 and later)
  177.             This option will disable the use of the BitBLT engine which the
  178.             65545 and above have. If you can use the  "noaccel" option to cor-
  179.             rect a problem, then this option might be better to use.  It still
  180.             allows the use of generic speedups.
  181.  
  182.       Option "xaa_no_color_exp" (Chips 65545 and later)
  183.             This option will have the effect of disabling the use of monochrome
  184.             colour expansion. In particular this effects text and bitmaps. It
  185.             is useful for problems related to image writes, and possible accel-
  186.             eration problems. In general this will result in a reduced perfor-
  187.             mance. Note that this option replaces the "no_imageblt" option used
  188.             in XFree86 3.2.
  189.  
  190.       Option "xaa_benchmark" (Chips 65545 and later)
  191.             Turns on the XAA acceleration benchmarks. Information regarding
  192.             what graphics primitives are accelerated and their relatives speeds
  193.             will be printed when the X server starts.
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  Information for Chips and Technologies Users                                 4
  203.  
  204.  
  205.  
  206.       videoram 1024 (or another value)
  207.             This option will override the detected amount of video memory, and
  208.             pretend the given amount of memory is present on the card.  Note
  209.             that many ct655xx chips only allow up to 1Mb of videoram, and the
  210.             amount should be correctly detected.
  211.  
  212.       Option "nolinear" (Chips 65530 and later)
  213.             By default linear addressing is used on all ct655xx chips.  However
  214.             this might be broken in some implementations. It is possible to
  215.             turn the linear addressing off with this option. Note that H/W
  216.             acceleration and 16/24/32bpp are only supported with linear
  217.             addressing.
  218.  
  219.       MemBase 0x03b00000 (or a different address)
  220.             This sets the physical memory base address of the linear frame-
  221.             buffer. Typically this is probed correctly, but if you believe it
  222.             to be mis-probed, this option might help.  Also for non PCI
  223.             machines specifying this force the linear base address to be this
  224.             value, reprogramming the video processor to suit. Note that for the
  225.             65530 this is required as the base address can't be correctly
  226.             probed.
  227.  
  228.       Option "hw_cursor" (Chips 65545 and later)
  229.             This option enables the use of a hardware accelerated cursor. This
  230.             effectively speeds all graphics operations as the job of ensuring
  231.             that the cursor remains on top is now given to the hardware. It
  232.             also reduces the effect of cursor flashing during graphics opera-
  233.             tions.
  234.  
  235.       Option "sw_cursor" (Chips 65545 and later)
  236.             Software cursors have now been made the default and so this option
  237.             has no effect.
  238.  
  239.       Option "STN"
  240.             The server is unable to differentiate between SS STN and TFT dis-
  241.             plays. This forces it to identify the display as a SS STN rather
  242.             than a TFT.
  243.  
  244.       Option "use_modeline"
  245.             The flat panel timings are related to the panel size and not the
  246.             size of the mode specified in XF86Config. For this reason the
  247.             default behaviour of the server is to use the panel timings already
  248.             installed in the chip. The user can force the panel timings to be
  249.             recalculated from the modeline with this option. However the panel
  250.             size will still be probed.
  251.  
  252.       Option "fix_panel_size"
  253.             For some machines the LCD panel size is incorrectly probed from the
  254.             registers. This option forces the LCD panel size to be overridden
  255.             by the modeline display sizes. This will prevent the use of a mode
  256.             that is a different size than the panel. Before using this check
  257.             that the server reports an incorrect panel size. This option can be
  258.             used in conjunction with the option "use_modeline" to program all
  259.             the panel timings using the modeline values.
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  Information for Chips and Technologies Users                                 5
  269.  
  270.  
  271.  
  272.       Option "no_stretch"
  273.             When the size of the mode used is less than the panel size, the
  274.             default behaviour of the server is to stretch the mode in an
  275.             attempt to fill the screen. A "letterbox" effect with no stretching
  276.             can be achieved using this option.
  277.  
  278.       Option "lcd_center"
  279.             When the size of the mode used is less than the panel size, the
  280.             default behaviour of the server is to align the left hand edge of
  281.             the display with the left hand edge of the screen. Using this
  282.             option the mode can be centered in the screen. This option is
  283.             reported to have problems with some machines at 16/24/32bpp, the
  284.             effect of which is that the right-hand edge of the mode will be
  285.             pushed off the screen.
  286.  
  287.       Option "hw_clocks" (Chips 65535 and later)
  288.             On chips 65535 and later, the default is to use the programmable
  289.             clock for all clocks. It is possible to use the fixed clocks sup-
  290.             ported by the chip instead by using this option. Typically this
  291.             will give you some or all of the clocks 25.175, 28.322, 31.000 and
  292.             36.000MHz. The current programmable clock will be given as the last
  293.             clock in the list. On a cold-booted system this might be the appro-
  294.             priate value to use at the text console (see the "TextClockFreq"
  295.             option), as many flat panels will need a dot clock different than
  296.             the default to synchronise. The programmable clock makes this
  297.             option obsolete and so it's use isn't recommended.
  298.  
  299.       Option "use_vclk1" (Chips 65550 and later)
  300.             The HiQV series of chips have three programmable clocks. The first
  301.             two are usually loaded with 25.175 and 28.322MHz for VGA backward
  302.             compatibility, and the third is used as a fully programmable clock.
  303.             On at least one system (the Inside 686 LCD/S single board computer)
  304.             the third clock is unusable. This option forces the use of VClk1 as
  305.             the programmable clock. It has been reported that this option can
  306.             fix the blue/black screen problem on startup that a few machines
  307.             suffer.
  308.  
  309.       TextClockFreq 25.175
  310.             It is impossible for the server to read the value of the currently
  311.             used frequency for the text console from the chip with the ct6554x
  312.             series of chips. Therefore the server uses a default value of
  313.             25.175MHz as the text console clock. For some LCDs, in particular
  314.             DSTN screens, this clock will be wrong. This allows the user to
  315.             select a different clock for the server to use when returning to
  316.             the text console.
  317.  
  318.       Option "mmio"
  319.             This enables the use of memory-mapped I/O to talk to the BitBLT
  320.             engine. By default memory-mapped I/O is not enabled on the 6554x
  321.             series of chips, and is only usable on 6554x's with PCI buses. This
  322.             option has no effect when not using the BitBLT engine (e.g. when
  323.             using "no_bitblt"), or for the 65550 which can only use MMIO for
  324.             access to the BitBLT engine. On 65545 PCI machines MMIO is enabled
  325.             by default because the blitter can not be used otherwise.
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  Information for Chips and Technologies Users                                 6
  335.  
  336.  
  337.  
  338.       Option "suspend_hack"
  339.             This option sets the centering and stretching to the bios default
  340.             values. This can fix suspend/resume problems on some machines. It
  341.             overrides the options "lcd_center" and "no_stretch".
  342.  
  343.       Option "use_18bit_bus"  (Chips 65540/45/46/48)
  344.             For 24bpp on TFT screens, the server assumes that a 24bit bus is
  345.             being used. This can result in a reddish tint to 24bpp mode.  This
  346.             option, selects an 18 bit TFT bus. For other depths this option has
  347.             no effect.
  348.  
  349.       Chipset "ct65546" (or some other chip)
  350.             It is possible that the chip could be misidentified, particular due
  351.             to interactions with other drivers in the server. It is possible to
  352.             force the server to identify a particular chip with this option.
  353.  
  354.       Option "sync_on_green" (Chips 65550/54/55 and 68554)
  355.             Composite sync on green. Possibly useful if you wish to use an old
  356.             workstation monitor. The 65550/54 internal RAMDAC's support this
  357.             mode of operation, but whether a particular machine does depends on
  358.             the manufacturer.
  359.  
  360.       Option "fast_dram" (Chips 65550/54/55 and 68554)
  361.             This option sets the internal memory clock (MCLK) registers to
  362.             38MHz.  The default value programmed by the BIOS is usually OK, but
  363.             some machines can accept a faster MClk to achieve a better perfor-
  364.             mance.  One machine known to work well with this option is the
  365.             Toshiba 720CDT.  Note that newer machines often have an MClk
  366.             greater than 38MHz, and so this option might actually slower the
  367.             machine down. This option is generally not recommended and is
  368.             superseded by the "Set_MemClk" option.
  369.  
  370.       DacSpeed 80.000
  371.             The server will limit the maximum dotclock to a value as specified
  372.             by the manufacturer. This might make certain modes impossible to
  373.             obtain with a reasonable refresh rate. Using this option the user
  374.             can override the maximum dot-clock and specify any value they pre-
  375.             fer. Use caution with this option, as driving the video processor
  376.             beyond its specifications might cause damage.
  377.  
  378.       Set_MemClk 38.000 (Chips 65550/54/55 and 68554)
  379.             This option sets the internal memory clock (MCLK) registers to
  380.             38MHz or some other value. Use caution as excess heat generated by
  381.             the video processor if its specifications are exceeded might cause
  382.             damage. However careful use of this option might boost performance.
  383.  
  384.  
  385. 4.  Modelines
  386.  
  387. When constructing a modeline for use with the Chips and Technologies driver
  388. you'll needed to considered several points
  389.  
  390.       * Virtual Screen Size
  391.             It is the virtual screen size that determines the amount of memory
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  Information for Chips and Technologies Users                                 7
  401.  
  402.  
  403.  
  404.             used by a mode. So if you have a virtual screen size set to
  405.             1024x768 using a 800x600 at 8bpp, you use 768kB for the mode. Fur-
  406.             ther to this some of the XAA acceleration requires that the display
  407.             pitch is a multiple of 64 pixels. So the driver will attempt to
  408.             round-up the virtual X dimension to a multiple of 64, but leave the
  409.             virtual resolution untouched. This might further reduce the avail-
  410.             able memory.
  411.  
  412.       * 16/24/32 Bits Per Pixel
  413.             Chips later than the ct65540 are capable of supporting Hi-Color and
  414.             True-Color modes. These are implemented in the current server. The
  415.             clocks in the 6554x series of chips are internally divided by 2 for
  416.             16bpp and 3 for 24bpp, allowing one modeline to be used at all
  417.             depths.  The effect of this is that the maximum dot clock visible
  418.             to the user is a half or a third of the value at 8bpp. The 6555x
  419.             series of chips doesn't need to use additional clock cycles to dis-
  420.             play higher depths, and so the same modeline can be used at all
  421.             depths, without needing to divide the clocks.  Also 16/24/32 bpp
  422.             modes will need 2 , 3 or 4 times respectively more video ram.
  423.  
  424.       * Frame Acceleration
  425.             Many DSTN screens use frame acceleration to improve the performance
  426.             of the screen. This can be done by using an external frame buffer,
  427.             or incorporating the framebuffer at the top of video ram depending
  428.             on the particular implementation. The Xserver assumes that the
  429.             framebuffer, if used, will be at the top of video ram.  The amount
  430.             of ram required for the framebuffer will vary depending on the size
  431.             of the screen, and will reduce the amount of video ram available to
  432.             the modes. Typical values for the size of the framebuffer will be
  433.             61440 bytes (640x480 panel), 96000 bytes (800x600 panel) and 157287
  434.             bytes (1024x768 panel).
  435.  
  436.       * H/W Acceleration
  437.             The H/W cursor will need 1kB for the 6554x and 4kb for the 65550.
  438.             On the 64300 chips the H/W cursors is stored in registers and so no
  439.             allowance is needed for the H/W cursor. In addition to this many
  440.             graphics operations are speeded up using a "pixmap cache". Leaving
  441.             too little memory available for the cache will only have a detri-
  442.             mental effect on the graphics performance.
  443.  
  444.       * VESA like modes
  445.             We recommend that you try and pick a mode that is similar to a
  446.             standard VESA mode. If you don't a suspend/resume or LCD/CRT switch
  447.             might mess up the screen. This is a problem with the video BIOS not
  448.             knowing about all the funny modes that might be selected.
  449.  
  450.       * Dot Clock
  451.             For LCD screens, the lowest clock that gives acceptable contrast
  452.             and flicker is usually the best one. This also gives more memory
  453.             bandwidth for use in the drawing operations. Some users prefer to
  454.             use clocks that are defined by their BIOS. This has the advantage
  455.             that the BIOS will probably restore the clock they specified after
  456.             a suspend/resume or LCD/CRT switch. For a complete discussion on
  457.             the dot clock limitations, see the next section.
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  Information for Chips and Technologies Users                                 8
  467.  
  468.  
  469.  
  470. The driver is capable of driving both a CRT and a flat panel display. In fact
  471. the timing for the flat panel are dependent on the specification of the panel
  472. itself and are independent of the particular mode chosen. For this reason it is
  473. recommended to use one of the programs that automatically generate XF86Config
  474. files, such as "xf86config" or "XF86Setup".
  475.  
  476. However there are many machines, particular those with 800x600 screen or
  477. larger, that need to reprogram the panel timings. The reason for this is that
  478. the manufacturer has used the panel timings to get a standard EGA mode to work
  479. on flat panel, and these same timings don't work for an SVGA mode. For these
  480. machines the "use_modeline" and/or possibly the "fix_panel_size" option might
  481. be needed. Some machines that are known to need these options include.
  482.  
  483.  
  484.           Modeline "640x480@8bpp"    25.175  640  672  728  816   480  489  501  526
  485.           Modeline "640x480@16bpp"  25.175  640  672  728  816   480  489  501  526
  486.           Options: "use_modeline"
  487.           Tested on a Prostar 8200, (640x480, 65548, 1Mbyte)
  488.  
  489.  
  490.  
  491.           Modeline "800x600@8bpp"    28.322  800  808  848  936   600  600  604  628
  492.           Options: "fix_panel_size", "use_modeline"
  493.           Tested on a HP OmniBook 5000CTS (800x600 TFT, 65548, 1Mbyte)
  494.  
  495.  
  496.  
  497.           Modeline "800x600@8bpp"    30.150  800  896  960 1056   600  600  604  628
  498.           Options: "fix_panel_size", "use_modeline"
  499.           Test on a Zeos Meridan 850c (800x600 DSTN, 65545, 1Mbyte)
  500.  
  501.  
  502. The NEC Versa 4080 just needs the "fix_panel_size" option.
  503.  
  504.  
  505. 5.  The Full Story on Clock Limitations
  506.  
  507. There has been much confusion about exactly what the clock limitations of the
  508. Chips and Technologies chipsets are. Hence I hope that this section will clear
  509. up the misunderstandings.
  510.  
  511. In general there are two factors determining the maximum dotclock.  There is
  512. the limit of the maximum dotclock the video processor can handle, and there is
  513. another limitation of the available memory bandwidth. The memory bandwidth is
  514. determined by the clock used for the video memory.  For chipsets incapable of
  515. colour depths greater that 8bpp like the 65535, the dotclock limit is solely
  516. determined by the highest dotclock the video processor is capable of handling.
  517. So this limit will be either 56MHz or 68MHz for the 655xx chipsets, depending
  518. on what voltage they are driven with, or 80MHz for the 64200 WinGine machines.
  519.  
  520. The 6554x and 64300 WinGine chipsets are capable of colour depths of 16 or
  521. 24bpp. However there is no reliable way of probing the memory clock used in
  522. these chipsets, and so a conservative limit must be taken for the dotclock
  523. limit. In this case the driver divides the video processors dotclock limitation
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  Information for Chips and Technologies Users                                 9
  533.  
  534.  
  535.  
  536. by the number of bytes per pixel, so that the limitations for the various
  537. colour depths are
  538.  
  539.                              8bpp    16bpp   24bpp
  540.      64300                   85      42.5    28.33
  541.      65540/65545 3.3v        56      28      18.67
  542.      65540/65545 5v          68      34      22.67
  543.      65546/65548             80      40      26.67
  544.  
  545. For a CRT or TFT screen these limitations are conservative and the user might
  546. safely override them with the "DacSpeed" option to some extent. However these
  547. numbers take no account of the extra bandwidth needed for DSTN screens.
  548.  
  549. For the HiQV series of chips, the memory clock can be successfully probed.
  550. Hence you will see a line like
  551.  
  552.      (--) SVGA: CHIPS: probed memory clock of 40090 KHz
  553.  
  554. in your startx log file. Note that many chips are capable of higher memory
  555. clocks than actually set by BIOS. You can use the Set_MClk option in your
  556. XF86Config file to get a higher MClk. However some video ram, particularly EDO,
  557. might not be fast enough to handle this, resulting in drawing errors on the
  558. screen. The formula to determine the maximum usable dotclock on the HiQV series
  559. of chips is
  560.  
  561.      Max Dotclock = min(MaxDClk,  0.70  * 4 * MemoryClk / (BytesPerPixel +
  562.                      (isDSTN == TRUE ? 1 : 0)))
  563.  
  564. which says that there are two limits on the dotclock. One the overall maximum,
  565. and another due to the available memory bandwidth of the chip.  For the memory
  566. bandwidth 4 bytes are transfered every clock cycle (Hence the 4), but after
  567. accounting for the RAS/CAS signaling only about 70% of the bandwidth is avail-
  568. able. The whole thing is divided by the bytes per pixel, plus an extra byte if
  569. you are using a DSTN. The extra byte with DSTN screens is used for the frame
  570. buffering/acceleration in these screens. So for the various Chips and Technolo-
  571. gies chips the maximum specifications are
  572.  
  573.                          Max DClk MHz      Max Mem Clk MHz
  574.      65550 rev A 3.3v          80                38
  575.      65550 rev A 5v           110                38
  576.      65550 rev B               95                50
  577.      65554                     94.5              55
  578.      65555                    110                55
  579.      68554                    110                55
  580.      69000                    220               100
  581.  
  582. Note that all of the chips except the 65550 rev A are 3.3v only. Which is the
  583. reason for the drop in the dot clock. Now the maximum memory clock is just the
  584. maximum supported by the video processor, not the maximum supported by the
  585. video memory. So the value actually used for the memory clock might be signifi-
  586. cantly less than this maximum value. But assuming your memory clock is pro-
  587. grammed to these maximum values the various maximum dot clocks for the chips
  588. are
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  Information for Chips and Technologies Users                                10
  599.  
  600.  
  601.  
  602.                              ------CRT/TFT-------    --------DSTN--------
  603.                              8bpp    16bpp   24bpp   8bpp    16bpp   24bpp
  604.      65550 rev A 3.3v        80      53.2    35.47   53.2    35.47   26.6
  605.      65550 rev A 5v          106.2   53.2    35.47   53.2    35.47   26.6
  606.      65550 rev B             95      70      46.67   70      46.67   35.0
  607.      65554                   94.5    77      51.33   77      51.33   38.5
  608.      65555                   110     77      51.33   77      51.33   38.5
  609.      68554                   110     77      51.33   77      51.33   38.5
  610.      69000                   220    140      93.33  140      93.33   70.0
  611.  
  612. If you exceed the maximum set by the memory clock, you'll get corruption on the
  613. screen during graphics operations, as you will be starving the HW BitBlt engine
  614. of clock cycles. If you are driving the video memory too fast (too high a Mem-
  615. Clk) you'll get pixel corruption as the data actually written to the video mem-
  616. ory is corrupted by driving the memory too fast. You can probably get away with
  617. exceeding the Max DClk at 8bpp on TFT's or CRT's by up to 10% or so without
  618. problems, it will just generate more heat, since the 8bpp clocks aren't limited
  619. by the available memory bandwidth.
  620.  
  621. If you find you truly can't achieve the mode you are after with the default
  622. clock limitations, look at the options "DacSpeed" and "Set_MemClk". Using these
  623. should give you all the capabilities you'll need in the server to get a partic-
  624. ular mode to work. However use caution with these options, because there is no
  625. guarantee that driving the video processor beyond it capabilities won't cause
  626. damage.
  627.  
  628.  
  629. 6.  Troubleshooting
  630.  
  631.       The cursor appears as a white box, after switching modes
  632.             There is a known bug in the H/W cursor, that sometimes causes the
  633.             cursor to be redrawn as a white box, when the mode is changed.
  634.             This can be fixed by moving the cursor to a different region,
  635.             switching to the console and back again, or if it is too annoying
  636.             the H/W cursor can be disabled by removing the "hw_cursor" option.
  637.  
  638.       The cursor hot-spot isn't at the same point as the cursor
  639.             With modes on the 6555x machines that are stretched to fill the
  640.             flat panel, the H/W cursor is not correspondingly stretched. This
  641.             is a small and long-standing bug in the current server. You can
  642.             avoid this by either using the "no_stretch" option or removing the
  643.             hw_cursor" option.
  644.  
  645.       The lower part of the screen is corrupted
  646.             Many DSTN screens use the top of video ram to implement a frame
  647.             accelerator. This reduces the amount of video ram available to the
  648.             modes. The server doesn't prevent the user from specifying a mode
  649.             that will use this memory, it prints a warning on the console.  The
  650.             effect of this problem will be that the lower part of the screen
  651.             will reside in the same memory as the frame accelerator and will
  652.             therefore be corrupt. Try reducing the amount of memory consumed by
  653.             the mode.
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  Information for Chips and Technologies Users                                11
  665.  
  666.  
  667.  
  668.       There is a video signal, but the screen doesn't sync.
  669.             You are using a mode that your screen cannot handle. If it is a
  670.             non-standard mode, maybe you need to tweak the timings a bit. If it
  671.             is a standard mode and frequency that your screen should be able to
  672.             handle, try to find different timings for a similar mode and fre-
  673.             quency combination. For LCD modes, it is possible that your LCD
  674.             panel requires different panel timings at the text console than
  675.             with a graphics mode. In this case you will need the "use_modeline"
  676.             and perhaps also the "fix_panel_size" options to reprogram the LCD
  677.             panel timings to sensible values.
  678.  
  679.       `Wavy' screen.
  680.             Horizontal waving or jittering of the whole screen, continuously
  681.             (independent from drawing operations).  You are probably using a
  682.             dot clock that is too high (or too low); it is also possible that
  683.             there is interference with a close MCLK. Try a lower dot clock.
  684.             For CRT's you can also try to tweak the mode timings; try increas-
  685.             ing the second horizontal value somewhat.
  686.  
  687.       Crash or hang after start-up (probably with a black screen).
  688.             Try the "noaccel" or "no_bitblt" options. Check that the BIOS set-
  689.             tings are OK; in particular, disable caching of 0xa0000-0xaffff.
  690.             Disabling hidden DRAM refresh may also help.
  691.  
  692.       Hang as the first text is appearing on the screen on SVR4 machines.
  693.             This problem has been reported under UnixWare 1.x, but not tracked
  694.             down. It doesn't occur under UnixWare 2.x and only occurs on the
  695.             HiQV series of chips. It might affect some other SVR4 operating
  696.             systems as well. The workaround is to turn off the use of CPU to
  697.             screen acceleration with the "xaa_no_color_exp" option.
  698.  
  699.       Crash, hang, or trash on the screen after a graphics operation.
  700.             This may be related to a bug in one of the accelerated functions,
  701.             or a problem with the BitBLT engine. Try the "noaccel" or "no_bit-
  702.             blt" options. Also check the BIOS settings. It is also possible
  703.             that with a high dot clock and depth on a large screen there is
  704.             very little bandwidth left for using the BitBLT engine. Try reduc-
  705.             ing the clock.
  706.  
  707.       Chipset is not detected.
  708.             Try forcing the chipset to a type that is most similar to what you
  709.             have.
  710.  
  711.       The screen is blank when starting X
  712.             One possible cause of this problem is if the kernel has been com-
  713.             piled with the "APM_DISPLAY_BLANK" option. It appears that this
  714.             option doesn't work as specified and can cause the Xserver to blank
  715.             when starting X. In all cases the kernel should be compiled without
  716.             this option. If the problem remains a CRT/LCD or switch to and from
  717.             the virtual console will often fix it.
  718.  
  719.       Textmode is not properly restored
  720.             This has been reported on some configurations. Many laptops use the
  721.             programmable clock of the 6554x chips at the console.  It is not
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  Information for Chips and Technologies Users                                12
  731.  
  732.  
  733.  
  734.             always possible to find out the setting that is used for this clock
  735.             if BIOS has written the MClk after the VClk. Hence the server
  736.             assumes a 25.175MHz clock at the console. This is correct for most
  737.             modes, but can cause some problems. Usually this is fixed by
  738.             switching between the LCD and CRT. Alternatively the user can use
  739.             the "TextClockFreq" option described above to select a different
  740.             clock for the text console. Another possible cause of this problem
  741.             is if the kernel is compiled with the "APM_DISPLAY_BLANK" option.
  742.             As mentioned before, this option should be disabled.
  743.  
  744.       I can't display 640x480 on my 800x600 LCD
  745.             The problem here is that the flat panel needs timings that are
  746.             related to the panel size, and not the mode size. There is no
  747.             facility in the current Xservers to specify these values, and so
  748.             the server attempts to read the panel size from the chip. If the
  749.             user has used the "use_modeline" or "fix_panel_size" options the
  750.             panel timings are derived from the mode, which can be different
  751.             than the panel size. Try deleting theses options  from XF86Config
  752.             or using an LCD/CRT switch.
  753.  
  754.       I can't get a 320x240 mode to occupy the whole 640x480 LCD
  755.             There is a bug in the 6554x's H/W cursor for modes that are doubled
  756.             vertically. The lower half of the screen is not accessible.  The
  757.             servers solution to this problem is not to do doubling vertically.
  758.             Which results in the 320x240 mode only expanded to 640x360. If this
  759.             is a problem, a work around is to remove the "hw_cursor" option.
  760.             The server will then allow the mode to occupy the whole 640x480
  761.             LCD.
  762.  
  763.       After a suspend/resume my screen is messed up
  764.             During a suspend/resume, the BIOS controls what is read and written
  765.             back to the registers. If the screen is using a mode that BIOS
  766.             doesn't know about, then there is no guarantee that it will be
  767.             resumed correctly. For this reason a mode that is as close to VESA
  768.             like as possible should be selected. It is also possible that the
  769.             VGA palette can be affected by a suspend/resume.  Using an 8bpp,
  770.             the colour will then be displayed incorrectly. This shouldn't
  771.             affect higher depths, and is fixable with a switch to the virtual
  772.             console and back.
  773.  
  774.       The right hand edge of the mode isn't visible on the LCD
  775.             This is usually due to a problem with the "lcd-center" option. If
  776.             this option is removed form XF86Config, then the problem might go
  777.             away. Alternatively the manufacturer could have incorrectly pro-
  778.             grammed the panel size in the EGA console mode. The
  779.             "fix_panel_size" can be used to force the modeline values into the
  780.             panel size registers. Two machines that are known to have this
  781.             problem are the "HP OmniBook 5000" and the "NEC  Versa 4080".
  782.  
  783.       My TFT screen has a reddish tint in 24bpp mode
  784.             The server assumes that the TFT bus width is 24bits. If this is not
  785.             true then the screen will appear to have a reddish tint. This can
  786.             be fixed by using the "use_18bit_bus" option. Note that the reverse
  787.             is also true. If the "use_18bit_bus" is used and the TFT bus width
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  Information for Chips and Technologies Users                                13
  797.  
  798.  
  799.  
  800.             is 24bpp, then the screen will appear reddish.  Note that this
  801.             option only has an effect on TFT screens.
  802.  
  803.       I can't start X-windows with 16, 24 or 32bpp
  804.             Firstly, is your machine capable of 16/24/32bpp with the mode spec-
  805.             ified. Many LCD displays are incapable of using a 24bpp mode. Also
  806.             you need at least a 65540 to use 16/24bpp and at least a 65550 for
  807.             32bpp. The amount of memory used by the mode will be dou-
  808.             bled/tripled/quadrupled. The correct options to start the server
  809.             with these modes are
  810.  
  811.                         startx -- -bpp 16               5-6-5 RGB ('64K color', XGA)
  812.                         startx -- -bpp 16 -weight 555   5-5-5 RGB ('Hicolor')
  813.                         startx -- -bpp 24               8-8-8 RGB truecolor
  814.  
  815.  
  816.             or with the HiQV series of chips (6555x, 68554 or 69000) you might
  817.             try
  818.  
  819.                         startx -- -bpp 32               8-8-8 RGB truecolor
  820.  
  821. A general problem with the server that can manifested in many way such as draw-
  822. ing errors, wavy screens, etc is related to the programmable clock. Many poten-
  823. tial programmable clock register setting are unstable.  However luckily there
  824. are many different clock register setting that can give the same or very simi-
  825. lar clocks. The clock code can be fooled into giving a different and perhaps
  826. more stable clock by simply changing the clock value slightly. For example
  827. 65.00MHz might be unstable while 65.10MHz is not. So for unexplained problems
  828. not addressed above, please try to alter the clock you are using slightly, say
  829. in steps of 0.05MHz and see if the problem goes away. Alternatively, using the
  830. "use_vclk1" option with chips later than the 65550 might also help.
  831.  
  832. For other screen drawing related problems, try the "noaccel" or "no_bitblt"
  833. options. A useful trick for all laptop computers is to switch between LCD/CRT
  834. (usually with something like Fn-F5), if the screen is having problems.
  835.  
  836. If you are having driver-related problems that are not addressed by this docu-
  837. ment, or if you have found bugs in accelerated functions, you can try contact-
  838. ing the XFree86 team (the current driver maintainer can be reached at dbate-
  839. man@eng.uts.edu.au or Egbert.Eich@Physik.TH-Darmstadt.DE), or post in the
  840. Usenet newsgroup "comp.windows.x.i386unix".
  841.  
  842.  
  843. 7.  Disclaimer
  844.  
  845. XFree86, allows the user to do damage to their hardware with software.
  846. Although the authors of this software have tried to prevent this, they disclaim
  847. all responsibility for any damage caused by the software. Use caution, if you
  848. think the Xserver is frying your screen, TURN THE COMPUTER OFF!!
  849.  
  850.  
  851. 8.  Acknowledgement
  852.  
  853. The authors of this software wish to acknowledge the support supplied by Chips
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  Information for Chips and Technologies Users                                14
  863.  
  864.  
  865.  
  866. and Technologies during the development of this software.
  867.  
  868.  
  869. 9.  Authors
  870.  
  871. Major Contributors (In no particular order)
  872.  
  873.    o Nozomi Ytow
  874.  
  875.    o Egbert Eich
  876.  
  877.    o David Bateman
  878.  
  879.    o Xavier Ducoin
  880.  
  881. Contributors (In no particular order)
  882.  
  883.    o Ken Raeburn
  884.  
  885.    o Shigehiro Nomura
  886.  
  887.    o Marc de Courville
  888.  
  889.    o Adam Sulmicki
  890.  
  891.    o Jens Maurer
  892.  
  893. We also thank the many people on the net who have contributed by reporting bugs
  894. and extensively testing this server before its inclusion in XFree86 3.2
  895.  
  896.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/chips.sgml,v 3.12.2.12 1998/11/07 13:52:45 dawes Exp $
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  Information for Chips and Technologies Users                                15
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.                                    CONTENTS
  999.  
  1000.  
  1001.  
  1002. 1. Introduction  ............................................................ 1
  1003.  
  1004. 2. Supported Chips  ......................................................... 1
  1005.  
  1006. 3. XF86Config Options  ...................................................... 3
  1007.  
  1008. 4. Modelines  ............................................................... 6
  1009.  
  1010. 5. The Full Story on Clock Limitations  ..................................... 8
  1011.  
  1012. 6. Troubleshooting  ........................................................ 10
  1013.  
  1014. 7. Disclaimer  ............................................................. 13
  1015.  
  1016. 8. Acknowledgement  ........................................................ 13
  1017.  
  1018. 9. Authors  ................................................................ 14
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.                                        i
  1055.  
  1056.  
  1057.