Mach64 X Server Release Notes Kevin E. Martin (martin@cs.unc.edu) 1999 June 28 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 most 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 3D Rage II 170MHz 8 1600x1200 4Mb 3D Rage II 170MHz 16 1600x1200 4Mb 3D Rage II 170MHz 32 1024x768 4Mb 3D Rage II+DVD 200MHz 8 1600x1200 4Mb 3D Rage II+DVD 200MHz 16 1600x1200 4Mb 3D Rage II+DVD 200MHz 32 1024x768 4Mb Rage Pro 230MHz 8 1600x1200 8Mb Rage Pro 230MHz 16 1600x1200 8Mb Rage Pro 230MHz 32 1600x1200 8Mb 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 table above specifies the maximum resolution and the video memory required to run this maximum resolution. Smaller resolutions will require less video memory. The RAMDAC is reported when you run the Mach64 X server with the "-probeonly" command line option. The RAMDAC reported should be correct for all Mach64 cards. It can also be specified in the XF86Config file, but this is not rec- ommended unless the RAMDAC reported in the probeonly output is incorrect. Before specifying the RAMDAC in your XF86Config file visually verify which RAMDAC is on your Mach64 card. If the RAMDAC reported in the probeonly out- put is definitely different than what you see on the card, then check to see if you have a RAMDAC specified in your XF86Config file. If you do, comment this line out and re-run the Mach64 X server with the "-probeonly". If it still reports the incorrect RAMDAC, please send in a bug report to XFree86@XFree86.Org. The ATI68860 RAMDACs are usually found on ATI Graphics Pro Turbo and ATI Win- Turbo cards. The IBM RGB514 RAMDAC is found on the ATI Graphics Pro Turbo 1600 card. The other RAMDACs are usually found on ATI Graphics Xpression, ATI Video Xpression and ATI 3d Xpression cards. Mach64 CT, ET, VT, VT3, VT4, LT, GT (3D Rage), 3D Rage II, 3D Rage IIC, 3D Rage II+DVD, Rage Pro, and Rage LT Pro chips have an "Internal" RAMDAC (i.e., it is built into the Mach64 chip). As advertised, Mach64 graphics cards can use a special 24bpp mode (packed pixel mode), but this is not currently supported in the Mach64 X server. This will be added in the next major release. 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 mem- ory will not work. If you have a PCI based Mach64 card or a VLB based Mach64 card, then the Mach64 X server will work with any amount of main memory. Accelerated doublescan modes are supported on VT, VT3, VT4, LT, GT, Rage II, Rage IIC, Rage II+DVD, Rage Pro and Rage LT Pro based Mach64 cards. Mach64 cards with other chips cannot handle accelerated double scan modes due to a hardware limitation. Non-accelerated doublescan modes should work with the ATI driver in the SVGA X server for all Mach64 cards. 2. Optimizing the speed of the Mach64 X server To maximize the speed of the Mach64 X server, I suggest that you use the fol- lowing maximum resolutions. This will allow room for the font and pixmap caches and a hardware cursor. Max Resolution BPP Video RAM -------------- --- --------- 1600x1200 8 8Mb 1600x1200 16 8Mb 1280x1024 32 8Mb 1280x1024 8 4Mb 1280x1024 16 4Mb 1024x767 32 4Mb 1280x1024 8 2Mb 1024x767 16 2Mb 800x600[*] 32 2Mb 1024x767 8 1Mb 800x600[*] 16 1Mb [*] - With a 2MB video card, the only way to use the font and pixmap caches 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. The same argument can be made for 1MB video cards running in 16bpp mode. Note that it is not possible to run in 32bpp mode with 1MB of video memory. 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 or greater. 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, how- ever, 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. Note on newer Mach64 cards (CT, ET, VT, GT, 3D Rage II, 3D Rage II+DVD and Rage Pro) the "Ramdac", "ClockChip" and "Clocks" lines have no meaning and should not be included in your XF86Config file. Option "sw_cursor" This option allows you to use the software cursor instead of the hardware cursor. Option "hw_cursor" This option turns on the hardware cursor. This should not be necessary since the hardware cursor is used by default unless the "sw_cursor" option is specified. 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 that this does not work with the Chrontel 8398 RAMDAC. This options is not nec- essary since 8 bits per RGB value is the default for the Mach64 X server for all Mach64 cards except those with the Chrontel 8398 RAMDAC. Option "dac_6_bit" This option enables 6 bits per RGB value. 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 extreme care. It is possible to specify a video mode that can damage your card or monitor. 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. 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 being turned on when it should not. 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. Note that this may result in ``noise'' appearing on the screen. 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_program_clocks" This option allows you to disable the clock programming. Nor- mally the Mach64 server will program the clocks based on the clock chip type unless this option is given. With this option, the clocks are either read from the BIOS or, if the "no_bios_clocks" option is set, set from the Clocks line. Option "no_bios_clocks" This option allows you to override the clocks read from the video card's BIOS and use the clocks specified in the Clocks line in your XF86Config file. Normally the Mach64 server will ignore both the BIOS clocks and the clocks specified in the Clocks line unless the "no_program_clocks" options is set (see above). Option "no_font_cache" This option allows you to disable the font cache. By default the font cache is turned on if the horizontal resolution is 1024 pix- els or greater and there is enough off-screen video memory to hold the cache. Option "no_pixmap_cache" This option allows you to disable the pixmap cache. By default the pixmap cache is turned on if the horizontal resolution is 1024 pixels or greater and there is enough off-screen video mem- ory to hold the cache. Option "fifo_conservative" This option allows you to use a more conservative display fifo value. If you are experiencing snow or vertical banding on the screen, try adding this option to see if it fixes the problem. MemBase baseaddress This entry specifies the video memory aperture address. By default the aperture address is automatically determined and this option should not be necessary. If the Mach64 X server is dying with a seg. fault, then the memory aperture might not be cor- rectly determined. To fix this 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 att20c408 o ch8398 o ibm_rgb514 o ics2595 o stg1703 Ramdac "type" This entry specifies the RAMDAC type. The following values are valid for type: o ati68860 o ati68860b o ati68860c o ati68875 o att20c408 o ch8398 o ibm_rgb514 o internal o stg1702 o stg1703 o tlc34075 DacSpeed "MHz" This entry allows you to override the default maximum dot clock. Use this option with extreme caution. If you specify a MHz value too large for your card, you can damage it. 4. Enhancements for this release With this release, the following enhancements have been made: o Proper identification of all current Mach64 chips o Support for VT4 and Rage IIC based cards o Improved timing calculation for video FIFOs o Fixed timing bug in font code o Fixed VGA font restoration bug when exiting the X server 5. Cards known to work with this release The following is a list of cards that have been tested with this release. Many other cards should work including All-In-Wonder and All-In-Wonder Pro cards as well as motherboards with Mach64, 3D Rage II and Rage Pro included on them. If you have a new card that does not appear to work, see the Known Problems and Bug Reports section below. ATI Xpert@Play 98 4MB 3D Rage Pro (AGP) ATI Xpert 98 4MB 3D Rage Pro (PCI) ATI Xpert XL 4MB 3D Rage Pro (AGP) ATI Rage IIC 4MB 3D Rage IIC (AGP) ATI Xpert@Play 8MB 3D Rage Pro (AGP/PCI) ATI Xpert@Work 2MB 3D Rage Pro (PCI) ATI Pro Turbo+PC2TV 4MB 3D Rage II+DVD (rev 154) ATI 3D Xpression+ 4MB 3D Rage II (GT-B, SGRAM, rev 65) ATI 3D Xpression+ 2MB 3D Rage II (GT-B, SDRAM, rev 65) ATI 3D Xpression 2MB 3D Rage (GT-A, rev 72) ATI Video Xpression+ 2MB Mach64 VT-A3 (rev 8) ATI Video Xpression 2MB Mach64 VT-A4 (rev 72) ATI Graphics Xpression 2MB Mach64 CT (rev 9) ATI Graphics Xpression 2MB Mach64 CT-C (rev 65) ATI Graphics Xpression 2MB Mach64 CT-D (rev 10) ATI Graphics Xpression 2MB Mach64 GX (rev 1) with Chrontel8398 RAMDAC ATI Graphics Pro Turbo 2MB Mach64 GX (rev 0) with 68860-B RAMDAC ATI Graphics Pro Turbo 2MB Mach64 CX (rev 1) with AT&T20C408 RAMDAC ATI WinTurbo 2MB Mach64 GX (rev 1) with 68860-C RAMDAC 6. Known Problems and Bug Reports There are several known problems with the current version of the Mach64 X server. They include: o Gamma correction is not currently supported. It will be supported in a future release. o Screen blanking in 16bpp and 32bpp modes on certain Mach64 CT cards does not work. o In doublescan modes, only the top half of the hardware cursor is dis- played. The hardware cursor works fine in all other modes. o With high refresh rates on certain cards (VT-A3 and CT-D) noise can become a problem in 32bpp mode. This usually only happens with refresh rates of 85Hz or greater and can be fixed by using a lower refresh rate (e.g., 72Hz or 75Hz). 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. If you are experiencing problems, first check to make sure that you have the very latest available release (including beta releases). ATI releases new cards throughout the year. Each of these new cards require additional pro- gramming to support the new Mach64 chips, RAMDACs and clock chips that appear on them. The most recent release is most likely to support your video card. Second, please check the RELNOTES and README files (as well as the other doc- umentation available with the release). Third, make sure you do not have any Ramdac, ClockChip or Clocks lines in your XF86Config file (all of these are automatically detected by the Mach64 X server). The "Device" section should only contain the Identifier, VendorName and BoardName. All other options should be automatically detected. If you are still experiencing problems, please send e-mail to XFree86@XFree86.org or post to the comp.windows.x.i386unix newsgroup. Please do NOT send e-mail to me since the developers who answer e-mail sent to XFree86@XFree86.org are better able to answer most questions and I would like to spend my minimal free time working on new enhancements to the X server. Thanks! Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Mach64.sgml,v 3.15.2.7 1999/07/05 09:07:28 hohndel Exp $ $XConsortium: Mach64.sgml /main/8 1996/10/28 05:23:52 kaleb $