  Notes for Mach64 X Server
  Kevin E. Martin (martin@cs.unc.edu)
  26 December 1995

  1.  Supported Cards, RAMDACs, and Bits Per Pixel

  The Mach64 X server supports 8bpp with a dot clock up to 80MHz on all
  Mach64 based cards.  On certain cards, higher dot clocks and
  additional depths are available (see the table below).  What
  determines this support is the RAMDAC on your card.


   RAMDAC      Max Dot Clock   BPP   Max Resolution   Video RAM Required
  --------     -------------   ---   --------------   ------------------
  ATI68860         135MHz       8      1280x1024             2Mb
  ATI68860         135MHz      16      1280x1024             4Mb
  ATI68860          80MHz      32       1024x768             4Mb

  ATI68875          80MHz      32       1024x768             4Mb

  CH8398           135MHz       8      1280x1024             2Mb
  CH8398            80MHz      16       1024x768             2Mb
  CH8398            40MHz      32        800x600             2Mb

  STG1702          135MHz       8      1280x1024             2Mb
  STG1702           80MHz      16       1024x768             2Mb
  STG1702           50MHz      32        800x600             2Mb

  STG1703          135MHz       8      1280x1024             2Mb
  STG1703           80MHz      16       1024x768             2Mb
  STG1703           50MHz      32        800x600             2Mb

  AT&T20C408       135MHz       8      1280x1024             2Mb
  AT&T20C408        80MHz      16       1024x768             2Mb
  AT&T20C408        40MHz      32        800x600             2Mb

  Internal         135MHz       8      1280x1024             2Mb
  Internal          80MHz      16       1024x768             2Mb
  Internal          40MHz      32        800x600             2Mb

  IBM RGB514       220MHz       8      1600x1200             2Mb
  IBM RGB514       220MHz      16      1600x1200             4Mb
  IBM RGB514       135MHz(?)   32       1024x768             4Mb

  All Others[*]     80MHz       8      1280x1024             2Mb


  [*] - The dot clocks are limited to 80MHz and the bpp is limited to 8.

  The RAMDAC is reported when you run the Mach64 X server with the
  "-probeonly" command line option, or can be specified in the
  XF86Config file.

  The ATI68860 and ATI68880 RAMDACs are usually found on ATI Graphics
  Pro Turbo and ATI WinTurbo cards.  The other RAMDACs are usually found
  on ATI Graphics Xpression cards.

  As advertised, Mach64 graphics cards can use a special 24bpp mode
  (packed pixel mode), but this is not currently supported in the Mach64
  for various reasons.  The main one is that there is no current support
  for 24bpp modes in the X Consortium's servers.  Adding this support
  will require a great programming effort.

  The Mach64 X server requires the video memory aperture to function
  properly.  This means that ISA Mach64 cards in systems with more than

  12Mb of main memory will not work.

  2.  Optimizing the speed of the Mach64 X server

  To maximize the speed of the Mach64 X server, I suggest that you use
  the following maximum resolutions.  This will allow room for the font
  and pixmap caches and a hardware cursor.


  Max Resolution   BPP   Video RAM
  --------------   ---   ---------
    1280x1024       8       4Mb
    1280x1024      16       4Mb
     1024x767      32       4Mb

    1280x1024       8       2Mb
     1024x767      16       2Mb
      800x600[*]   32       2Mb



  [*] - With a 2Mb video card, the only way to use the font and pixmap
  cache is to have a virtual resolution of 1024x480 with a 640x480 mode.
  I suggest using 800x600 to maximize your screen size at the cost of
  the speed gained from the caches.

  Technical explanation for the above suggestions: The Mach64 X server
  uses a font and pixmap cache that is only available at a screen width
  of 1024.  This restriction will be removed in a future version of the
  X server.  To obtain the best performance from your video card, you
  need to make sure that there is enough room off-screen for the caches
  (at least 1024x256).  In addition to the cache, the Mach64 uses memory
  mapped registers which are mapped to the last 1024 bytes of the memory
  aperture.  This takes away another line from video memory.  Thus, you
  need at least a video memory area of 1024x257.

  3.  XF86Config options

  Several options are supported in the "Device" section for the Mach64 X
  server.  By default, the Mach64 X server will determine the RAMDAC
  type from the BIOS.  If you wish to override the default RAMDAC type
  (not recommended unless the BIOS incorrectly reports your RAMDAC
  type), you can specify the RAMDAC type in the XF86Config file with the
  "Ramdac" entry.  The Mach64 X server will also program the clocks
  based on the clock chip read from the BIOS.  If you wish to override
  the default clock chip type (not recommended unless the BIOS
  incorrectly reports your clock chip type), you may specify the clock
  chip in the XF86Config file with the "ClockChip" entry.  If, however,
  you wish to use the preprogrammed clocks, you can turn off the clock
  programming with the "no_program_clocks" option.  In this case, the
  Mach64 X server reads the Clocks from the BIOS.  The "Clocks" lines in
  the XF86Config file are normally ignored by the Mach64 X server unless
  the "no_bios_clocks" option is given.


     Option "sw_cursor"
        This option allows you to use the software cursor instead of the
        hardware cursor.

     Option "composite"
        This option will set the composite sync for monitors that
        require this.

     Option "dac_8_bit"
        This option enables 8 bits per RGB value.  Note this option does

        not work with the Chrontel 8398 RAMDAC.

     Option "override_bios"
        This option allows you to specify a video mode that the video
        card's BIOS believes to be illegal.  Some BIOSs have incorrect
        maximum resolution and/or dot clock limitations.  Use this
        option with care.  It is possible to specify a video mode that
        can damage your card.

     Option "no_block_write"
        This option allows you to turn off block write mode.  Block
        write mode only works on certain types of VRAM cards, and this
        option has no effect on DRAM based cards.  If you see noise on
        the screen that can be captured via xmag, then it is probably a
        problem with block write mode.  This ``noise'' usually looks
        like bits of windows/menus repeated on the screen.

     Option "block_write"
        This option allows you to turn on block write mode.  Block write
        mode only works on certain types of VRAM cards, and this option
        has no effect on DRAM based cards.  If you want to override the
        probed default, you can use this option.

     Option "power_saver"
        This option allows the server to use the power saving features
        of certain "green" monitors instead of blanking when the screen
        saver is activated.  This option is still experimental.

     Option "no_bios_clocks"
        This option allows you to override the clocks read from the
        video card's BIOS.  Normally the Mach64 server will ignore the
        Clocks line, but with this option the clocks from the XF86Config
        file can override the BIOS's clocks.

     Option "no_program_clocks"
        This option allows you to disable the clock programming.
        Normally the Mach64 server will program the clocks based on the
        clock chip type unless this option is given.

     MemBase baseaddress
        This entry specifies the video memory aperture address.
        Normally the aperture address is automatically determined, but
        on some VESA Local Bus systems the address chosen will not work.
        If the Mach64 X server is dying with a seg. fault, then try
        setting the aperture address to another location.

     ClockChip "type"
        This entry specifies the clock chip type.  The following values
        are valid for type:

        o  ati18818

        o  ics2595

        o  stg1703

        o  ch8398

        o  att20c408

        o  ibm_rgb514

     Ramdac "type"
        This entry specifies the RAMDAC type.  The following values are
        valid for type:

        o  ati68875

        o  tlc34075

        o  ati68860

        o  ati68880

        o  stg1702

        o  stg1703

        o  ch8398

        o  att20c408

        o  ibm_rgb514

  4.  Known Problems and Bug Reports

  There are several known problems with the current version of the
  Mach64 X server.  They include:

     o  Some RAMDACs are incorrectly reported by the BIOS.  This can be
        handled by explicitly specifying the RAMDAC in the XF86Config
        file.

     o  ISA cards with more than 12Mb of main memory cannot use the
        server due to the requirement of a video memory aperture.  This
        a major project.

  Bug reports should be sent to XFree86@XFree86.org or posted to the
  comp.windows.x.i386unix newsgroup.


  Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Mach64.sgml,v 3.11 1996/03/31 11:48:57 dawes Exp $





  $XConsortium: Mach64.sgml /main/5 1995/12/29 15:59:01 kaleb $

























$XFree86: xc/programs/Xserver/hw/xfree86/doc/READ.Mach64,v 3.4 1996/03/31 12:05:26 dawes Exp $
