home *** CD-ROM | disk | FTP | other *** search
/ Caldera Network Desktop 1.0 / caldera-network-desktop-1.0.bin / doc / HOWTO / mini / X-Notebook < prev    next >
Text File  |  1995-08-13  |  46KB  |  1,093 lines

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