home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / unmaintained / mini / X-Notebook < prev    next >
Text File  |  1997-07-29  |  46KB  |  1,098 lines

  1. [ 30 July 1997
  2.   The Linux X Notebook mini-HOWTO is not being maintained by the author 
  3.   any more.  If you are interested in maintaining the X Notebook mini-HOWTO, 
  4.   please get in touch with me at <gregh@sunsite.unc.edu>. ]
  5.  
  6. ===============================================================================
  7. ======                                                             ============
  8. ======  XFree86 3.1 and WD90C24 Notebook Video Chipset mini-HOWTO  ============
  9. ======                                                             ============
  10. ===============================================================================
  11.  
  12.  
  13.         author: Darin Ernst (dernst@pppl.gov, darin@castle.net)     
  14.  
  15.                       version: 0.96  8/10/95
  16.                       first version: 1/95
  17.  
  18.  
  19.  
  20.   For more info and updates, see the WEB site 
  21.                       http://www.castle.net/~darin
  22.  
  23. Applicability: 
  24.  
  25.   This version of the HOWTO applies to XFree86 3.1.2  and earlier. 
  26.   New versions will be available for new versions of XFree86 
  27.   when necessary.  
  28.  
  29. Acknowledgement:
  30.  
  31.   Thanks to all those who have emailed me and posted messages on 
  32.   this topic! It is now possible run X-Windows on notebook computers 
  33.   and take full advantage of the hardware (at least at 8 bits 
  34.   per pixel). 
  35.  
  36. Purpose: 
  37.  
  38.   This document gives instructions for configuring XFree86 
  39.   on notebooks with the WD90C24 family chipsets.  It also describes 
  40.   known bugs and workarounds if available.  The content comes 
  41.   from communication with other users and my participation in the 
  42.   development of the new WD90C24 driver.
  43.  
  44. Special Note:  
  45.  
  46.   A driver developed specifically for the WD90C24 is available for 
  47.   the first time in XFree86 release 3.1.2 (released around July 31).
  48.   The sections of this  HOWTO are labelled according to whether or 
  49.   not they apply to:
  50.  
  51.       (OLD) 3.1.1 and earlier; and  
  52.       (NEW) 3.1.2 and later.  
  53.  
  54.   Most of the FAQ on workarounds for old problems is now obsolete, 
  55.   but instructions are provided for taking advantage of new features in 
  56.   XFree86 3.1.2 in the (NEW) sections.
  57.  
  58.  
  59. Copyright D. Ernst, 1995:                                      
  60.  
  61.    Permission to redistribute this file *UNCHANGED* is granted for 
  62.    non-commercial use only. No permission is granted for the use of this 
  63.    file in sales promotions or for purposes of profit. In addition, any 
  64.    translations, derivative, or aggregate works that make use of information 
  65.    in this file must contain this copyright notice and be accompanied by this 
  66.    file unchanged.
  67.  
  68.    All translations, derivative works, or aggregate works incorporating this 
  69.    document must be covered under this copyright notice. That is, you may not 
  70.    produce a derivative work from this document and impose additional 
  71.    restrictions on its distribution. Exceptions to these rules may be granted 
  72.    under certain circumstances only by written permission of the author.
  73.  
  74.    If this copyright notice is not included with translations, derivative works,
  75.    or aggregate works, then no permission to use information in this file is 
  76.    granted for any purpose. Permission is granted for the redistribution of 
  77.    this file in whole and complete distributions of the Linux operating system 
  78.    provided it remains unchanged.  Commercial entities wishing to redistribute
  79.    this file or the information contained in it for any other purpose must 
  80.    obtain the written permission of its author.  Any translations, derivative
  81.    works, or aggregate works must be submitted to the author for approval.
  82.  
  83.    All derivative works must also contain the words: "Information provided 
  84.    by the "X-Notebook mini-HOWTO", copyright D. Ernst, 1995.            
  85.  
  86.  
  87. Frequently asked questions:
  88.  
  89. 1) Does XFree86 have a driver for the WD90C24[A,A2] available?
  90.  
  91.    Yes, but only in release 3.1.2 and later. Prior to this, we used
  92.    the driver for the wd90c31 chip to fake it, with a lot of problems
  93.    that are described below.
  94.  
  95.    The long-awaited support for the WD90C24 has been added to the pvga1 driver
  96.    in the XF86_SVGA server by Brad Bosch, during July, 1995.  Extensive testing
  97.    during the developement and suggestions were provided by D. Ernst. The 
  98.    new server has  full support, including programmable clocks, and solves 
  99.    most, if not all of the problems mentioned here for the old server.
  100.   
  101.    The new server was released around July 31, 1995 in version 3.1.2 of of 
  102.    XFree86.  It is  capable of 1152x900 interlaced as well as 1024x768 
  103.    non-interlaced VESA at 72Hz refresh, automatically utilizing the 
  104.    full 1MB of VRAM.  It also provides users with the ability to program
  105.    the dotclocks. The new driver does not support 16bpp, however, which
  106.    is possible at low resolutions. Someone is working on this.
  107.  
  108.    The following is an excerpt from the file /usr/lib/X11/doc/README.WstDig 
  109.    that describes the new driver (sections written by B. Bosch and D. Ernst):
  110.  
  111.   New WD90C24 features
  112.  
  113.   These next three sections apply only if you have a WD90C24, WD90C24a,
  114.   or WD90C24a2 and don't specify some other chipset in your XF86Config
  115.   file.  The SVGA pvga1 driver now recognizes the wd90c24 family as
  116.   different from the WD90C30 and seems to resolve most of the problems
  117.   people encountered when these chips were treated as WD90C3X.  The new
  118.   code has the following features:
  119.  
  120.      o  Locks the shadow registers at appropriate times; This should
  121.         prevent scrambled displays after exiting X with dual scan
  122.         screens when simultaneous or LCD display mode is selected.  The
  123.         code does depend somewhat on the behavior of the BIOS regarding
  124.         when it locks the shadow registers, etc.
  125.  
  126.      o  Allows (forces) the use of a full 1 Meg VRAM for dual scan
  127.         systems when the server is started while external CRT only
  128.         display is in operation.  This allows 1024x768x8 resolution.
  129.  
  130.      o  If the XF86Config file specifies a virtual screen size which
  131.         requires more than 512 K VRAM when the server is started on a
  132.         Dual Scan LCD, the driver will force the virtual size to
  133.         640x480.  This eliminates the need to edit the XF86Config file
  134.         when you switch from 1024x resolution on the CRT, to or from the
  135.         LCD screen.  If no virtual size is specified, the result will be
  136.         800x600 virtual in LCD modes and 1024x768 in CRT only mode (so
  137.         you have a choice).
  138.  
  139.      o  Note that on dual scan systems, you must still exit X, switch
  140.         displays, and restart X to change to/from CRT only with 1 Meg
  141.         videoram.  This is because once the server starts, you can't
  142.         change the virtual screen size.  There is no way around this
  143.         with the current server and the WD90C24 with dual scan displays.
  144.         The WD90C24 requires half the videoram be used for a ``Frame
  145.         buffer'' when the dual scan LCD is in use.
  146.  
  147.      o  The new server uses the accelerated features of the WD90C24a.
  148.         It is not clear from the data book if the WD90C24 also supports
  149.         ALL the required features.  Several people have stated that the
  150.         WD90C24 is not accelerated, but the differences section of the
  151.         WD90c24a data book implies that they ARE all three accelerated.
  152.         The differences documented with regard to acceleration are with
  153.         the type of line drawing the hardware does; Only the newer chips
  154.         support the type of line drawing that MS windows wants.  This
  155.         may be what has caused the confusion since the accelerated
  156.         windows drivers may only support the WD90c24a chips.  If this
  157.         turns out to be a problem with the WD90C24, acceleration can be
  158.         disabled by adding the line:
  159.               Option "noaccel"
  160.          to the Device section of the XF86Config file.
  161.  
  162.      o  Although the new server does not support programmable clocks in
  163.         the same way as some of the other servers, 8 of the 17 clocks
  164.         may be set to (almost) any value via the Clocks line. It also
  165.         supports options for adjusting the VRAM clock.
  166.  
  167.  
  168.  
  169. 2)(OLD) How can I use the XF86_SVGA server under XFree 86 3.1.1 and earlier?
  170.  
  171.    Most of us fake it by selecting the WD90C31 (or 30) accelerated chipset
  172.    using the XF86_SVGA server.  X -probeonly detects the WD90C24, but
  173.    this is not implemented with accelerated features in XFree86 3.1.1. and 
  174.    earlier.  The WD90C24A and A2 are sort of compatible with the WD90C31.  
  175.  
  176.   (NEW & OLD)
  177.   
  178.    Most notebooks of 1994 use the WD90C24A2 with 1mb of video ram on the 
  179.    local bus, and are capable of 1024x768x256 colors at 60Hz refresh 
  180.    under Windows 3.1. Some implementations are capable of 65k colors at 
  181.    640x480 using the Western Digital windows driver wd2464_h.drv provided 
  182.    on an OEM disk.  I maintain a list of notebooks and their video
  183.    chipsets on the WEB page above.
  184.  
  185.    Other very common chipsets not covered here are the Cirrus Logic 6440,
  186.    which is now fully supported by XFree86 3.1.1, and the 
  187.    Chips and Technologies 65545, which appears in most Pentium 
  188.    notebooks, especially those using the PCI bus.   This chip  is 
  189.    partially supported with non-accelerated drivers (for the 65540).
  190.    There are mixed reports on the net about the extent of this support. 
  191.    Many of the problems reported seem to be similar to those discussed
  192.    here.  The CLGD7542 that is now appearing (i.e. TI5000M) seems to be 
  193.    compatible with the CLGD6235. 
  194.  
  195. 3)(OLD) Why do I only see 512k of VRAM?
  196.  
  197.    A problem persists with the implementations of dual scan displays, 
  198.    as well as with simultaneous display. Despite the fact that Windows 3.1 
  199.    is able to use the full 1mb of video RAM to display externally 
  200.    at 1024x768x256 colors, XF86_SVGA cannot, since it cannot use more 
  201.    than 512k of the available 1024k.  The best one can do on an external
  202.    monitor with the current XF86_SVGA server is 800x600x256. 
  203.    However, workarounds exist for certain notebooks, such as the Twinhead 5 
  204.    series and IBM Thinkpads.
  205.  
  206.    The problem is that 512k is what 'X -probeonly' detects. If you try 
  207.    to hand-enter 1024k, you will get duplicate images on the upper and 
  208.    lower halves of the screen.  Others have reported that the Western 
  209.    Digital databook seems to confirm that half the memory (one 
  210.    256kx16bit bank) is reserved for a "frame buffer"  when a 16 bit 
  211.    dual-panel color STN display is used OR when simultaneous display mode 
  212.    is selected. 
  213.  
  214.    Comparisons on active and passive versions of the AST Ascentia 
  215.    made by swapping hard drives (ewagner@imssys.imssys.com Evan Wagner) 
  216.    confirm that the 512k problem does not occur on the active 
  217.    matrix implementation. 
  218.  
  219.    I  observed that other things change (such as dotclocks) when
  220.    the external display is selected alone, as opposed to simultaneous
  221.    or internal display on my Twinhead 5100S (dual scan, A2 chip).
  222.  
  223.    The Twinhead 5100 (aka Twinhead Slimnote 5, HP Omnibook 4000C, 
  224.    Sharp PC-8700/8900, Altima Virage II) is capable of using the full 
  225.    1mb of memory after one runs a DOS program called "CHGVRAM.EXE", which 
  226.    is available from the Twinhead BBS.  This program was written by 
  227.    Ferdy Kuo of Twinhead Corp., and is copyrighted. The code is only 
  228.    available from the Twinhead BBS as an executable, and makes 
  229.    many BIOS calls that are specific to the Twinhead Slimnote 5 series
  230.    machine.  Please call Twinhead if you don't have the BBS number.
  231.    This program will only work with the Twinhead family of machines.
  232.  
  233.    To use this program for Linux/X, boot DOS.  Then hit alt-F5 until 
  234.    the display is set to external-only.  Then run CHGVRAM.EXE, which 
  235.    will display a message something like "Video RAM changed to 1 MB".  
  236.    Next, boot linux using the Linux Loader, lodlin15, which comes
  237.    in the /root directory of Slackware 2.1.0.  The command is
  238.    simply "c:\> linux".  Linux will then boot normally.  Then
  239.    use "startx" to start X-Windows.  The full 1mb of video RAM
  240.    will be used by XFree86.  I stick this all into a batch file
  241.    called "linux.bat".
  242.  
  243.    Possible idea (haven't tried this yet):  Run CHGVRAM.EXE from 
  244.    a dosemu session within linux.
  245.  
  246.    **** Fixes for the IBM Thinkpad 
  247.                         (this is does not work on other notebooks ) ****
  248.  
  249.    Michael Steiner has written a c program that runs under Linux and 
  250.    allows one to set the video RAM of the WD90C24 family to either
  251.    512k or 1024k.  
  252.  
  253.    /* T P D U A L S C A N . C
  254.  
  255.     Author: Michael Steiner
  256.             <steiner@acm.org> <sti@zurich.ibm.com>
  257.             http://www.zurich.ibm.com/pub/sti/www/info.html
  258.  
  259.    This program allows you to set videoram for dualscan equipped thinkpads
  260.    (at least for the 750Cs but probably also for others) to allow running
  261.    XFree86 without patching it. (normally you got all twice if the upper 512K
  262.    of videoram are not disabled)
  263.    */
  264.  
  265.    Michael also makes available (on his web page) a patched XF86_SVGA
  266.    server.
  267.  
  268. 4)(OLD) How can I make my LCD screen sync correctly on starting/exiting X?
  269.  
  270.    There is a bug that results in scrambled virtual consoles upon
  271.    exiting X.  The cure for this is to reset the video modes in some way.
  272.    Many notebooks have a hot-key for lcd, crt, or simultaneous display.
  273.    Cycling this hot-key restores the virtual consoles.  For others,
  274.    close and open the cover, or suspend/resume.  This problem does
  275.    not occur when using the external display.
  276.  
  277. 5)(OLD) How can I fix the weird patches-of-black problem?
  278.  
  279.    There is a problem using white window backgrounds.  When windows
  280.    are scrolled with white bg, the scrolled part goes into reverse
  281.    video.  The cure for this is not to use white backgrounds.  Off-whites
  282.    are fine.  This can be set as a default for all users in 
  283.    /var/X11R6/lib/xinit/.Xresources with the following line (i.e., for xterm):
  284.  
  285.    XTerm*Background:               snow  
  286.  
  287. 6)(NEW & OLD) Should I configure X on the internal or external monitor first?
  288.  
  289.    The dotclocks are different as detected by X-probeonly when the
  290.    lcd is selected versus when the crt is selected as the display.  I 
  291.    suggest using an external monitor while configuring X so that
  292.    all the necessary dotclocks appear. If you can't find an external
  293.    monitor, don't worry.  Just pretend you have one by selecting 
  294.    external-only display.  Otherwise, you will get 17 basically identical 
  295.    clocks that are useful only for 640x480.  Do this with the 
  296.    monitor turned off to avoid damage.
  297.  
  298. 7)(NEW & OLD) My screen looks ok except for these funny little patterns... 
  299.  
  300.    The lcd display looks different depending on whether or not
  301.    simultaneous display is turned on (waves, flicker, dim, patterns). The
  302.    fix is to fiddle with the modeline.  The XF86Config below works
  303.    correctly. Note the first clock is used for the LCD.
  304.  
  305. 8) How do I set up XF86Config (see examples at end of this file)?
  306.     
  307.   (NEW version)
  308.     aa) read /usr/lib/X11/doc/README.Config, VideoModes.doc (optional)
  309.     a)  Select XF86_SVGA server with WD90C24 chipset.
  310.     b)  Select "generic monitor" with the 25 Mhz dotclock and the 
  311.         standard 640x480 VESA modeline.  Begin with a video 
  312.         bandwidth around 30 Mhz.
  313.     c)  X -probeonly >& /tmp/x.out with external monitor selected, but
  314.         turned off.
  315.     d)  Edit XF86Config and paste in the 17 dotclocks found in /tmp/x.out
  316.         put one of the 25-28 Mhz dotclocks in place of the first
  317.         number in the VESA 640x480 modeline.  This should work 
  318.         for the LCD display to give 640x480x256. Now select the LCD
  319.         display (using a hot-key).  If you have an 800x600 LCD
  320.         display, the clock that is probably need is likely to be
  321.         the first clock with a value around 36.  Try the 
  322.         800x600@56Hz NI VESA modeline first.
  323.     e)  Go to step (c).  Repeat, this time pasting in the HorizSync
  324.         frequency or the VertRefresh frequency.  Go to step
  325.         (c) again and repeat until both of these and the bandwidth
  326.         are filled in.
  327.     f)  Now the LCD display should work.  
  328.     g)  To configure the external monitor, decide which dotclocks
  329.         you want by first picking the resolution and looking over
  330.         the standard VESA modelines.  The new server allows you
  331.         to program certain dotclocks, so this gives you almost
  332.         infinite flexibility in setting up modelines.
  333.  
  334.         The new server recognizes that you have 1024k of VRAM
  335.         when you are using either an active matrix LCD or
  336.         the external monitor.  If you are using simultaneous display
  337.         or a dual-scan LCD alone, then only 512k of VRAM can
  338.         be used.  This is inherent in the hardware design.
  339.         
  340.   From /usr/lib/X11/doc/README.WstDig sections by B. Bosch and D. Ernst:
  341.  
  342.   Special considerations
  343.  
  344.   All of the Western Digital chipsets after the PVGA1 support the
  345.   ability to use the memory-refresh clock as an alternate dot-clock for
  346.   video timing.  Hence for all of these chipsets, the server will detect
  347.   one more clocks than ``normal''.  What this means is that if you have
  348.   an old `Clocks' line in your XF86Config file, you should comment it
  349.   out, and rerun the server with the `-probeonly' option to find all of
  350.   the clock values.  All but the last should be the same as what you had
  351.   before; the last will be new.
  352.  
  353.   The server will detect 17 clocks for the WD90C24, WD90C30 and WD90C31
  354.   chipsets.  If you have one of these chipsets, you should let the
  355.   server re-probe the clocks and update your XF86Config.
  356.  
  357.   There is an `Option' flag available for the XF86Config file that is
  358.   specific to the Western Digital chipsets (except the WD90C24).  This
  359.   option is "swap_hibit".  
  360.  
  361.  
  362.   WD90C24 clocks
  363.  
  364.   Here are some more details on the adjustable clocks:
  365.  
  366.   The VRAM clock (Mclk) is adjusted by adding ONE of the following
  367.   option lines to the Device section of the XF86Config:
  368.  
  369.           Option      "slow_dram"     # Set Mclk to 47.429 MHz
  370.           Option      "med_dram"      # Set Mclk to 49.219 MHz
  371.           Option      "fast_dram"     # Set Mclk to 55.035 MHz
  372.  
  373.  
  374.  
  375.   The default is to leave Mclk as the BIOS sets it.  This is 44.297 on
  376.   many systems.  Some systems may not work properly with any of these
  377.   options.  If you experience ``bit errors'' on your display, reduce the
  378.   Mclk speed, or don't use any of these options.  The Mclk is not reset
  379.   on server exit.
  380.  
  381.   The data book says that the maximum pixel clock is 1.6 times Mclk so
  382.   you may want to experiment with higher Mclk rates if you have a fast
  383.   monitor.  It also says a 44.297MHz Mclk and 65MHz pixel clock is the
  384.   fastest the WD90C24A2 is designed to go.  However, some success has
  385.   been reported with faster clocks.  Don't expect all the clocks the
  386.   chip can provide to work properly.
  387.  
  388.   The second and fourth group of 4 clocks are adjustable.  That is,
  389.   clocks 5, 6, 7, 8 and 13, 14, 15, 16 (counting from 1).  These clocks
  390.   are set by the Clocks line.  Be sure to adjust the 17th (last) clock
  391.   to match your Mclk.  Here is a sample set of clocks lines with some
  392.   clocks defined which are not directly provided by the chip.  The NON-
  393.   programmable clocks (1-4 and 9-12) MUST be set as indicated here.
  394.  
  395.      Clocks     25.175 28.322 65     36     # These are *not* programmable
  396.      Clocks     29.979 77.408 62.195 59.957 # these are programmable
  397.      Clocks     31.5   35.501 75.166 50.114 # these are *not* programmable
  398.      Clocks     39.822 72.038 44.744 80.092 # these are programmable
  399.      Clocks     44.297                      # Change this if you change
  400.                                             #   Mclk above.
  401.  
  402.  
  403.   You can program the clocks in increments of .447443 MHz.  The server
  404.   will warn you and adjust to the nearest increment if you specify a
  405.   clock which does not fit this formula.  Clocks 1-4 and 9-12 (the fixed
  406.   clocks) are not constrained to this multiple, but instead are used to
  407.   provide standard clocks which are not a multiple by .447443 MHz.
  408.  
  409.   If you probe for clocks (for example to find your Mclk), do it in CRT
  410.   only mode and then add clocks lines in your XF86Config file.  Clocks
  411.   will not probe correctly in LCD mode on most systems.
  412.  
  413.   The BIOS on some systems may not allow switching from CRT to LCD
  414.   unless the correct clock and/or mode is used.  Try the following mode
  415.   line for 640x480 LCD displays.
  416.  
  417.   ModeLine "640x480"  25.175   640 664 760 800 480 491 493 525 #CRT/LCD
  418.  
  419.   The following modelines have been tested with the above Clocks lines
  420.   on some systems, and are provided here as examples. Some testers have
  421.   experienced minor problems (snow) with the fixed 65 and 75.166 MHz dot
  422.   clocks.  The modelines below have been reported to circumvent these
  423.   problems.  This is has fixed in post-3.1.2 versions of the pvga1
  424.   driver.  
  425.   
  426.   Do not assume your monitor will not be damaged by any of these.
  427.  
  428.    # VESA 800x600@72Hz Non-Interlaced mode
  429.      Mode  "800x600.50"  
  430.        DotClock 50  
  431.        HTimings 800  856  976 1040 
  432.        VTimings 600 637 643 666  
  433.        Flags    +hsync +vsync
  434.      EndMode
  435.  
  436.    # 1024x768  Interlaced mode
  437.      Mode  "1024x768i" 
  438.        DotClock 45  
  439.        HTimings 1024 1048 1208 
  440.        VTimings 1264 768 776 784 817 
  441.        Flags    +hsync +vsync Interlace
  442.      EndMode
  443.  
  444.    # 1024x768@60Hz Non-interlaced Mode
  445.    # One of the dram options may be necessary
  446.      Mode  "1024x768.65" 
  447.        DotClock  65  
  448.        HTimings  1024 1032 1176 
  449.        VTimings  1344 768 771 777 806 
  450.        Flags     -hsync -vsync
  451.      EndMode
  452.  
  453.    # 1024x768@60Hz Non-Interlaced mode (non-standard dot-clock)
  454.    # Seems to work without dram options
  455.      Mode  "1024x768.62" 
  456.        DotClock 62  
  457.        HTimings 1024 1064 1240 1280
  458.        VTimings  768 774 776 808
  459.      EndMode
  460.  
  461.    # 1024x768@70Hz Non-Interlaced mode (non-standard dot-clock)
  462.    # May need fast_dram option
  463.      Mode  "1024x768.72" 
  464.        DotClock 72  
  465.        HTimings  1024 1056 1192 1280 
  466.        VTimings  768 770 776 806 
  467.        Flags     -hsync -vsync
  468.      EndMode
  469.  
  470.    end /usr/lib/X11/README.WstDig
  471.  
  472.    The following mode works well (provided by Nick Sayer):
  473.  
  474.      Mode "1152x900i"  
  475.        DotClock 65 
  476.        HTimings 1152 1200 1296 1496  
  477.        VTimings 900 905 916 950 
  478.        Flags    Interlace
  479.      EndMode
  480.  
  481.  
  482.     h)  When programming the clocks: If you experience snow with a 
  483.         particular modeline, try decreasing the clock by a small
  484.         amount, leaving the other settings unchanged.  Certain
  485.         clocks, such as the fixed 65 and 75 MHz clocks, sometimes
  486.         give snow due to a minor bug in the new server.  The fix
  487.         for this is to duplicate the problematic fixed clock
  488.         with a nearby programmable one.  This problem has been
  489.         fixed and will not be propagated to future releases
  490.         of XFree86.
  491.  
  492.  
  493.     i)  Send me info on new things you find and post it to newsgroups
  494.         so I can develop this mini-HOWTO further.
  495.  
  496.  
  497.   (OLD version)
  498.  
  499.     If you are using the XF86Config below, you should comment out
  500.     the sections for 3.1.2 and later as described in the file.
  501.     Then follow these instructions to reprobe the clocks.
  502.  
  503.     aa) read /usr/lib/X11/doc/README.Config, VideoModes.doc (optional)
  504.     a)  Select XF86_SVGA server with WD90C31 chipset.
  505.     b)  Select "generic monitor" with the 25 Mhz dotclock and the 
  506.         standard 640x480 VESA modeline.  Begin with a video 
  507.         bandwidth around 30 Mhz.
  508.     c)  X -probeonly >& /tmp/x.out with external monitor selected, but
  509.         turned off.
  510.     d)  Edit XF86Config and paste in the 17 dotclocks found in /tmp/x.out
  511.         put one of the 25-28 Mhz dotclocks in place of the first
  512.         number in the VESA 640x480 modeline.  This should work 
  513.         for the LCD display to give 640x480x256. Now select the lcd
  514.         display.
  515.     e)  Go to step (c).  Repeat, this time pasting in the HorizSync
  516.         frequency or the VertRefresh frequency.  Go to step
  517.         (c) again and repeat until both of these and the bandwidth
  518.         are filled in.
  519.     f)  Now the lcd display should work.  
  520.     g)  To configure the external monitor, start with the standard
  521.         VESA modelines that match the dotclocks you have.  I got
  522.         four basic dotclocks with a lot of nearby duplicates:
  523.  
  524.         28.32 => 640x480 @63 Hz NI VESA
  525.         36.00 => 800x600 @56 Hz NI VESA
  526.         44.26 => 1024x768i @43.5 Hz Interlaced 
  527.         64.97 => 1024x768 @60 Hz NI VESA
  528.  
  529.     Of course, one cannot achieve the 1024 modes because without a 
  530.         workaround, as one can only use 512k of video ram of the available 
  531.         1024k VRAM as discussed above.  
  532.  
  533.         I think it is possible to get an 800x600 mode with very high
  534.         refresh rate.  This depends on your monitor.
  535.  
  536.         With the  pre-Bosch version of the server, it is not possible to 
  537.         achieve better than 60Hz refresh rate at 1024x768 NI.  As the flicker 
  538.         is noticeable, the 1024x768i (interlaced) mode often looks nicer than 
  539.         the NI mode.
  540.  
  541.     h)  Send me info on new things you find and post it to newsgroups
  542.         so I can develop this mini-HOWTO.      
  543.  
  544.  
  545. 9) How do I get more info? 
  546.  
  547.    Useful web sites and addresses
  548.  
  549.     This mini-HOWTO (latest version) and other links on 
  550.         the WD90C24 family:
  551.  
  552.             http://www.castle.net/~darin
  553.  
  554.     Western Digital Web Site - for phone number for databooks
  555.             http://www.wdc.com/
  556.  
  557.     IBM Thinkpad video patches 
  558.             http://www.zurich.ibm.com/pub/sti/www/info.html   
  559.             (seem to have disappeared - but I have some
  560.              where this HOWTO is stored)
  561.     
  562.     Twinhead Computer Corp. 1-800-995-8946
  563.             to ask for BBS # (if you have a Twinhead, Sharp, Altima, HP)
  564.  
  565.  
  566. As a shortcut to configuration, look into the program vgaset.  This allows 
  567. you to optimize the timings for each monitor interactively and dynamically 
  568. within X.
  569.  
  570.  
  571. Darin Ernst
  572. darin@castle.net
  573. dernst@pppl.gov
  574.  
  575.  
  576. #===========================================================================
  577. #/usr/lib/X11/XF86Config for XFree86 3.1.2 and later (NEW)
  578. #===========================================================================
  579. #
  580. # Copyright (c) 1994 by The XFree86 Project, Inc.
  581. #
  582. # Permission is hereby granted, free of charge, to any person obtaining a
  583. # copy of this software and associated documentation files (the "Software"),
  584. # to deal in the Software without restriction, including without limitation
  585. # the rights to use, copy, modify, merge, publish, distribute, sublicense,
  586. # and/or sell copies of the Software, and to permit persons to whom the
  587. # Software is furnished to do so, subject to the following conditions:
  588. # The above copyright notice and this permission notice shall be included in
  589. # all copies or substantial portions of the Software.
  590. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  591. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  592. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  593. # THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  594. # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
  595. # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  596. # SOFTWARE.
  597. # Except as contained in this notice, the name of the XFree86 Project shall
  598. # not be used in advertising or otherwise to promote the sale, use or other
  599. # dealings in this Software without prior written authorization from the
  600. # XFree86 Project.
  601. #
  602. #
  603. ########################################################################
  604. #### This XF86Config is for XFree86 3.1.2 and later.  To use it     ####
  605. #### with a previous version of XFree86, follow the instructions    ####
  606. #### that appear within the comments.  Do not expect it to work     ####
  607. #### as is with older version of XFree86.                           ####
  608. ####                                                                ####
  609. ####           --- This is version 0.9, August 11, 1995 ----        ####
  610. ####                                                                ####
  611. #### This release provides full support for the WD90C24[A,A2]       ####
  612. #### driving 8-bit dual scan LCD screens and/or external monitors.  ####
  613. #### Updated versions of this file may be found on the              ####
  614. #### home page                                                      ####
  615. ####    http://www.castle.net/~darin                                ####
  616. #### In addition, see the                                           ####
  617. ####  "Linux, X, and the WD90C24A2 Chipset mini-HOWTO"              ####
  618. ####   (aka "X-Notebook mini_HOWTO")                                ####
  619. ####                                                                ####
  620. #### The settings in this file were chosen for use with a dual scan ####
  621. #### LCD display.  The external monitor was a multisync one with    ####
  622. #### a bandwidth of 100 MHz.                                        ####
  623. ####                                                                ####
  624. #### The settings for the LCD screen in this file                   ####
  625. #### should be fairly universal and should work with most           ####
  626. #### notebook computers using the WD90C24 family chipsets.          ####
  627. ####                                                                ####
  628. #### For more information, see the file                             #### 
  629. ####            /usr/lib/X11/doc/README.WstDig                      ####
  630. #### in the XFree86 3.1.2 and later releases.                       ####
  631. ####                                                                ####
  632. #### Copyright D. Ernst, 1995:                                      ####
  633. ####  Permission to redistribute this file *UNCHANGED* is granted   ####
  634. ####  for non-commercial use only.  No permission is granted for    ####
  635. ####  the use of this file in sales promotions or for purposes of   ####
  636. ####  profit. In addition, any other files that make use of         ####
  637. ####  information in this file must contain this and the above      ####
  638. ####  copyright notice and be accompanied by this file unchanged.   ####
  639. ####  All translations, derivative works, or aggregate works        ####
  640. ####  incorporating this document must be covered under this        ####
  641. ####  copyright notice. That is, you may not produce a derivative   ####
  642. ####  work from this document and impose additional restrictions on ####
  643. ####  its distribution.  Exceptions to these rules may be granted   ####
  644. ####  under certain circumstances only by written permission of the #### 
  645. ####  author.                                                       #### 
  646. ####                                                                #### 
  647. ####  If this copyright notice is not included with translations,   ####
  648. ####  derivative work, or aggregate works, then no permission to use#### 
  649. ####  information in this file is granted for any purpose.          ####
  650. ####  Permission is granted for the redistribution of this file in  ####
  651. ####  complete distributions of the Linux operating system provided ####
  652. ####  it remains unchanged.  Commercial entities wishing to         ####
  653. ####  redistribute this file or the information contained in it     ####
  654. ####  must obtain the prior written permission of its author unless ####
  655. ####  the file remains unchanged and is distributed as part of a    ####     
  656. ####  complete Linux distribution. Derivative works or translations ####
  657. ####  must be submitted to the author for approval.                 ####
  658. ####                                                                ####
  659. ####  All derivative works or translations  must also contain the   ####
  660. ####  words: "Information provided in whole or in part by the       ####
  661. ####  "X-Notebook mini-HOWTO", copyright D. Ernst, 1995.            ####
  662. ####                                                                ####
  663. ####                                                                ####
  664. #### WARNING: Do not assume these settings fall within your         ####
  665. #### external monitor's bandwidth.  Some monitors, esp. fixed       ####
  666. #### freq. ones, may be damaged by these settings. We cannot be     ####
  667. #### held responsible for any damages whatsoever that may occur     ####
  668. #### directly or indirectly from the use of this information.       ####
  669. #### In addition, caution is prudent when using high dotclock       ####
  670. #### frequencies and fast vram clocks.  No guarantees are made      ####
  671. #### or implied.  It is possible to exceed the design specifications####
  672. #### of the video subsystem or displays by using these settings.    ####
  673. ####                                                                #### 
  674. ########################################################################   
  675. #
  676. # **********************************************************************
  677. # Refer to the XF86Config(4/5) man page for details about the format of 
  678. # this file. This man page is installed as /usr/X11R6/man/man5/XF86Config.5x 
  679. # **********************************************************************
  680.  
  681. # **********************************************************************
  682. # Files section.  This allows default font and rgb paths to be set
  683. # **********************************************************************
  684.  
  685.  
  686. Section "Files"
  687.  
  688.     RgbPath    "/usr/X11R6/lib/X11/rgb"
  689.  
  690. # Multiple FontPath entries are allowed (which are concatenated together),
  691. # as well as specifying multiple comma-separated entries in one FontPath
  692. # command (or a combination of both methods)
  693.  
  694.     FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
  695.     FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
  696.     FontPath    "/usr/X11R6/lib/X11/fonts/Speedo/"
  697.     FontPath    "/usr/X11R6/lib/X11/fonts/Type1/"
  698.     FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/"
  699.  
  700. EndSection
  701.  
  702. # **********************************************************************
  703. # Server flags section.
  704. # **********************************************************************
  705.  
  706. Section "ServerFlags"
  707.  
  708. # Uncomment this to cause a core dump at the spot where a signal is 
  709. # received.  This may leave the console in an unusable state, but may
  710. # provide a better stack trace in the core dump to aid in debugging
  711.  
  712. #    NoTrapSignals
  713.  
  714. # Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
  715.  
  716. #    DontZap
  717.  
  718. EndSection
  719.  
  720. # **********************************************************************
  721. # Input devices
  722. # **********************************************************************
  723.  
  724. # **********************************************************************
  725. # Keyboard section
  726. # **********************************************************************
  727.  
  728. Section "Keyboard"
  729.  
  730.     Protocol    "Standard"
  731.  
  732. # when using XQUEUE, comment out the above line, and uncomment the
  733. # following line
  734.  
  735. #    Protocol    "Xqueue"
  736.  
  737.     AutoRepeat    500 5
  738.     ServerNumLock
  739.  
  740. # Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1))
  741. #    Xleds      1 2 3
  742.  
  743. # To set the LeftAlt to Meta, RightAlt key to ModeShift, 
  744. # RightCtl key to Compose, and ScrollLock key to ModeLock:
  745.  
  746. #    LeftAlt     Meta
  747. #    RightAlt    ModeShift
  748. #    RightCtl    Compose
  749. #    ScrollLock  ModeLock
  750.  
  751. EndSection
  752.  
  753.  
  754. # **********************************************************************
  755. # Pointer section
  756. # **********************************************************************
  757.  
  758. Section "Pointer"
  759.  
  760.     Protocol    "PS/2"
  761.     Device    "/dev/mouse"
  762.  
  763. # When using XQUEUE, comment out the above two lines, and uncomment
  764. # the following line.
  765.  
  766. #    Protocol    "Xqueue"
  767.  
  768. # Baudrate and SampleRate are only for some Logitech mice
  769.  
  770. #    BaudRate    9600
  771. #    SampleRate    150
  772.  
  773. # Emulate3Buttons is an option for 2-button Microsoft mice
  774.  
  775.     Emulate3Buttons
  776.  
  777. # ChordMiddle is an option for some 3-button Logitech mice
  778.  
  779. #    ChordMiddle
  780.  
  781. EndSection
  782.  
  783.  
  784. # **********************************************************************
  785. # Monitor section
  786. # **********************************************************************
  787.  
  788. # Any number of monitor sections may be present
  789.  
  790. Section "Monitor" # first section for LCD alone
  791.                   # (not used; here FYI)
  792.  
  793.     Identifier    "LCD Screen"
  794.     VendorName    "Sharp"
  795.     ModelName    "Unknown"
  796.  
  797.     Bandwidth    40  #  changed from 29
  798.     HorizSync   35.36  # X -probeonly says  
  799.     VertRefresh 67.36  # X -probeonly says
  800.  
  801. #    ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
  802.  
  803.     Mode "640x480"
  804.         DotClock    25.175 # The dual scan LCD uses the first clock
  805.         HTimings    640 664 760 800
  806.         VTimings    480 491 493 525
  807.     EndMode
  808.  
  809. EndSection # monitor 1
  810.  
  811. Section "Monitor"  # 2nd monitor section for both LCD/CRT
  812.  
  813.     Identifier    "CRT&LCD"
  814.     VendorName    "MAG"
  815.     ModelName    "DX17F"
  816.     Bandwidth    75            # changed; 100 from DX17F manual
  817.     HorizSync    30-64         # multisync; also from DX17F manual
  818.     VertRefresh    50-100        # multisync; also from DX17F manual
  819.  
  820.  
  821. # Modelines =========================================================
  822. # This constitutes a fairly complete set of Modelines that are as 
  823. # close to VESA as possible.
  824. #
  825. # A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz) 
  826. # use for CRT/LCD simultultaneous display
  827.    Mode "640x480" 
  828.     DotClock   25.175   
  829.     HTimings   640 664 760 800     
  830.     VTimings   480 491 493 525 
  831.    EndMode 
  832.  
  833. # A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz) 
  834. # use for LCD alone, but above mode works fine
  835.    Mode "640x480.28"  
  836.     DotClock    28.32    
  837.     HTimings    640 680 720 864     
  838.     VTimings    480 488 491 521
  839.    EndMode
  840.  
  841. # VESA 800x600@56Hz Non-Interlaced mode 
  842. # noticeable flicker; use mode below for best 800x600
  843.    Mode "800x600.36"    
  844.     DotClock     36       
  845.     HTimings     800 824 896 1024    
  846.     VTimings     600 601 603 625   
  847.    EndMode
  848.  
  849. # VESA 800x600@72Hz Non-Interlaced mode 
  850. # no flicker
  851.    Mode "800x600.50"     
  852.     DotClock     50       
  853.     HTimings     800 856 976 1040    
  854.     VTimings     600 637 643 666  
  855.     Flags        +hsync +vsync
  856.    EndMode
  857.  
  858. # 1024x768  Interlaced mode             
  859. # no flicker and clear but interlaced character shows
  860.    Mode  "1024x768i"       
  861.     DotClock     45       
  862.     HTimings     1024 1048 1208 1264 
  863.     VTimings     768 776 784 817  
  864.     Flags        +hsync +vsync Interlace
  865.    EndMode 
  866.  
  867. # 1024x768@60Hz Non-interlaced Mode  
  868. # has snow problem with default MClk (use mode below)
  869.    Mode "1024x768.65"    
  870.     DotClock     65.1     
  871.     HTimings     1024 1032 1176 1344    
  872.     VTimings     768  771  777  806 
  873.     Flags        -hsync -vsync
  874.    EndMode 
  875.  
  876. # 1024x768@60Hz Non-Interlaced mode (non-standard dot-clock) 
  877. # minimum refresh rate for VESA: noticeable flicker
  878.    Mode "1024x768.62"    
  879.     DotClock     62     
  880.     HTimings     1024 1064 1240 1280   
  881.     VTimings     768  774  776  808
  882.    EndMode
  883.  
  884.    Mode "1024x768.60"    
  885.     DotClock     60     
  886.     HTimings     1024 1064 1240 1280   
  887.     VTimings     768  774  776  808
  888.    EndMode 
  889.   
  890. #   To use the modes below, you need to uncomment the "fast_dram" option
  891. #   in the devices section to increase the memory clock (MClk).
  892. #   With any of the slower vram clocks, you may see a wavy
  893. #   picture with some noise.  Note these modes are beyond the design
  894. #   limits of the WD90C24A2, with the exception of the 1152x900i Modeline.
  895.  
  896. # VESA 1024x768@70Hz Non-Interlaced mode 
  897. # sort of works, but has snow problem
  898.    Mode  "1024x768.75"    
  899.      DotClock     75     
  900.      HTimings     1024 1048 1184 1328   
  901.      VTimngs      768  771  777  806 
  902.      Flags        -hsync -vsync
  903.    EndMode
  904.  
  905. # 1024x768@70Hz Non-Interlaced mode (non-standard dot-clock) 
  906. # looks great (slight focus problem?): at last, a useable 1024NI mode.
  907.    Mode "1024x768.72"    
  908.      DotClock     72     
  909.      HTimings     1024 1056 1192 1280   
  910.      VTimings     768  770  776 806   
  911.      Flags        -hsync -vsync
  912.    EndMode
  913.  
  914. # 1024x768@76Hz Non-Interlaced mode (doesn't sync; not expected to)
  915.    Mode "1024x768.85"    
  916.      DotClock     85     
  917.      HTimings     1024 1032 1152 1360    
  918.      VTimings     768  784  787  823 
  919.      Flags        +hsync -vsync
  920.    EndMode
  921.  
  922. # from Nick Sayer (same as Sun screens) 
  923. # nice
  924.    Mode "1152x900i"    
  925.      DotClock     65 
  926.      HTimings     1152 1200 1296 1496  
  927.      VTimings     900 905 916 950 
  928.      Flags        Interlace
  929.    EndMode
  930.  
  931. #   ModeLine "1152x900.77"  77 1152 1200 1296 1496  900 905 916 950
  932. #   ModeLine "1152x900.75"  75 1152 1200 1296 1496  900 905 916 950
  933.  
  934. #  bad flicker
  935.    Mode "1152x900.72"  
  936.      DotClock     72 
  937.      HTimings     1152 1200 1296 1496  
  938.      VTimings     900 905 916 950
  939.    EndMode
  940.  
  941.  
  942. EndSection # monitor 2
  943.  
  944. # **********************************************************************
  945. # Graphics device section
  946. # **********************************************************************
  947.  
  948. # Any number of graphics device sections may be present
  949.  
  950. Section "Device"
  951.     # SVGA WD90c24a2 in Twinhead Slimnote with simultaneous display
  952.     Identifier    "WD90C24A2"
  953.     VendorName    "Western Digital"
  954.     BoardName    "RocketChip"
  955. #    Chipset     "wd90c31" # comment out for use with XFree86 3.1.2 or later
  956.                            # uncomment for use with XFree86 3.1.1 or before
  957.  
  958. #### begin first config with lcd only display (unused) 
  959. ##    VideoRam     512
  960. ##    Clocks      28.29  28.32  28.30  28.29  28.30  28.32  28.29  28.30      
  961. ##    Clocks      28.30  28.31  28.29  28.30  28.30  28.31  28.30  28.30
  962. ##    Clocks      49.79
  963. #### end first config with lcd only display
  964.  
  965. #### begin second config with crt/lcd display: orig. XF86_SVGA (pre-3.1.2)
  966. ##     VideoRam     1024 # leave commented out
  967. ##        Clocks  25.15  28.32  64.97  35.96  25.15  28.30  64.92  36.00 
  968. ##        Clocks  25.15  28.30  64.92  35.96  25.17  28.41  64.97  35.96 
  969. ##        Clocks  44.26
  970. #### end second config with crt/lcd display
  971.  
  972. ### begin third config with crt/lcd: new XF86_SVGA (3.1.2 or later)
  973. #
  974. # Brad Bosch's server allows one to *program* the dotclocks.  This 
  975. # makes it possible to achieve much better refresh rates and resolutions 
  976. # that were previously not possible. See README.WstDig for more details.
  977. #
  978. # (instructions here are Brad's, for his modified pvga1 driver)
  979. #
  980. # The VRAM clock (Mclk) is adjusted by adding ONE of the 
  981. # following option lines:
  982. # Option      "slow_dram" # Set Mclk to 47.429 MHz
  983.   Option      "med_dram"  # Set Mclk to 49.219 MHz
  984. # Option      "fast_dram" # Set Mclk to 55.035 MHz
  985. #
  986. # The default is to leave Mclk as the BIOS sets it.  This is 44.297 on
  987. # our (Twinhead) systems.  There is also a faster clock than 55 MHz, 
  988. # but it caused display bit errors on my system.  I was surprised the 
  989. # 55 MHz clock worked.
  990. #
  991. # To use dotclocks above 60, it appears necessary to use the "fast_dram"
  992. # option.  This makes 1024x768NI@72Hz possible.  The 85 MHz clock
  993. # still does not appear to work. It is beyond the design limits of 
  994. # the WD90C24 series.  The databook states that the 65 MHz clock
  995. # MClk values of 44.297 are the maximum the WD90C24A2 is designed for. 
  996. # In addition to possible risks to the hardware, memory errors sometimes
  997. # occur when using fast_dram.  If you see corrupted pixels, try a slower
  998. # setting.
  999. #
  1000. # The second and fourth group of 4 clocks are now adjustable.  That is,
  1001. # clocks 5,6,7,8 and 13,14,15,16 (counting from 1).  These clocks are
  1002. # set by the Clocks line.  Be sure to adjust the 17th (last) clock if
  1003. # you change Mclk via above.  Here is a sample clocks line with more
  1004. # unique clocks defined.  The NON-programable clocks (1-4 and 9-12) MUST
  1005. # be set as indicated here.
  1006. #
  1007. # These clocks chosen for 800x600NI@72Hz and 1024x768NI modelines 
  1008. # and circumvent "snow" problems (Darin):
  1009. #
  1010.   Clocks 25.175 28.322 65     36     # These clocks are *not* programmable
  1011.   Clocks 29.979 77.408 62.195 59.957 # these are programmable
  1012.   Clocks 31.5   35.501 75.166 50.114 # these are *not* programmable
  1013.   Clocks 39.822 72.038 44.744 65.1   # these are programmable
  1014.   Clocks 49.219                      # Change this if you change Mclk 
  1015.                                      #   above.
  1016. #
  1017. # You can program the clocks in increments of .447443 MHz.  It will warn 
  1018. # you and adjust to the nearest increment if you use a clock which does not 
  1019. # fit this formula.  Clocks 1-4 and 9-12 (fixed clocks) are not constrained 
  1020. # to this multiple, which is why I didn't make them programable (so they 
  1021. # could be the exact standard clocks).
  1022. #
  1023. ### end third config
  1024.  
  1025. EndSection
  1026.  
  1027.  
  1028. # **********************************************************************
  1029. # Screen sections
  1030. # **********************************************************************
  1031.  
  1032. # The colour SVGA server
  1033.  
  1034. # Use ctrl_alt_kp(+) and ctrl_alt_kp(-) to flip through these modes
  1035. # without restarting X. 
  1036.  
  1037. Section "Screen"
  1038.  
  1039.     Driver    "svga"
  1040.     Device    "WD90C24A2"
  1041. #    Monitor    "LCD Screen"
  1042.     Monitor     "CRT&LCD"
  1043.     Subsection "Display"
  1044.         Depth        8
  1045. #
  1046. # Modes must be one line: format below is for documentation only
  1047. #
  1048. #   Modes     "640x480"     # works: Use for LCD/CRT
  1049. #   Modes     "640x480.28"  # works: Use for LCD only (not needed)
  1050. #   Modes     "800x600.36"  # works but flicker
  1051. #   Modes     "800x600.50"  # works well - no flicker
  1052. #   Modes     "1024x768i"   # works well - clear focus - no flicker
  1053. #   Modes     "1024x768.65" # snow problem
  1054. #   Modes     "1024x768.62" # works but flicker
  1055. #   Modes     "1024x768.60" # works but flicker
  1056. #   Modes     "1024x768.72" # wavy unless use "fast_dram" but then works
  1057. #   Modes     "1024x768.75" # wavy unless use "fast_dram" but then works
  1058. #   Modes     "1024x768.85" # doesn't sync; polarities don't help
  1059. #   Modes     "1152x900i"   # very nice
  1060. #   Modes     "1152x900.77" # 54 Hz - flicker 
  1061.  
  1062.  
  1063. # Following line is valid "Modes" line:
  1064.  
  1065.     Modes "640x480" "800x600.36" "1024x768i" 
  1066.        # "800x600.50" "1024x768.60" "1024x768.72" "1152x900i" "1152x900.72"
  1067.        # commented out to avoid monitor "toast"
  1068.  
  1069.         ViewPort    0 0
  1070. #        Virtual     1024 768    # Virtual for CRT only use
  1071.                  # comment out if you want 800x600 virtual
  1072.                  # on LCD.  uncomment if you want 640x480 LCD.
  1073.     EndSubsection
  1074.  
  1075. EndSection
  1076.  
  1077. ######   end XF86Config for 3.1.2  ############################################
  1078.  
  1079.  
  1080.  
  1081. #          ****************** end of mini-HOWTO **********************
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.