xref: /386bsd/usr/X386/lib/X11/etc/README.ati (revision a2142627)
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