1This is the README for the XFree86 ATI SVGA driver. 2 3Last Revised: Mon May 10 15:17:57 1993 by faith@cs.unc.edu 4 5NOTE: Users of boards with the ATI Mach8 or Mach32 chipsets should be 6 using the accelerated servers (XF86_Mach8 or XF86_Mach32). The 7 SVGA server still works, but this is a waste of capabilities. 8 9 10Q. What's new? 11 12For XFree86 version 1.2 (and later versions), there are two changes to the 13extregPlusXLAndOrMasks table: 14 151) ER_B0 was changed from 0x28 to 0x31. (In the Linux world, this was 16distributed as a binary patch long ago.) 17 182) ER_BE was changed from 0x08, but only for cards EARLIER than the 1928800-5. 20 21Both of these changes allow more 28800-4 cards to work, although either one 22may be sufficient for any one card. You can find these changes in the 23driver by searching for the Feb 3 timestamps. 24 25 26 27Q. What is the ATI SVGA driver? 28 29The ATI SVGA driver is a 256 color driver for the XFree86 server. The 30driver was written for the ATI WONDER series of graphics adapters. In 31general, the following modes are supported for cards with 512kb of memory: 32 33640x480x256 34600x800x256 35 36The following modes are supported for cards with 1024kb of memory: 37 381024x768x256 39 40 41 42Q. What is the ATI SVGA driver *NOT*? 43 44The ATI SVGA driver is *NOT* a black and white (2 bit) driver. Therefore, 45it will *NOT* work with the XFree86 monoserver. 46 47The ATI SVGA driver is *NOT* a 16 color driver. Even though your manual 48says that your graphics adapter has a 1024x768x16 mode, the ATI SVGA driver 49will *NOT* use this mode. If you want to use 1024x768, you *MUST* have 1MB 50of memory on your board and use the 1024x768x256 mode. 51 52The ATI SVGA driver will *NOT* support more than 8 bits of pixel depth. 53Therefore, even though your manual says that your graphics adapter supports 54modes using more than 256 colors, the ATI SVGA driver will *NOT* use these 55modes. 56 57The ATI SVGA driver is *NOT* an accelerated driver. If you have an ATI 58GRAPHICS ULTRA series card, the ATI SVGA driver will *NOT* use the 59accelerated hardware. It will only use the SVGA hardware. This will 60probably not be any faster than a VGA WONDER card, unless the card is on a 61local bus (and then, it won't be faster than a VGA WONDER card on a local 62bus, if a card of this type existed). 63 64 65 66Q. What cards will the driver work with? 67 68This is a difficult question, because there are many different ATI video 69cards, and it is sometimes difficult to tell them apart. The best way is 70to look on the card itself for the ATI chip numbers. Here is a partial 71list of ATI VGA WONDER cards. The MOST IMPORTANT number is the CHIP 72VERSION. 73 74Adapter version Dot clock Chip version 75 76VGA WONDER V3 ATI18800 NOT SUPPORTED 77VGA WONDER V4 ATI18800-1 NOT SUPPORTED 78VGA WONDER V5 ATI18810 ATI18800-1 NOT SUPPORTED 79VGA WONDER + (V6) ATI18810 ATI28800-2 ? MAY WORK ? 80VGA WONDER (1 MB) ATI18810 ATI28800-4 SUPPORTED 81VGA WONDER (1 MB) ATI18810 ATI28800-5 SUPPORTED 82VGA WONDER XL ATI18810 ATI28800-5 SUPPORTED 83 84Note that the ATI SVGA driver code has hooks and some support for all of 85the cards listed. However, with the earlier cards, there are serious 86differences in the programmer's interface. The only people who have ever 87worked on the code have had 28800-4 and 28800-5 chips, so these chips are 88the only ones that are actually known to work. 89 90The ATI GRAPHICS ULTRA chips seem to have SVGA support which is equivalent 91to the 28800-4, 28800-5, and 28800-a, although I can find no documentation 92on this in the technical manuals provided by ATI. The ULTRA PLUS and ULTRA 93PRO boards have been tested to some extent, and seem to work fine, but the 94original ULTRA may have some problems at greater than 640x480 resolution. 95 96 97 98Q. What should I put in my Xconfig file? 99 100THE MOST IMPORTANT LINE IS THE CLOCKS LINE: 101 102 Clocks 18 22 25 28 36 44 50 56 103 30 32 37 39 40 0 75 65 104 105The first row of clocks is usable on all VGA Wonder cards. The second row 106is usable only on V5, PLUS, and XL cards (28800-2, 28800-4, and 28800-5). 107However, you should include *BOTH* rows for *ALL* cards. 108 109The specification is different from the specification used with the ET-4000 110cards. Programs with claim to detect the clocks usually work only with 111ET-4000 based cards. No such program exists for the ATI cards, since it 112isn't needed. THE CLOCKS LINE SHOULD NEVER BE CHANGED. The order of 113numbers in the clocks line *is* significant. 114 115The actual frequencies, which can be used to calculate the ModeDB lines, 116are as follows: 117 11818 = 18.000 11922 = 22.450 12025 = 25.175 12128 = 28.320 12236 = 36.000 12344 = 44.900 12450 = 50.350 12556 = 56.640 126 12730 = 30.240 12832 = 32.000 12937 = 37.500 13039 = 39.000 13140 = 40.000 132 0 = 56.640 13375 = 75.000 13465 = 65.000 135 136The Chipset will be automatically detected. The chipset name for this 137driver is "ati". 138 139Here is a sample Xconfig (which I use): 140 141RGBPath "/usr/lib/X11/rgb" 142FontPath "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/" 143 144Keyboard 145 AutoRepeat 500 5 146 ServerNumLock 147 148#Microsoft "/dev/mouse" 149#MouseSystems "/dev/mouse" 150#MMSeries "/dev/mouse" 151#Logitech "/dev/mouse" 152#MouseMan "/dev/mouse" 153Busmouse "/dev/mouse" 154# BaudRate 1200 155 SampleRate 150 156# Emulate3Buttons 157 158 159vga256 160 ViewPort 0 0 161 #Modes "1024x768v" "800x600v" 162 Modes "800x600v" 163 Clocks 18 22 25 28 36 44 50 56 164 30 32 37 39 40 0 75 65 165 Displaysize 260 184 166 167ModeDB 168 169# From NEC MultiSync 3FGx manual (copied by faith@cs.unc.edu) 170# active_area front_porch pulse_width back_porch for horiz and vert 171# VESA 640x480 at 72Hz (37.860kHz) 172# 20.317us 0.762us 1.270us 4.603us; 12.678ms 0.238ms 0.079ms 0.740ms 173# (I couldn't find a good clock rate for this one) 174# VESA 800x600 at 72Hz (48.077kHz) 175# 16.000us 1.120us 2.400us 1.280us; 12.480ms 0.770ms 0.125ms 0.478ms 176"800x600v" 50 800 856 976 1040 600 637 643 693 177# VESA 1024x768 at 60Hz (48.363kHz) 178# 15.754us 0.369us 2.092us 2.462us; 15.880ms 0.062ms 0.124ms 0.600ms 179"1024x768v" 65 1024 1048 1184 1344 768 771 777 806 180 181 182 183Q. What is the history of the driver? 184 185The complete history of the driver is cloudy. I have tried to reconstruct 186the history from several email messages from a few of the people involved. 187The history is probably incomplete and inaccurate. 188 189Apparently, Per Lindqvist (pgd@compuram.bbt.se) first got an ATI driver 190working with an early ATI card under X386 1.1a. (This original driver may 191have actually been based on an non-functional ATI driver written by Roell.) 192Then Doug Evans (dje@cygnus.com) ported the driver to the ATI XL, trying in 193the process to make the driver work with all other ATI cards. 194 195I (Rik Faith) obtained the X11R4 driver from Doug Evans in the summer of 1961992, and ported the code to the X386 part of X11R5. This subsequently 197became part of XFree86. Per and Doug did the majority of work, making the 198port somewhat trivial. I am grateful for their contribution. 199 200The port to X11R5 required writing the ATIProbe and ATIEnterLeave routines, 201and re-organizing the ATISave and ATIRestore routines. Someone else added 202the operating system specific code, but I don't know who. 203 204The major reference that I used was manual from ATI: 205 206"VGA WONDER Programmer's Reference" 207ATI Technologies, 1991. 208Release 1.2 -- Reference #PRG28800 209(Part No. 10709B0412) 210 211However, Chapter 11 (ATI 18800 ATI VGAWONDER) of George Sutty and Steve 212Blair's "Advanced Programmer's Guide to SuperVGAs" (Brady/Simon & Schuster, 2131990) was also useful. Further, someone e-mailed be a random document from 214the ATI BBS which was dated 3Jul91 and which may have been named 215PROGINFO.DOC. 216 217 218 219Q. What is the future of the driver? 220 221I no longer use an ATI Wonder card and have no interest in this driver. 222Since I have received no bug reports or patches for the driver during the 223past 3 months, I think it is about as stable as it is going to get. (I 224suspect that support for the 28800-2, 28800-4, and 28800-5 chips can be 225made more robust, but I doubt that the other chips will ever be fully 226supported.) 227 228I have absolutely *NO* intention of porting the code to the mono or 16 229color servers. If *you* want ATI support in the mono or 16 color servers, 230they *you* should do the port. (Since I no longer use my ATI Wonder card, 231please feel free to take over the current driver as well.) 232 233 234$XFree86: mit/server/ddx/x386/etc/README.ati,v 2.0 1993/10/18 12:18:00 dawes Exp $ 235