home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-12 | 44.8 KB | 1,093 lines |
- ===============================================================================
- ====== ============
- ====== XFree86 3.1 and WD90C24 Notebook Video Chipset mini-HOWTO ============
- ====== ============
- ===============================================================================
-
-
- author: Darin Ernst (dernst@pppl.gov, darin@castle.net)
-
- version: 0.96 8/10/95
- first version: 1/95
-
-
-
- For more info and updates, see the WEB site
- http://www.castle.net/~darin
-
- Applicability:
-
- This version of the HOWTO applies to XFree86 3.1.2 and earlier.
- New versions will be available for new versions of XFree86
- when necessary.
-
- Acknowledgement:
-
- Thanks to all those who have emailed me and posted messages on
- this topic! It is now possible run X-Windows on notebook computers
- and take full advantage of the hardware (at least at 8 bits
- per pixel).
-
- Purpose:
-
- This document gives instructions for configuring XFree86
- on notebooks with the WD90C24 family chipsets. It also describes
- known bugs and workarounds if available. The content comes
- from communication with other users and my participation in the
- development of the new WD90C24 driver.
-
- Special Note:
-
- A driver developed specifically for the WD90C24 is available for
- the first time in XFree86 release 3.1.2 (released around July 31).
- The sections of this HOWTO are labelled according to whether or
- not they apply to:
-
- (OLD) 3.1.1 and earlier; and
- (NEW) 3.1.2 and later.
-
- Most of the FAQ on workarounds for old problems is now obsolete,
- but instructions are provided for taking advantage of new features in
- XFree86 3.1.2 in the (NEW) sections.
-
-
- Copyright D. Ernst, 1995:
-
- Permission to redistribute this file *UNCHANGED* is granted for
- non-commercial use only. No permission is granted for the use of this
- file in sales promotions or for purposes of profit. In addition, any
- translations, derivative, or aggregate works that make use of information
- in this file must contain this copyright notice and be accompanied by this
- file unchanged.
-
- All translations, derivative works, or aggregate works incorporating this
- document must be covered under this copyright notice. That is, you may not
- produce a derivative work from this document and impose additional
- restrictions on its distribution. Exceptions to these rules may be granted
- under certain circumstances only by written permission of the author.
-
- If this copyright notice is not included with translations, derivative works,
- or aggregate works, then no permission to use information in this file is
- granted for any purpose. Permission is granted for the redistribution of
- this file in whole and complete distributions of the Linux operating system
- provided it remains unchanged. Commercial entities wishing to redistribute
- this file or the information contained in it for any other purpose must
- obtain the written permission of its author. Any translations, derivative
- works, or aggregate works must be submitted to the author for approval.
-
- All derivative works must also contain the words: "Information provided
- by the "X-Notebook mini-HOWTO", copyright D. Ernst, 1995.
-
-
- Frequently asked questions:
-
- 1) Does XFree86 have a driver for the WD90C24[A,A2] available?
-
- Yes, but only in release 3.1.2 and later. Prior to this, we used
- the driver for the wd90c31 chip to fake it, with a lot of problems
- that are described below.
-
- The long-awaited support for the WD90C24 has been added to the pvga1 driver
- in the XF86_SVGA server by Brad Bosch, during July, 1995. Extensive testing
- during the developement and suggestions were provided by D. Ernst. The
- new server has full support, including programmable clocks, and solves
- most, if not all of the problems mentioned here for the old server.
-
- The new server was released around July 31, 1995 in version 3.1.2 of of
- XFree86. It is capable of 1152x900 interlaced as well as 1024x768
- non-interlaced VESA at 72Hz refresh, automatically utilizing the
- full 1MB of VRAM. It also provides users with the ability to program
- the dotclocks. The new driver does not support 16bpp, however, which
- is possible at low resolutions. Someone is working on this.
-
- The following is an excerpt from the file /usr/lib/X11/doc/README.WstDig
- that describes the new driver (sections written by B. Bosch and D. Ernst):
-
- New WD90C24 features
-
- These next three sections apply only if you have a WD90C24, WD90C24a,
- or WD90C24a2 and don't specify some other chipset in your XF86Config
- file. The SVGA pvga1 driver now recognizes the wd90c24 family as
- different from the WD90C30 and seems to resolve most of the problems
- people encountered when these chips were treated as WD90C3X. The new
- code has the following features:
-
- o Locks the shadow registers at appropriate times; This should
- prevent scrambled displays after exiting X with dual scan
- screens when simultaneous or LCD display mode is selected. The
- code does depend somewhat on the behavior of the BIOS regarding
- when it locks the shadow registers, etc.
-
- o Allows (forces) the use of a full 1 Meg VRAM for dual scan
- systems when the server is started while external CRT only
- display is in operation. This allows 1024x768x8 resolution.
-
- o If the XF86Config file specifies a virtual screen size which
- requires more than 512 K VRAM when the server is started on a
- Dual Scan LCD, the driver will force the virtual size to
- 640x480. This eliminates the need to edit the XF86Config file
- when you switch from 1024x resolution on the CRT, to or from the
- LCD screen. If no virtual size is specified, the result will be
- 800x600 virtual in LCD modes and 1024x768 in CRT only mode (so
- you have a choice).
-
- o Note that on dual scan systems, you must still exit X, switch
- displays, and restart X to change to/from CRT only with 1 Meg
- videoram. This is because once the server starts, you can't
- change the virtual screen size. There is no way around this
- with the current server and the WD90C24 with dual scan displays.
- The WD90C24 requires half the videoram be used for a ``Frame
- buffer'' when the dual scan LCD is in use.
-
- o The new server uses the accelerated features of the WD90C24a.
- It is not clear from the data book if the WD90C24 also supports
- ALL the required features. Several people have stated that the
- WD90C24 is not accelerated, but the differences section of the
- WD90c24a data book implies that they ARE all three accelerated.
- The differences documented with regard to acceleration are with
- the type of line drawing the hardware does; Only the newer chips
- support the type of line drawing that MS windows wants. This
- may be what has caused the confusion since the accelerated
- windows drivers may only support the WD90c24a chips. If this
- turns out to be a problem with the WD90C24, acceleration can be
- disabled by adding the line:
- Option "noaccel"
- to the Device section of the XF86Config file.
-
- o Although the new server does not support programmable clocks in
- the same way as some of the other servers, 8 of the 17 clocks
- may be set to (almost) any value via the Clocks line. It also
- supports options for adjusting the VRAM clock.
-
-
-
- 2)(OLD) How can I use the XF86_SVGA server under XFree 86 3.1.1 and earlier?
-
- Most of us fake it by selecting the WD90C31 (or 30) accelerated chipset
- using the XF86_SVGA server. X -probeonly detects the WD90C24, but
- this is not implemented with accelerated features in XFree86 3.1.1. and
- earlier. The WD90C24A and A2 are sort of compatible with the WD90C31.
-
- (NEW & OLD)
-
- Most notebooks of 1994 use the WD90C24A2 with 1mb of video ram on the
- local bus, and are capable of 1024x768x256 colors at 60Hz refresh
- under Windows 3.1. Some implementations are capable of 65k colors at
- 640x480 using the Western Digital windows driver wd2464_h.drv provided
- on an OEM disk. I maintain a list of notebooks and their video
- chipsets on the WEB page above.
-
- Other very common chipsets not covered here are the Cirrus Logic 6440,
- which is now fully supported by XFree86 3.1.1, and the
- Chips and Technologies 65545, which appears in most Pentium
- notebooks, especially those using the PCI bus. This chip is
- partially supported with non-accelerated drivers (for the 65540).
- There are mixed reports on the net about the extent of this support.
- Many of the problems reported seem to be similar to those discussed
- here. The CLGD7542 that is now appearing (i.e. TI5000M) seems to be
- compatible with the CLGD6235.
-
- 3)(OLD) Why do I only see 512k of VRAM?
-
- A problem persists with the implementations of dual scan displays,
- as well as with simultaneous display. Despite the fact that Windows 3.1
- is able to use the full 1mb of video RAM to display externally
- at 1024x768x256 colors, XF86_SVGA cannot, since it cannot use more
- than 512k of the available 1024k. The best one can do on an external
- monitor with the current XF86_SVGA server is 800x600x256.
- However, workarounds exist for certain notebooks, such as the Twinhead 5
- series and IBM Thinkpads.
-
- The problem is that 512k is what 'X -probeonly' detects. If you try
- to hand-enter 1024k, you will get duplicate images on the upper and
- lower halves of the screen. Others have reported that the Western
- Digital databook seems to confirm that half the memory (one
- 256kx16bit bank) is reserved for a "frame buffer" when a 16 bit
- dual-panel color STN display is used OR when simultaneous display mode
- is selected.
-
- Comparisons on active and passive versions of the AST Ascentia
- made by swapping hard drives (ewagner@imssys.imssys.com Evan Wagner)
- confirm that the 512k problem does not occur on the active
- matrix implementation.
-
- I observed that other things change (such as dotclocks) when
- the external display is selected alone, as opposed to simultaneous
- or internal display on my Twinhead 5100S (dual scan, A2 chip).
-
- The Twinhead 5100 (aka Twinhead Slimnote 5, HP Omnibook 4000C,
- Sharp PC-8700/8900, Altima Virage II) is capable of using the full
- 1mb of memory after one runs a DOS program called "CHGVRAM.EXE", which
- is available from the Twinhead BBS. This program was written by
- Ferdy Kuo of Twinhead Corp., and is copyrighted. The code is only
- available from the Twinhead BBS as an executable, and makes
- many BIOS calls that are specific to the Twinhead Slimnote 5 series
- machine. Please call Twinhead if you don't have the BBS number.
- This program will only work with the Twinhead family of machines.
-
- To use this program for Linux/X, boot DOS. Then hit alt-F5 until
- the display is set to external-only. Then run CHGVRAM.EXE, which
- will display a message something like "Video RAM changed to 1 MB".
- Next, boot linux using the Linux Loader, lodlin15, which comes
- in the /root directory of Slackware 2.1.0. The command is
- simply "c:\> linux". Linux will then boot normally. Then
- use "startx" to start X-Windows. The full 1mb of video RAM
- will be used by XFree86. I stick this all into a batch file
- called "linux.bat".
-
- Possible idea (haven't tried this yet): Run CHGVRAM.EXE from
- a dosemu session within linux.
-
- **** Fixes for the IBM Thinkpad
- (this is does not work on other notebooks ) ****
-
- Michael Steiner has written a c program that runs under Linux and
- allows one to set the video RAM of the WD90C24 family to either
- 512k or 1024k.
-
- /* T P D U A L S C A N . C
-
- Author: Michael Steiner
- <steiner@acm.org> <sti@zurich.ibm.com>
- http://www.zurich.ibm.com/pub/sti/www/info.html
-
- This program allows you to set videoram for dualscan equipped thinkpads
- (at least for the 750Cs but probably also for others) to allow running
- XFree86 without patching it. (normally you got all twice if the upper 512K
- of videoram are not disabled)
- */
-
- Michael also makes available (on his web page) a patched XF86_SVGA
- server.
-
- 4)(OLD) How can I make my LCD screen sync correctly on starting/exiting X?
-
- There is a bug that results in scrambled virtual consoles upon
- exiting X. The cure for this is to reset the video modes in some way.
- Many notebooks have a hot-key for lcd, crt, or simultaneous display.
- Cycling this hot-key restores the virtual consoles. For others,
- close and open the cover, or suspend/resume. This problem does
- not occur when using the external display.
-
- 5)(OLD) How can I fix the weird patches-of-black problem?
-
- There is a problem using white window backgrounds. When windows
- are scrolled with white bg, the scrolled part goes into reverse
- video. The cure for this is not to use white backgrounds. Off-whites
- are fine. This can be set as a default for all users in
- /var/X11R6/lib/xinit/.Xresources with the following line (i.e., for xterm):
-
- XTerm*Background: snow
-
- 6)(NEW & OLD) Should I configure X on the internal or external monitor first?
-
- The dotclocks are different as detected by X-probeonly when the
- lcd is selected versus when the crt is selected as the display. I
- suggest using an external monitor while configuring X so that
- all the necessary dotclocks appear. If you can't find an external
- monitor, don't worry. Just pretend you have one by selecting
- external-only display. Otherwise, you will get 17 basically identical
- clocks that are useful only for 640x480. Do this with the
- monitor turned off to avoid damage.
-
- 7)(NEW & OLD) My screen looks ok except for these funny little patterns...
-
- The lcd display looks different depending on whether or not
- simultaneous display is turned on (waves, flicker, dim, patterns). The
- fix is to fiddle with the modeline. The XF86Config below works
- correctly. Note the first clock is used for the LCD.
-
- 8) How do I set up XF86Config (see examples at end of this file)?
-
- (NEW version)
- aa) read /usr/lib/X11/doc/README.Config, VideoModes.doc (optional)
- a) Select XF86_SVGA server with WD90C24 chipset.
- b) Select "generic monitor" with the 25 Mhz dotclock and the
- standard 640x480 VESA modeline. Begin with a video
- bandwidth around 30 Mhz.
- c) X -probeonly >& /tmp/x.out with external monitor selected, but
- turned off.
- d) Edit XF86Config and paste in the 17 dotclocks found in /tmp/x.out
- put one of the 25-28 Mhz dotclocks in place of the first
- number in the VESA 640x480 modeline. This should work
- for the LCD display to give 640x480x256. Now select the LCD
- display (using a hot-key). If you have an 800x600 LCD
- display, the clock that is probably need is likely to be
- the first clock with a value around 36. Try the
- 800x600@56Hz NI VESA modeline first.
- e) Go to step (c). Repeat, this time pasting in the HorizSync
- frequency or the VertRefresh frequency. Go to step
- (c) again and repeat until both of these and the bandwidth
- are filled in.
- f) Now the LCD display should work.
- g) To configure the external monitor, decide which dotclocks
- you want by first picking the resolution and looking over
- the standard VESA modelines. The new server allows you
- to program certain dotclocks, so this gives you almost
- infinite flexibility in setting up modelines.
-
- The new server recognizes that you have 1024k of VRAM
- when you are using either an active matrix LCD or
- the external monitor. If you are using simultaneous display
- or a dual-scan LCD alone, then only 512k of VRAM can
- be used. This is inherent in the hardware design.
-
- From /usr/lib/X11/doc/README.WstDig sections by B. Bosch and D. Ernst:
-
- Special considerations
-
- All of the Western Digital chipsets after the PVGA1 support the
- ability to use the memory-refresh clock as an alternate dot-clock for
- video timing. Hence for all of these chipsets, the server will detect
- one more clocks than ``normal''. What this means is that if you have
- an old `Clocks' line in your XF86Config file, you should comment it
- out, and rerun the server with the `-probeonly' option to find all of
- the clock values. All but the last should be the same as what you had
- before; the last will be new.
-
- The server will detect 17 clocks for the WD90C24, WD90C30 and WD90C31
- chipsets. If you have one of these chipsets, you should let the
- server re-probe the clocks and update your XF86Config.
-
- There is an `Option' flag available for the XF86Config file that is
- specific to the Western Digital chipsets (except the WD90C24). This
- option is "swap_hibit".
-
-
- WD90C24 clocks
-
- Here are some more details on the adjustable clocks:
-
- The VRAM clock (Mclk) is adjusted by adding ONE of the following
- option lines to the Device section of the XF86Config:
-
- Option "slow_dram" # Set Mclk to 47.429 MHz
- Option "med_dram" # Set Mclk to 49.219 MHz
- Option "fast_dram" # Set Mclk to 55.035 MHz
-
-
-
- The default is to leave Mclk as the BIOS sets it. This is 44.297 on
- many systems. Some systems may not work properly with any of these
- options. If you experience ``bit errors'' on your display, reduce the
- Mclk speed, or don't use any of these options. The Mclk is not reset
- on server exit.
-
- The data book says that the maximum pixel clock is 1.6 times Mclk so
- you may want to experiment with higher Mclk rates if you have a fast
- monitor. It also says a 44.297MHz Mclk and 65MHz pixel clock is the
- fastest the WD90C24A2 is designed to go. However, some success has
- been reported with faster clocks. Don't expect all the clocks the
- chip can provide to work properly.
-
- The second and fourth group of 4 clocks are adjustable. That is,
- clocks 5, 6, 7, 8 and 13, 14, 15, 16 (counting from 1). These clocks
- are set by the Clocks line. Be sure to adjust the 17th (last) clock
- to match your Mclk. Here is a sample set of clocks lines with some
- clocks defined which are not directly provided by the chip. The NON-
- programmable clocks (1-4 and 9-12) MUST be set as indicated here.
-
- Clocks 25.175 28.322 65 36 # These are *not* programmable
- Clocks 29.979 77.408 62.195 59.957 # these are programmable
- Clocks 31.5 35.501 75.166 50.114 # these are *not* programmable
- Clocks 39.822 72.038 44.744 80.092 # these are programmable
- Clocks 44.297 # Change this if you change
- # Mclk above.
-
-
- You can program the clocks in increments of .447443 MHz. The server
- will warn you and adjust to the nearest increment if you specify a
- clock which does not fit this formula. Clocks 1-4 and 9-12 (the fixed
- clocks) are not constrained to this multiple, but instead are used to
- provide standard clocks which are not a multiple by .447443 MHz.
-
- If you probe for clocks (for example to find your Mclk), do it in CRT
- only mode and then add clocks lines in your XF86Config file. Clocks
- will not probe correctly in LCD mode on most systems.
-
- The BIOS on some systems may not allow switching from CRT to LCD
- unless the correct clock and/or mode is used. Try the following mode
- line for 640x480 LCD displays.
-
- ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525 #CRT/LCD
-
- The following modelines have been tested with the above Clocks lines
- on some systems, and are provided here as examples. Some testers have
- experienced minor problems (snow) with the fixed 65 and 75.166 MHz dot
- clocks. The modelines below have been reported to circumvent these
- problems. This is has fixed in post-3.1.2 versions of the pvga1
- driver.
-
- Do not assume your monitor will not be damaged by any of these.
-
- # VESA 800x600@72Hz Non-Interlaced mode
- Mode "800x600.50"
- DotClock 50
- HTimings 800 856 976 1040
- VTimings 600 637 643 666
- Flags +hsync +vsync
- EndMode
-
- # 1024x768 Interlaced mode
- Mode "1024x768i"
- DotClock 45
- HTimings 1024 1048 1208
- VTimings 1264 768 776 784 817
- Flags +hsync +vsync Interlace
- EndMode
-
- # 1024x768@60Hz Non-interlaced Mode
- # One of the dram options may be necessary
- Mode "1024x768.65"
- DotClock 65
- HTimings 1024 1032 1176
- VTimings 1344 768 771 777 806
- Flags -hsync -vsync
- EndMode
-
- # 1024x768@60Hz Non-Interlaced mode (non-standard dot-clock)
- # Seems to work without dram options
- Mode "1024x768.62"
- DotClock 62
- HTimings 1024 1064 1240 1280
- VTimings 768 774 776 808
- EndMode
-
- # 1024x768@70Hz Non-Interlaced mode (non-standard dot-clock)
- # May need fast_dram option
- Mode "1024x768.72"
- DotClock 72
- HTimings 1024 1056 1192 1280
- VTimings 768 770 776 806
- Flags -hsync -vsync
- EndMode
-
- end /usr/lib/X11/README.WstDig
-
- The following mode works well (provided by Nick Sayer):
-
- Mode "1152x900i"
- DotClock 65
- HTimings 1152 1200 1296 1496
- VTimings 900 905 916 950
- Flags Interlace
- EndMode
-
-
- h) When programming the clocks: If you experience snow with a
- particular modeline, try decreasing the clock by a small
- amount, leaving the other settings unchanged. Certain
- clocks, such as the fixed 65 and 75 MHz clocks, sometimes
- give snow due to a minor bug in the new server. The fix
- for this is to duplicate the problematic fixed clock
- with a nearby programmable one. This problem has been
- fixed and will not be propagated to future releases
- of XFree86.
-
-
- i) Send me info on new things you find and post it to newsgroups
- so I can develop this mini-HOWTO further.
-
-
- (OLD version)
-
- If you are using the XF86Config below, you should comment out
- the sections for 3.1.2 and later as described in the file.
- Then follow these instructions to reprobe the clocks.
-
- aa) read /usr/lib/X11/doc/README.Config, VideoModes.doc (optional)
- a) Select XF86_SVGA server with WD90C31 chipset.
- b) Select "generic monitor" with the 25 Mhz dotclock and the
- standard 640x480 VESA modeline. Begin with a video
- bandwidth around 30 Mhz.
- c) X -probeonly >& /tmp/x.out with external monitor selected, but
- turned off.
- d) Edit XF86Config and paste in the 17 dotclocks found in /tmp/x.out
- put one of the 25-28 Mhz dotclocks in place of the first
- number in the VESA 640x480 modeline. This should work
- for the LCD display to give 640x480x256. Now select the lcd
- display.
- e) Go to step (c). Repeat, this time pasting in the HorizSync
- frequency or the VertRefresh frequency. Go to step
- (c) again and repeat until both of these and the bandwidth
- are filled in.
- f) Now the lcd display should work.
- g) To configure the external monitor, start with the standard
- VESA modelines that match the dotclocks you have. I got
- four basic dotclocks with a lot of nearby duplicates:
-
- 28.32 => 640x480 @63 Hz NI VESA
- 36.00 => 800x600 @56 Hz NI VESA
- 44.26 => 1024x768i @43.5 Hz Interlaced
- 64.97 => 1024x768 @60 Hz NI VESA
-
- Of course, one cannot achieve the 1024 modes because without a
- workaround, as one can only use 512k of video ram of the available
- 1024k VRAM as discussed above.
-
- I think it is possible to get an 800x600 mode with very high
- refresh rate. This depends on your monitor.
-
- With the pre-Bosch version of the server, it is not possible to
- achieve better than 60Hz refresh rate at 1024x768 NI. As the flicker
- is noticeable, the 1024x768i (interlaced) mode often looks nicer than
- the NI mode.
-
- h) Send me info on new things you find and post it to newsgroups
- so I can develop this mini-HOWTO.
-
-
- 9) How do I get more info?
-
- Useful web sites and addresses
-
- This mini-HOWTO (latest version) and other links on
- the WD90C24 family:
-
- http://www.castle.net/~darin
-
- Western Digital Web Site - for phone number for databooks
- http://www.wdc.com/
-
- IBM Thinkpad video patches
- http://www.zurich.ibm.com/pub/sti/www/info.html
- (seem to have disappeared - but I have some
- where this HOWTO is stored)
-
- Twinhead Computer Corp. 1-800-995-8946
- to ask for BBS # (if you have a Twinhead, Sharp, Altima, HP)
-
-
- As a shortcut to configuration, look into the program vgaset. This allows
- you to optimize the timings for each monitor interactively and dynamically
- within X.
-
-
- Darin Ernst
- darin@castle.net
- dernst@pppl.gov
-
-
- #===========================================================================
- #/usr/lib/X11/XF86Config for XFree86 3.1.2 and later (NEW)
- #===========================================================================
- #
- # Copyright (c) 1994 by The XFree86 Project, Inc.
- #
- # Permission is hereby granted, free of charge, to any person obtaining a
- # copy of this software and associated documentation files (the "Software"),
- # to deal in the Software without restriction, including without limitation
- # the rights to use, copy, modify, merge, publish, distribute, sublicense,
- # and/or sell copies of the Software, and to permit persons to whom the
- # Software is furnished to do so, subject to the following conditions:
- #
- # The above copyright notice and this permission notice shall be included in
- # all copies or substantial portions of the Software.
- #
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- # THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- # SOFTWARE.
- #
- # Except as contained in this notice, the name of the XFree86 Project shall
- # not be used in advertising or otherwise to promote the sale, use or other
- # dealings in this Software without prior written authorization from the
- # XFree86 Project.
- #
- #
- ########################################################################
- #### This XF86Config is for XFree86 3.1.2 and later. To use it ####
- #### with a previous version of XFree86, follow the instructions ####
- #### that appear within the comments. Do not expect it to work ####
- #### as is with older version of XFree86. ####
- #### ####
- #### --- This is version 0.9, August 11, 1995 ---- ####
- #### ####
- #### This release provides full support for the WD90C24[A,A2] ####
- #### driving 8-bit dual scan LCD screens and/or external monitors. ####
- #### Updated versions of this file may be found on the ####
- #### home page ####
- #### http://www.castle.net/~darin ####
- #### In addition, see the ####
- #### "Linux, X, and the WD90C24A2 Chipset mini-HOWTO" ####
- #### (aka "X-Notebook mini_HOWTO") ####
- #### ####
- #### The settings in this file were chosen for use with a dual scan ####
- #### LCD display. The external monitor was a multisync one with ####
- #### a bandwidth of 100 MHz. ####
- #### ####
- #### The settings for the LCD screen in this file ####
- #### should be fairly universal and should work with most ####
- #### notebook computers using the WD90C24 family chipsets. ####
- #### ####
- #### For more information, see the file ####
- #### /usr/lib/X11/doc/README.WstDig ####
- #### in the XFree86 3.1.2 and later releases. ####
- #### ####
- #### Copyright D. Ernst, 1995: ####
- #### Permission to redistribute this file *UNCHANGED* is granted ####
- #### for non-commercial use only. No permission is granted for ####
- #### the use of this file in sales promotions or for purposes of ####
- #### profit. In addition, any other files that make use of ####
- #### information in this file must contain this and the above ####
- #### copyright notice and be accompanied by this file unchanged. ####
- #### All translations, derivative works, or aggregate works ####
- #### incorporating this document must be covered under this ####
- #### copyright notice. That is, you may not produce a derivative ####
- #### work from this document and impose additional restrictions on ####
- #### its distribution. Exceptions to these rules may be granted ####
- #### under certain circumstances only by written permission of the ####
- #### author. ####
- #### ####
- #### If this copyright notice is not included with translations, ####
- #### derivative work, or aggregate works, then no permission to use####
- #### information in this file is granted for any purpose. ####
- #### Permission is granted for the redistribution of this file in ####
- #### complete distributions of the Linux operating system provided ####
- #### it remains unchanged. Commercial entities wishing to ####
- #### redistribute this file or the information contained in it ####
- #### must obtain the prior written permission of its author unless ####
- #### the file remains unchanged and is distributed as part of a ####
- #### complete Linux distribution. Derivative works or translations ####
- #### must be submitted to the author for approval. ####
- #### ####
- #### All derivative works or translations must also contain the ####
- #### words: "Information provided in whole or in part by the ####
- #### "X-Notebook mini-HOWTO", copyright D. Ernst, 1995. ####
- #### ####
- #### ####
- #### WARNING: Do not assume these settings fall within your ####
- #### external monitor's bandwidth. Some monitors, esp. fixed ####
- #### freq. ones, may be damaged by these settings. We cannot be ####
- #### held responsible for any damages whatsoever that may occur ####
- #### directly or indirectly from the use of this information. ####
- #### In addition, caution is prudent when using high dotclock ####
- #### frequencies and fast vram clocks. No guarantees are made ####
- #### or implied. It is possible to exceed the design specifications####
- #### of the video subsystem or displays by using these settings. ####
- #### ####
- ########################################################################
- #
- # **********************************************************************
- # Refer to the XF86Config(4/5) man page for details about the format of
- # this file. This man page is installed as /usr/X11R6/man/man5/XF86Config.5x
- # **********************************************************************
-
- # **********************************************************************
- # Files section. This allows default font and rgb paths to be set
- # **********************************************************************
-
-
- Section "Files"
-
- RgbPath "/usr/X11R6/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/X11R6/lib/X11/fonts/misc/"
- FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
- FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
- FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
- FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
-
- EndSection
-
- # **********************************************************************
- # Server flags section.
- # **********************************************************************
-
- Section "ServerFlags"
-
- # Uncomment this to cause a core dump at the spot where a signal is
- # received. This may leave the console in an unusable state, but may
- # provide a better stack trace in the core dump to aid in debugging
-
- # NoTrapSignals
-
- # Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
-
- # DontZap
-
- EndSection
-
- # **********************************************************************
- # Input devices
- # **********************************************************************
-
- # **********************************************************************
- # Keyboard section
- # **********************************************************************
-
- Section "Keyboard"
-
- Protocol "Standard"
-
- # when using XQUEUE, comment out the above line, and uncomment the
- # following line
-
- # Protocol "Xqueue"
-
- AutoRepeat 500 5
- ServerNumLock
-
- # Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1))
- # 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
-
- EndSection
-
-
- # **********************************************************************
- # Pointer section
- # **********************************************************************
-
- Section "Pointer"
-
- Protocol "PS/2"
- Device "/dev/mouse"
-
- # When using XQUEUE, comment out the above two lines, and uncomment
- # the following line.
-
- # Protocol "Xqueue"
-
- # Baudrate and SampleRate are only for some Logitech mice
-
- # BaudRate 9600
- # SampleRate 150
-
- # Emulate3Buttons is an option for 2-button Microsoft mice
-
- Emulate3Buttons
-
- # ChordMiddle is an option for some 3-button Logitech mice
-
- # ChordMiddle
-
- EndSection
-
-
- # **********************************************************************
- # Monitor section
- # **********************************************************************
-
- # Any number of monitor sections may be present
-
- Section "Monitor" # first section for LCD alone
- # (not used; here FYI)
-
- Identifier "LCD Screen"
- VendorName "Sharp"
- ModelName "Unknown"
-
- Bandwidth 40 # changed from 29
- HorizSync 35.36 # X -probeonly says
- VertRefresh 67.36 # X -probeonly says
-
- # ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
-
- Mode "640x480"
- DotClock 25.175 # The dual scan LCD uses the first clock
- HTimings 640 664 760 800
- VTimings 480 491 493 525
- EndMode
-
- EndSection # monitor 1
-
- Section "Monitor" # 2nd monitor section for both LCD/CRT
-
- Identifier "CRT&LCD"
- VendorName "MAG"
- ModelName "DX17F"
- Bandwidth 75 # changed; 100 from DX17F manual
- HorizSync 30-64 # multisync; also from DX17F manual
- VertRefresh 50-100 # multisync; also from DX17F manual
-
-
- # Modelines =========================================================
- # This constitutes a fairly complete set of Modelines that are as
- # close to VESA as possible.
- #
- # A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz)
- # use for CRT/LCD simultultaneous display
- Mode "640x480"
- DotClock 25.175
- HTimings 640 664 760 800
- VTimings 480 491 493 525
- EndMode
-
- # A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz)
- # use for LCD alone, but above mode works fine
- Mode "640x480.28"
- DotClock 28.32
- HTimings 640 680 720 864
- VTimings 480 488 491 521
- EndMode
-
- # VESA 800x600@56Hz Non-Interlaced mode
- # noticeable flicker; use mode below for best 800x600
- Mode "800x600.36"
- DotClock 36
- HTimings 800 824 896 1024
- VTimings 600 601 603 625
- EndMode
-
- # VESA 800x600@72Hz Non-Interlaced mode
- # no flicker
- Mode "800x600.50"
- DotClock 50
- HTimings 800 856 976 1040
- VTimings 600 637 643 666
- Flags +hsync +vsync
- EndMode
-
- # 1024x768 Interlaced mode
- # no flicker and clear but interlaced character shows
- Mode "1024x768i"
- DotClock 45
- HTimings 1024 1048 1208 1264
- VTimings 768 776 784 817
- Flags +hsync +vsync Interlace
- EndMode
-
- # 1024x768@60Hz Non-interlaced Mode
- # has snow problem with default MClk (use mode below)
- Mode "1024x768.65"
- DotClock 65.1
- HTimings 1024 1032 1176 1344
- VTimings 768 771 777 806
- Flags -hsync -vsync
- EndMode
-
- # 1024x768@60Hz Non-Interlaced mode (non-standard dot-clock)
- # minimum refresh rate for VESA: noticeable flicker
- Mode "1024x768.62"
- DotClock 62
- HTimings 1024 1064 1240 1280
- VTimings 768 774 776 808
- EndMode
-
- Mode "1024x768.60"
- DotClock 60
- HTimings 1024 1064 1240 1280
- VTimings 768 774 776 808
- EndMode
-
- # To use the modes below, you need to uncomment the "fast_dram" option
- # in the devices section to increase the memory clock (MClk).
- # With any of the slower vram clocks, you may see a wavy
- # picture with some noise. Note these modes are beyond the design
- # limits of the WD90C24A2, with the exception of the 1152x900i Modeline.
-
- # VESA 1024x768@70Hz Non-Interlaced mode
- # sort of works, but has snow problem
- Mode "1024x768.75"
- DotClock 75
- HTimings 1024 1048 1184 1328
- VTimngs 768 771 777 806
- Flags -hsync -vsync
- EndMode
-
- # 1024x768@70Hz Non-Interlaced mode (non-standard dot-clock)
- # looks great (slight focus problem?): at last, a useable 1024NI mode.
- Mode "1024x768.72"
- DotClock 72
- HTimings 1024 1056 1192 1280
- VTimings 768 770 776 806
- Flags -hsync -vsync
- EndMode
-
- # 1024x768@76Hz Non-Interlaced mode (doesn't sync; not expected to)
- Mode "1024x768.85"
- DotClock 85
- HTimings 1024 1032 1152 1360
- VTimings 768 784 787 823
- Flags +hsync -vsync
- EndMode
-
- # from Nick Sayer (same as Sun screens)
- # nice
- Mode "1152x900i"
- DotClock 65
- HTimings 1152 1200 1296 1496
- VTimings 900 905 916 950
- Flags Interlace
- EndMode
-
- # ModeLine "1152x900.77" 77 1152 1200 1296 1496 900 905 916 950
- # ModeLine "1152x900.75" 75 1152 1200 1296 1496 900 905 916 950
-
- # bad flicker
- Mode "1152x900.72"
- DotClock 72
- HTimings 1152 1200 1296 1496
- VTimings 900 905 916 950
- EndMode
-
-
- EndSection # monitor 2
-
- # **********************************************************************
- # Graphics device section
- # **********************************************************************
-
- # Any number of graphics device sections may be present
-
- Section "Device"
- # SVGA WD90c24a2 in Twinhead Slimnote with simultaneous display
- Identifier "WD90C24A2"
- VendorName "Western Digital"
- BoardName "RocketChip"
- # Chipset "wd90c31" # comment out for use with XFree86 3.1.2 or later
- # uncomment for use with XFree86 3.1.1 or before
-
- #### begin first config with lcd only display (unused)
- ## VideoRam 512
- ## Clocks 28.29 28.32 28.30 28.29 28.30 28.32 28.29 28.30
- ## Clocks 28.30 28.31 28.29 28.30 28.30 28.31 28.30 28.30
- ## Clocks 49.79
- #### end first config with lcd only display
-
- #### begin second config with crt/lcd display: orig. XF86_SVGA (pre-3.1.2)
- ## VideoRam 1024 # leave commented out
- ## Clocks 25.15 28.32 64.97 35.96 25.15 28.30 64.92 36.00
- ## Clocks 25.15 28.30 64.92 35.96 25.17 28.41 64.97 35.96
- ## Clocks 44.26
- #### end second config with crt/lcd display
-
- ### begin third config with crt/lcd: new XF86_SVGA (3.1.2 or later)
- #
- # Brad Bosch's server allows one to *program* the dotclocks. This
- # makes it possible to achieve much better refresh rates and resolutions
- # that were previously not possible. See README.WstDig for more details.
- #
- # (instructions here are Brad's, for his modified pvga1 driver)
- #
- # The VRAM clock (Mclk) is adjusted by adding ONE of the
- # following option lines:
- #
- # Option "slow_dram" # Set Mclk to 47.429 MHz
- Option "med_dram" # Set Mclk to 49.219 MHz
- # Option "fast_dram" # Set Mclk to 55.035 MHz
- #
- # The default is to leave Mclk as the BIOS sets it. This is 44.297 on
- # our (Twinhead) systems. There is also a faster clock than 55 MHz,
- # but it caused display bit errors on my system. I was surprised the
- # 55 MHz clock worked.
- #
- # To use dotclocks above 60, it appears necessary to use the "fast_dram"
- # option. This makes 1024x768NI@72Hz possible. The 85 MHz clock
- # still does not appear to work. It is beyond the design limits of
- # the WD90C24 series. The databook states that the 65 MHz clock
- # MClk values of 44.297 are the maximum the WD90C24A2 is designed for.
- # In addition to possible risks to the hardware, memory errors sometimes
- # occur when using fast_dram. If you see corrupted pixels, try a slower
- # setting.
- #
- # The second and fourth group of 4 clocks are now adjustable. That is,
- # clocks 5,6,7,8 and 13,14,15,16 (counting from 1). These clocks are
- # set by the Clocks line. Be sure to adjust the 17th (last) clock if
- # you change Mclk via above. Here is a sample clocks line with more
- # unique clocks defined. The NON-programable clocks (1-4 and 9-12) MUST
- # be set as indicated here.
- #
- # These clocks chosen for 800x600NI@72Hz and 1024x768NI modelines
- # and circumvent "snow" problems (Darin):
- #
- Clocks 25.175 28.322 65 36 # These clocks are *not* programmable
- Clocks 29.979 77.408 62.195 59.957 # these are programmable
- Clocks 31.5 35.501 75.166 50.114 # these are *not* programmable
- Clocks 39.822 72.038 44.744 65.1 # these are programmable
- Clocks 49.219 # Change this if you change Mclk
- # above.
- #
- # You can program the clocks in increments of .447443 MHz. It will warn
- # you and adjust to the nearest increment if you use a clock which does not
- # fit this formula. Clocks 1-4 and 9-12 (fixed clocks) are not constrained
- # to this multiple, which is why I didn't make them programable (so they
- # could be the exact standard clocks).
- #
- ### end third config
-
- EndSection
-
-
- # **********************************************************************
- # Screen sections
- # **********************************************************************
-
- # The colour SVGA server
-
- # Use ctrl_alt_kp(+) and ctrl_alt_kp(-) to flip through these modes
- # without restarting X.
-
- Section "Screen"
-
- Driver "svga"
- Device "WD90C24A2"
- # Monitor "LCD Screen"
- Monitor "CRT&LCD"
- Subsection "Display"
- Depth 8
- #
- # Modes must be one line: format below is for documentation only
- #
- # Modes "640x480" # works: Use for LCD/CRT
- # Modes "640x480.28" # works: Use for LCD only (not needed)
- # Modes "800x600.36" # works but flicker
- # Modes "800x600.50" # works well - no flicker
- # Modes "1024x768i" # works well - clear focus - no flicker
- # Modes "1024x768.65" # snow problem
- # Modes "1024x768.62" # works but flicker
- # Modes "1024x768.60" # works but flicker
- # Modes "1024x768.72" # wavy unless use "fast_dram" but then works
- # Modes "1024x768.75" # wavy unless use "fast_dram" but then works
- # Modes "1024x768.85" # doesn't sync; polarities don't help
- # Modes "1152x900i" # very nice
- # Modes "1152x900.77" # 54 Hz - flicker
-
-
- # Following line is valid "Modes" line:
-
- Modes "640x480" "800x600.36" "1024x768i"
- # "800x600.50" "1024x768.60" "1024x768.72" "1152x900i" "1152x900.72"
- # commented out to avoid monitor "toast"
-
- ViewPort 0 0
- # Virtual 1024 768 # Virtual for CRT only use
- # comment out if you want 800x600 virtual
- # on LCD. uncomment if you want 640x480 LCD.
- EndSubsection
-
- EndSection
-
- ###### end XF86Config for 3.1.2 ############################################
-
-
-
- # ****************** end of mini-HOWTO **********************
-
-
-
-
-
-
-
-
-
-
-
-
-