bcr: This file will not work with xfree86-1.0, xfree86-1.1, or the bcr: x8514new server. If you find a file that will, please e-mail bcr: it to me. From: fluet@ee.ualberta.ca (Kevin Blaine Fluet) I figured out the clocks for the Ultra Pro, so I'm reposting. Thanks to Bill C. Riemers for pointing out that the clocks in my last post were wrong. --------------------------------------------------------------------- Kevin Fluet Call Wintermute fluet@ee.ualberta.ca Unlimited Free Access to Linux Files Edmonton, Alberta, Canada (403) 478-1281 38400 bps --------------------------------------------------------------------- bcr: Thanks to Kevin's work we now know the true clock spetds. Since the bcr: only difference left between our Xconfig files is a matter of personal bcr: preferance, I'm merging both of these Xconfig files. I now have bcr: vgaset working and I was able to make a flicker-free 1152 by 910 mode. bcr: The vgaset modes are now default. bcr: bcr: Bill bcr: --> CUT HERE <-- # $Header: /home/x_cvs/mit/server/ddx/x386/Xconfig.cpp,v 1.8 1993/01/24 03:47:46 dawes Exp $ # $XConsortium: Xconfig,v 1.2 91/08/26 14:34:55 gildea Exp $ # # Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany. # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of Thomas Roell not be used in # advertising or publicity pertaining to distribution of the software without # specific, written prior permission. Thomas Roell makes no representations # about the suitability of this software for any purpose. It is provided # "as is" without express or implied warranty. # # THOMAS ROELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO # EVENT SHALL THOMAS ROELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, # DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # Author: Thomas Roell, roell@informatik.tu-muenchen.de # modified by obz for easier linux porting # Modified by Kevin Fluet (fluet@ee.ualberta.ca) for the Local Bus ATI # Graphics Ultra Pro connected to a Gateway 2000 (MAG) Crystal Scan # 1572 FS March 22, 1993 # bcr: Modified by Bill C. Riemerss (bcr@physics.purdue.edu) I've merged # bcr: our Xconfig files. Both are for the same card and monitor, so # bcr: which modes you use is just a matter of personal preferance. # # some nice paths, to avoid conflicts with other X-servers # RGBPath "/usr/X386/lib/X11/rgb" # # Multiple FontPath entries are allowed (which are concatenated together), # as well as specifying multiple comma-separated entries in one FontPath # command (or a combination of both methods) # FontPath "/usr/X386/lib/X11/fonts/misc/" FontPath "/usr/X386/lib/X11/fonts/Type1/" FontPath "/usr/X386/lib/X11/fonts/Speedo/" FontPath "/usr/X386/lib/X11/fonts/75dpi/" FontPath "/usr/X386/lib/X11/BitstreamType1" # # Keyboard and various keyboard-related parameters # Keyboard AutoRepeat 500 5 ServerNumLock Xleds 1 2 3 # # To set the LeftAlt to Meta, RightAlt key to ModeShift, # RightCtl key to Compose, and ScrollLock key to ModeLock: # LeftAlt Meta RightAlt ModeShift RightCtl Compose ScrollLock ModeLock # # Mouse definition and related parameters # Microsoft "/dev/mouse" Emulate3Buttons BaudRate 1200 # # The graphics drivers # First the 8-bit colour SVGA driver # vga256 Virtual 1152 910 ViewPort 0 0 #Kevin: Modes "1152x910" "1024x768" "800x600" #bcr: Modes "1152X910" "1024X768" "800X600" "640X480" Modes "1152v910" "1024v768" "800v600" Clocks 51 36 126 25 80 65 45 40 135 32 110 80 45 40 75 65 # NB: These are the actual clocks for the Ultra Pro, not just what X386 # gives you. They were determined by playing with the ATI install program. # # Next the 1-bit mono SVGA driver # vga2 Virtual 640 480 ViewPort 0 0 Modes "640x480" # # The Hercules driver. For Hercules, the only valid configuration option # is ScreenNo (refer to the manual page). # # hga2 # # And last, the database of video modes # # These timings are set up for _my_ LB ATI Graphics Ultra Pro with 2MB # VRAM installed. You may need to do some fine tuning due to variations from # card to card and monitor to monitor. These _should_ work on a 1MB card # without too much modification. Here is a quick and dirty description # of how to fine tune these timings by modifying the numbers below: # # bcr: No modifications are needed for 1MB VRAM at this time. # # name - Not really a number, just a label. # clock - Increase to reduce flicker at higher resolutions. # You will have to readjust everything if you change this. # bcr: Higher clock speeds means less flickering. However too high # bcr: of a clock speed means you won't be able to use your full # bcr: screen. # # horizontal timing -- all numbers are multiples of 8 # 1st - The width of the display (in pixels) -- don't change this # 2nd,3rd - Increase (the same amount) to move display left. # Decrease (the same amount) to move display right. # bcr: X3 just seems to have random effects # 4th - Increase to make display narrower. # - Decrease to make display wider. # # vertical timing -- numbers do _not_ have to be multiples of 8. # 1st - The depth of the display (in pixels) -- don't change this. # 2nd,3rd - Increase (the same amount) to move display up. # Decrease (the same amount) to move display down. # bcr: Y3 just seems to have random effects # 4th - Increase to make display deeper (taller). # - Decrease to make display more shallow (shorter). # # -- Kevin (fluet@ee.ualberta.ca) # bcr: # bcr: I strongly recommend using vgaset. (Found on sunsite.unc.edu.) # bcr: Any mode with a verticle frequency of about 60Hz or greater should # bcr: appear completely flicker-free. # bcr: # bcr: Bill ModeDB # name clock horizontal timing vertical timing flags # bcr: "sample" CC X1 X2 X3 X4 Y1 Y2 Y3 Y4 # bcr: I now use the following flicker-free modes. (found with vgaset) "800v600" 51 800 800 1000 1000 600 600 606 616 "1024v768" 65 1024 1024 1264 1264 768 770 788 792 "1152v910" 80 1152 1176 1424 1424 910 910 924 936 # bcr: These are Kevin's modes. "800x600" 65 800 824 944 1032 600 600 606 624 "1024x768" 75 1024 1048 1184 1288 768 773 777 806 "1152x910" 80 1152 1176 1272 1432 910 920 930 950 # bcr: These are the modes I used to use. (found by experimentation) "640X480" 40 640 664 9999 824 480 480 0 520 "800X600" 40 800 824 9999 984 600 640 0 737 51 800 824 9999 1024 600 601 0 655 "1024X768" 65 1024 1048 9999 1288 768 775 0 843 75 1024 1048 9999 1288 768 768 0 830 "1152X910" 80 1152 1176 9999 1424 910 925 0 1015 ---> Cut here <--- >In article <2012ga$ptq@calvin.nyu.edu> reznick@acf2.nyu.edu ( ) writes: >> >>I have XFree86 up and running under Linux, works great, thank you! >>I have an ATI Graphics Ultra PRO, which uses the Mach 32 chip set. >>The server works fine, and it even detecs the mach-32 which it never >>did before. >> >>The only problem is that it seems to be unable to restore my SVGA >>text mode. It worked fine under 1.2. >> > >I am having the same problem with my ATI VGA Wonder XL (chip version 28800-5). >My configuration: >Linux 0.99PL10 >libc 4.4 >XFree86-1.3 from tsx-11.mit.edu, dated June 18 (thus not the corrupted files) > >The X server starts up fine, I can even switch back to a text-mode VT and >switch back to X, but when the server exits, it messes up the text-mode >display: all I get are white vertical lines a few pixel wide, one per >character position (I can still see the cursor). My default text mode >is 80x25 (i.e. NORMAL_VGA in the kernel configuration file), so that >should not be a problem. > >For now, I've just switched back to the 1.2 server, but it would be nice if >this could be fixed in the 1.3 server. Attached is a patch for the ATI driver which should fix this problem (the original poster has tested it). If you have the full XFree86 source, the patch should be applied in mit/server/ddx/x386/vga256/drivers/ati/. The easiest way to make use of this patch is to get the LinkKit, apply this patch in /usr/X386/lib/Server/drivers/vga256/ati/, then rebuild the server (there are instructions for using the LinkKit in /usr/X386/lib/Server/). [This and other late fixes can be found in the README.late file on ftp.physics.su.oz.au:/XFree86 and export.lcs.mit.edu:/contrib/XFree86] ----------------------------------------------------------------------------- *** ati/driver.c-1.3 Tue Jun 22 21:32:03 1993 --- ati/driver.c Tue Jun 22 21:35:12 1993 *************** *** 191,196 **** --- 191,198 ---- #define TRACE(a) /* Disable TRACE statements */ #endif + #define ATI_PATCHLEVEL 1 + typedef struct { vgaHWRec std; /* good old IBM VGA */ unsigned char ATIExtRegBank[11]; /* ATI Registers B0,B1,B2,B3,B5,B6,B8,B9,BE,A6,A7 */ *************** *** 316,321 **** --- 318,325 ---- /* Load Miscellaneous Output External Register */ outb(0x3C2, restore->std.MiscOutReg); + outw(ATIExtReg, 0x00b2); /* segment select 0 */ + /* For text modes, download Character Generator into Plane 2 */ if (restore->std.FontInfo1 || restore->std.FontInfo2 || restore->std.TextInfo) { *************** *** 1112,1117 **** --- 1116,1124 ---- close( fd ); #endif /* MACH386 */ + ErrorF("%s: ATI: driver patchlevel: %d\n", vga256InfoRec.name, + ATI_PATCHLEVEL); + ErrorF( "ATI BIOS Information Block:\n" ); ErrorF( " Signature code: %c%c = ", bios_data[ 0x40 ], bios_data[ 0x41 ] ); ----------------------------------------------------------------------------- David