TECHNICAL INFORMATION DOCUMENT TITLE: PTF647 - A collection of ALL the video driver DOCUMENT ID: TID300171 DOCUMENT REVISION: C DATE: 11APR95 ALERT STATUS: Yellow INFORMATION TYPE: Symptom Solution README FOR: ptf647 PRODUCT and VERSION: UnixWare 1.1 ABSTRACT: These release notes acquaint you with the contents of UnixWare ptf647 -- A collection of ALL the video drivers for UnixWare 1.1. This patch replaces all the previous video driver updates of the UnixWare 1.1 X server subsystem. This package requires version 1.1.3 of UnixWare. SYMPTOM No support for various video cards SOLUTION Apply the ptf647 file. Installation Instructions: DATATYPE: datastream 1. Download the ptf647 and ptf647.txt files to the /tmp directory on our machine. 2. Read the release notes contained in this file and follow the instuctions to add the packages to your system. 3. Now become root, and add the package to your system using the following commands: $ su # pkgadd -d /tmp/ptf647 Solution Specifics General Description ------------------- These release notes acquaint you with the contents of UnixWare ptf647 -- A collection of ALL the video drivers for UnixWare 1.1. This patch replaces all the previous video driver updates of the UnixWare 1.1 X server subsystem. This package requires version 1.1.3 of UnixWare. Version 1.1 of ptf647 has an updated version of the Cirrus gd54xx driver, and of the MACH driver. Among the fixes contained in this patch are: vga256 (all dumb SVGA's, Cirrus, WD90c31, ETW32) only: ------- This patch fixes a problem displaying stippled rectangles, i.e: Motif text cursors. Cirrus ------ 800x600@256color mode problem fixed. mach: ---- The mach driver in this patch fixes a font stippling problem. New Features ------------ All the video drivers and utilities are now located in one directory (/usr/X/lib/display). The only exceptions are /usr/X/bin/X (X server) and the default configuration file (/usr/X/defaults/Xwinconfig). ptf647 delivers support and improvements for the following video cards: o P9000 - Diamond Viper (P9000) VLB PCI o BlackBird - Number Nine Imagine 128 PCI o S3 801/805//928, 864/964 - Number Nine #9GXE (928) ISA VLB PCI - Diamond Stealth Pro (928) ISA VLB - Actix Graphics Engine Ultra Pro (928) ISA - Elsa WINNER 1000 (928) ISA EISA - Metheus Premier (928) ISA - Actix Graphics Engine 32 Plus (801) ISA - Orchid Farenheit (801) ISA - Orchid Farenheit VA (805) ISA - Metheus Premier 801 ISA - Focus TrueSpeed (801) ISA - STB X-24 (801) ISA - Nth S3 Advantage (801) ISA o MACH8/MACH32/MACH64 - Graphics Ultra Pro ISA EISA VLB - Gateway Mach32 VLB - Intel (Mach32 on mother board) - UNISYS (Mach32 on mother board) - NCR (Mach32 on mother board) - Graphics Ultra Plus ISA - Graphics Vantage ISA - Graphics Ultra ISA o Cirrus 5426, 5428, 5434 - STB Horizon (5426) - Genoa 8500 VLB (5426) - Genoa 8500 (5426) - Genoa WindowsVGA24 (5426) - Boca SuperX (5426) - Cardinal VideoSpectrumXL (5426) - Diamond SpeedStar Pro VLB (5428) o ETW32, ETW32i (ETW32p BASED BOARDS ARE NOT SUPPORTED) - Tseng Labs W32 - Tseng Labs W32 VLB - Tseng Labs W32i VLB - Hercules Dynamite VLB (ETW32) - Hercules Dynamite Pro VLB (ETW32i) o Compaq QVision 1024, 1280 - Compaq QVision 1024 - Compaq QVision 1280 o WD 90c10, 90c11, 90c31 - WD/Paradise windows accelerator - CompuAdd - Western Digital 90c10 - Western Digital 90c11 - AT&T VDC600U o ET4000 - Diamond SpeedStar - Sigma Legend - Perfect View - Orchid Prodesigner II/IIs - Boca o ATI V4, V5 - ATI Basic16 - ATI Wonder XL24 - ATI Wonder Plus - ATI V4 - ATI V5 o Trident T8800, T8900C - Trident Impact II - Trident Impact III - many Trident clones (clones support only 16 color modes) o NCR 77C22E - NCR 33xx series, 77c22e built on mother board Software Notes and Recommendations ---------------------------------- This patch needs UnixWare 1.1 installed on the system. Also, the previous video PTFs (ptf103, ptf143, ptf619) must not be installed on the system. REMOVE these PTFs before installing ptf647. On cards with Bt485 and 'S3928 G-Step or PCI-E-Step' cards: If you are running in 1280x1024 @ 256 color mode, the first 4 pixels wrap around to the right edge. This is due to a bug in the the 928 hardware. The same hardware bug is present on boards with Bt485 and 'S3928 E-Step' also, but a work-around is already built into the driver. In the case of 'mach' and 'S3' chips, the user can try different runtime options to get more performance. The default options for these drivers are the ones that work in most cases. Read the files /usr/X/lib/display/mach.README and /usr/X/lib/display/S3.README before you try any user-defined options. Hardware Notes and Recommendations ---------------------------------- Before experimenting with video modes ALWAYS turn off graphical login by running the command: /usr/X/bin/disable_glogin With graphical login disabled, if you accidently save a bad video mode, a system reboot will bring the console up in text mode. This will allow you to log in and restore the preivious video entry. To restart graphical login, run: /usr/X/bin/enable_glogin ETW32, ETW32i, Cirrus GD54xx, WD90c31: -------------------------------------- These four drivers have a feature to turn off the hardware functions. If you notice a drawing problem on the screen, you can try starting the X server by turning off the hardware-engine on the chip by: export HWFUNCS=no X & or if you use the graphical login, put the following line in your $HOME/.olsetup file, exit out of xdm and restart xdm: HWFUNCS=no export HWFUNCS General Notes for S3928 and Mach32 video drivers: ------------------------------------------------- Please read the README.mach or README.S3 for various user-defined options and other customizable options. All the X server and video driver related files reside in "/usr/X/lib/display/" directory. The only exceptions are: "/usr/X/bin/X" (server) and "/usr/X/defaults/Xwinconfig" (default server configuration file) files. RAMDAC's: --------- If you want to run 1280x1024 modes at greater than 60Hz frequencies, you will need to define an option in either LIBS3_OPTIONS or LIBMACH_OPTIONS file. These files reside in "/usr/X/lib/display" directory. For more information on user-defined options, read the corresponding README file (ie: README.mach or README.S3) Bandwidths for various modes: 1280x1024 at 60Hz needs 110MHz 1280x1024 at 70Hz needs 126MHz 1280x1024 at 72Hz needs 130MHz 1280x1024 at 74Hz needs 135MHz Some RAMDAC's come in two flavours: 110MHZ or 135MHZ maximum bandwidths. To make sure that we don't damage video hardware due to user's mistakes, we take the 'least risky approach' - so we limit the maximum frequency to 110MHz on ATI-68875-xxx and Bt485-xxx RAMDAC's. To go to higher frequencies, you need to specifically define it in the options file. For example, if you have a S3928 card that has a Bt485-135 RAMDAC, I can go up to 1280x1024@74Hz modes by defining: dac-max-frequency=135000 or if you have a ATI Ultra PRO with ATI-68875-cfn RAMDAC: dac-name=ati-68875-cfn MACH32 ------ If you have a mach32 on mother board or any deviation from the standard ATI UltraPro series and if you try the UltraPro entries it might work in most cases. But, if you see any problems, try: 1. turning of "LFB" option, ie: put the following line in ULTRA_OPTIONS file, for example: use-linear-frame-buffer=no If you still see some problems (ex: pixelization problems) 2. Find the RAMDAC name/model from your video card and find out the compatible RAMDAC from the 'supported list' and define it in "LIBMACH_OPTIONS file, for example: dac-name=ati-68875-cfn S3928 / S3801 - fine tuning performance --------------------------------------- MMIO operations sort of works on the 928 cards. Almost all cards work faster with mmio-write-pixtrans enabled. Some cards seem to have problems, if mmio-write-enhanced-regs is enabled and some dont. S3 has published that this feature reliably works with the E-Step and later 928 chips. The consequence of MMIO not working are serious (ex: system panic), so we turned off this feature. If you have a 928 with E or later stepping number, you can try uncommenting the following line in "/usr/X/lib/display/LIBS3_OPTIONS" file: #memory-and-register-access-mode=mmio-write-pixtrans,mmio-write-enhanced-r egs By uncommenting the above line, we noticed that there is an approximately 10% performance improvement. Similarly, if you have 801 cards, there are other options, read the LIBS3_OPTIONS and also README.S3 This version of the driver supports *ONLY* 801 'B-step' or earlier stepping numbers. For Mach32 boards: If you have an ISA card, set the aperture to "OFF"; if you have a 32-bit (VESA, EISA, PCI) video card, set the aperture to "ON" and make sure it is mapped to some high range over the range of the physical memory (ex: 124-128MB range). You can set these settings by booting DOS and running the ATI provided utility. Installation Instructions ------------------------- This patch requires that the 'update113' package be installed on the system. Depending on the format: If this ptf was delivered on a diskette As root, pkgadd -d diskette1 will install the package. Otherwise if you have a file such as 'ptf647' which is in a "stream" format then as root: pkgadd -d /ptf647 will work. Because this patch replaces several components of the X server, it can be installed only by user "root". Further, it must be installed from the system console and the X Display Manager must not be currently executing. To terminate the X Display Manager, click on the Exit button on the Graphical Login screen. The console screen will then be displayed, allowing you to login as "root". (If the "Console Login:" prompt isn't displayed, press the "Enter" key.) Upon completing installation of this patch, the "setvgamode" utility (/usr/X/lib/display/setvgamode) should be used to select the video card and display mode appropriate for the system configuration. Because the setvgamode utility disables Graphical Login, after the X server has been configured, you will then need to run /usr/X/bin/enable_glogin to re-enable Graphical Login. Lastly, reboot the machine to restart the X Display Manager and display the Graphical Login screen. SETVGAMODE instructions: To set a new mode: logout of graphical desktop login as super-user from console /usr/X/lib/display/setvgamode ; for all video drivers or /usr/X/lib/display/setvgamode -vinfo vga256 ; non S3 and mach or /usr/X/lib/display/setvgamode -vinfo s3 ; ONLY for S3 801/928 or /usr/X/lib/display/setvgamode -vinfo mach ; ONLY for Mach8/Mach32 or /usr/X/lib/display/setvgamode -noprobe ; Do not probe for board Troubleshooting --------------- The 'setvgamode' utility has a builtin function to detect the type of video chip. This 'auto-detection' code is based on on David Wexelblat's XFree86 'SuperProbe' utility. Since, there is no fool-proof way of detecting all the video chips, this utility cycles through some known 'detection functions'. We cannot guarantee that detection will work in all cases. If you experience problems, try: setvgamode -noprobe Never accept the mode unless the 'test pattern' looks right. For more information on how to select and use the new setvgamode commands as well as vtest and vprobe commands please refer to the /usr/X/lib/display/README.Xwin file.