[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dualscan question (Long!)



This is a repost of something I found under a newsgroup.  I didn't ask 
the author to repost, so I hope it's okay.  Sorry about the length.


The main drawback of dual scan, on both thinkpads and other machines, is that dual scan splits the video memory in half and stores duplicates of the image in each half (if you have the WD90C24[A,A2] chipset, which is the most commonly used -- others preva
lent are the C&T 65545 and Cirrus 6440). 
This is a pain when you try to use an external monitor at resolutions higher than 800x600x256.  Some machines have workaround programs (Twinhead 5100, HP 4000, Sharp PC-8700/8900, Altima Virage II) that you run under DOS, then boot linux.  With other dual
 scan machines, you are stuck effectively with only 512k of video ram.  The fixes for Thinkpads don't work for other machines as far as we know.

Here's a HOWTO that I wrote on this subject.  It's always on the web at  http://www.castle.net/~darin



               author: Darin Ernst (dernst@pppl.gov)     

                      version: 0.91  5/16/95


Thanks to all those who have emailed me and posted messages on this topic!


Purpose: 

To document trials and tribulations in getting X to run on the most popular video chipset used in recent notebook computers.  This document gives instructions for configuring XFree86 3.1 on notebooks with the WD90C24A2 chipset.  It also describes known bu
gs and workarounds if available.  The content comes from communication with other users and my own experience, rather than looking at code or reading manuals.


The problems with Xfree86 3.1 XF86_SVGA and the WD90C24A2 chipset are:

1) Does XFree86 3.1.1 have a driver available?

   There is really no driver available for this chipset.

2) How can I use the XF86_SVGA server then?

   Most of us fake it by selecting the WD90C31 accelerated chipset
   using the XF86_SVGA server.  X -probeonly detects the WD90C24,
   but this is not accelerated.  The WD90C24A and A2 are accelerated, 
   and are sort of compatible with the WD90C31.  
  
   Most notebooks of 1994 use the WD90C24A2 with 1mb of video ram on the 
   local bus, and are capable of 1024x768x256 colors under Windows 3.1.  
   Some are capable of 65k colors at 640x480 using the Western Digital 
   windows driver wd2464_h.drv provided on an OEM disk.  Other 
   very common chipsets not covered here are the Cirrus Logic 6440,
   which is now fully supported by XFree86 3.1.1, and the 
   Chips and Technologies 65545, which appears in most Pentium 
   notebooks, especially those using the PCI bus.   This chip  is 
   partially supported with non-accelerated drivers (for the 65540). 

3) Why do I only see 512k of VRAM?

   A problem persists with the implementations of dual scan displays, 
   as well as with simultaneous display. Despite the fact that Windows 3.1 
   is able to use the full 1mb of video RAM to display externally 
   at 1024x768x256 colors, XF86_SVGA cannot, since it cannot use more 
   than 512k of the available 1024k.  The best one can do on an external
   monitor with the current XF86_SVGA server is 800x600x256. 
   However, workarounds exist for certain notebooks, such as the Twinhead 5 
   series and IBM Thinkpads.

   The problem is that 512k is what X-probeonly detects, and that is all
   you get.  If you try to hand-enter 1024k, you will get duplicate images
   on the upper and lower halves of the screen.  Others (brad@npr.legent.com) 
   have reported that the Western Digital databook seems to confirm
   that half the memory (one 256kx16bit bank) is reserved for a "frame buffer" 
   when a 16 bit dual-panel color STN display is used OR when simultaneous 
   display mode is selected. 

   Comparisons on active and passive versions of the AST Ascentia 
   (ewagner@imssys.imssys.com Evan Wagner) confirm that the 512k problem 
   does not rear its head on the active matrix implementation. 

   I  observed that other things change (such as dotclocks) when
   the external display is selected alone, as opposed to simultaneous
   or internal display on my Twinhead 5100S (dual scan, A2 chip).

   The Twinhead 5100 (aka Twinhead Slimnote 5, HP Omnibook 4000C, 
   Sharp PC-8700/8900, Altima Virage II) is capable of using the full 
   1mb of memory after one runs a DOS program called "CHGVRAM.EXE", which 
   is available from the Twinhead BBS.  This program was written by 
   Ferdy Kuo of Twinhead Corp., and is copyrighted. The code is only 
   available from the Twinhead BBS as an executable. I would love to 
   give you the BBS number, but I don't want to assume responsibility
   for misuse of it.

   To use this program for Linux/X, boot DOS.  Then hit alt-F5 until 
   the display is set to external-only.  Then run CHGVRAM.EXE, which 
   will display a message something like "Video RAM changed to 1 MB".  
   Next, boot linux using the Linux Loader, lodlin15, which comes
   in the /root directory of Slackware 2.1.0.  The command is
   simply "c:> linux".  Linux will then boot normally.  Then
   use "startx" to start X-Windows.  The full 1mb of video RAM
   will be used by XFree86.  I stick this all into a batch file
   called "linux.bat".

   Possible idea (haven't tried this yet):  Run CHGVRAM.EXE from 
   a dosemu session within linux.

   **** Fixes for the IBM Thinkpad (this could be the ANSWER!) ****

   Michael Steiner has written a c program that runs under Linux and 
   allows one to set the video RAM of the WD90C24 family to either
   512k or 1024k.  This program seems to work on the Twinhead also,
   but I have yet to verify that it works for using an external 
   monitor.  If you test it on various machines, please email me.

   /* T P D U A L S C A N . C

    Author: Michael Steiner
            <steiner@acm.org> <sti@zurich.ibm.com>
            http://www.zurich.ibm.com/pub/sti/www/info.html

   This program allows you to set videoram for dualscan equipped thinkpads
   (at least for the 750Cs but probably also for others) to allow running
   XFree86 without patching it. (normally you got all twice if the upper 512K
   of videoram are not disabled)
   */
     
   I have tried this on the Twinhead 5100S and it seems to work, but
   I have not been able to test it on an external monitor.

   Michael also makes available (on his web page) a patched XF86_SVGA
   server!

4) How can I make my LCD screen sync correctly on starting/exiting X?

   There is a bug that results in scrambled virtual consoles upon
   exiting X.  The cure for this is to reset the video modes in some way.
   Many notebooks have a hot-key for lcd, crt, or simultaneous display.
   Cycling this hot-key restores the virtual consoles.  For others,
   close and open the cover, or suspend/resume.  This problem does
   not occur when using the external display.

5) How can I fix the weird patches-of-black problem?

   There is a problem using white window backgrounds.  When windows
   are scrolled with white bg, the scrolled part goes into reverse
   video.  The cure for this is not to use white backgrounds.  Off-whites
   are fine.  This can be set as a default for all users in 
   /var/X11R6/lib/xinit/.Xresources with the following line (i.e., for xterm):

   XTerm*Background:               cornsilk  

6) Should I configure X on the internal or external monitor first?
 
   The dotclocks are different as detected by X-probeonly when the
   lcd is selected versus when the crt is selected as the display.  I 
   suggest using an external monitor while configuring X so that
   all the necessary dotclocks appear.  Otherwise, one gets
   17 basically identical clocks that are useful only for 640x480.

7) My screen looks ok except for these funny little patterns... 

   The lcd display looks different depending on whether or not
   simultaneous display is turned on (waves, flicker, dim, patterns). I
   suspect this is due to a lack of termination of the external 
   monitor connection when the external monitor is not plugged in. The
   fix is to set the display to lcd-only.

8) How do I set up XF86Config (example for Twinhead 5100S dualscan below)?
    
    aa) read /var/X11R6/lib/doc/README.Config, VideoModes.doc
    a)  Select XF86_SVGA server with WD90C31 chipset.
    b)  Select "generic monitor" with the 25 Mhz dotclock and the 
        standard 640x480 VESA modeline.  Begin with a video 
        bandwidth around 30 Mhz.
    c)  X -probeonly >& /tmp/x.out with external monitor connected
        and selected (be careful with fixed frequency, non-multisync
        monitors).
    d)  Edit XF86Config and paste in the 17 dotclocks found in /tmp/x.out
        put one of the 25-28 Mhz dotclocks in place of the first
        number in the VESA 640x480 modeline.  This should work 
        for the LCD display to give 640x480x256. Now select the lcd
        display.
    e)  Go to step (c).  Repeat, this time pasting in the HorizSync
        frequency or the VertRefresh frequency.  Go to step
        (c) again and repeat until both of these and the bandwidth
        are filled in.
    f)  Now the lcd display should work.  
    g)  To configure the external monitor, start with the standard
        VESA modelines that match the dotclocks you have.  I got
        four basic dotclocks with a lot of nearby duplicates:

        28.32 => 640x480 @63 Hz NI VESA
        36.00 => 800x600 @56 Hz NI VESA
        44.26 => 1024x768i @43.5 Hz Interlaced 
        64.97 => 1024x768 @ 60 Hz NI VESA

	Of course, one cannot do the 1024 modes because without a 
        workaround, as one can only use 512k of video ram of the available 
        1024k VRAM as discussed above.  

        I think it is possible to get an 800x600 mode with very high
        refresh rate.  This depends on your monitor.

    h)  Send me info on what you find and post it to newsgroups
        so I can develop this mini-HOWTO.      


9) How do I get more info? 

   Useful (?) web sites and email addresses

	This mini-HOWTO (latest version) and other links on 
        the WD90C24A2

            http://www.castle.net/~darin/

	Western Digital Web Site
            http://www.wdc.com/

	IBM Thinkpad video patches 
            http://www.zurich.ibm.com/pub/sti/www/info.html   
            (seem to have disappeared - but I have some
             where this HOWTO is stored)
	
	Twinhead Computer Corp. 1-800-995-8946
            to ask for BBS #


As a shortcut to configuration, look into the program vgaset.  This allows you to optimize the timings for each monitor interactively and dynamically within X.

Hope this is useful.  I also hope that eventually someone gets a real driver going for the WD90C24A2 chipset so commonly used.  I would be willing to help a little if I can.  It would also be desireable to make up a patch for XFree86 3.1.1 to perform the 
same function as does the DOS program CHGVRAM.EXE, or test tpdualscan.c on notebooks other than Thinkpads.


Darin Ernst
dernst@pppl.gov


=========================================================================== /var/X11R6/lib/XF86Config
=========================================================================== # $XFree86: xc/programs/Xserver/hw/xfree86/XF86Conf.cpp,v 3.6 1994/09/26 15:30:19 dawes Exp $ #
# Copyright (c) 1994 by The XFree86 Project, Inc.
#
# ********************************************************************** # Refer to the XF86Config(4/5) man page for details about the format of # this file. This man page is installed as /usr/X11R6/man/man5/XF86Config.5x # *******************************
***************************************

# ********************************************************************** # Files section.  This allows default font and rgb paths to be set # **********************************************************************

Section "Files"

    RgbPath	"/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together), # as well as specifying multiple comma-separated entries in one FontPath # command (or a combination of both methods)

    FontPath	"/usr/X11R6/lib/X11/fonts/misc/" #    XCOMM    FontPath	"/usr/X11R6/lib/X11/fonts/Type1/" #    XCOMM    FontPath	"/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath	"/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath	"/usr/X11R6/lib/X11/fonts/100dpi/"

EndSection

# ********************************************************************** # Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is # received.  This may leave the console in an unusable state, but may # provide a better stack trace in the core dump to aid in debugging

#    NoTrapSignals

# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence

#    DontZap

EndSection

# ********************************************************************** # Input devices
# **********************************************************************

# ********************************************************************** # Keyboard section
# **********************************************************************

Section "Keyboard"

    Protocol	"Standard"

# when using XQUEUE, comment out the above line, and uncomment the # following line

#    Protocol	"Xqueue"

    AutoRepeat	500 5
    ServerNumLock

# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1))
    Xleds      1 2 3

# To set the LeftAlt to Meta, RightAlt key to ModeShift, # RightCtl key to Compose, and ScrollLock key to ModeLock:

#    LeftAlt     Meta
#    RightAlt    ModeShift
#    RightCtl    Compose
#    ScrollLock  ModeLock

EndSection


# ********************************************************************** # Pointer section
# **********************************************************************

Section "Pointer"

    Protocol	"PS/2"
    Device	"/dev/mouse"

# When using XQUEUE, comment out the above two lines, and uncomment # the following line.

#    Protocol	"Xqueue"

# Baudrate and SampleRate are only for some Logitech mice

    BaudRate	9600
    SampleRate	150

# Emulate3Buttons is an option for 2-button Microsoft mice

    Emulate3Buttons

# ChordMiddle is an option for some 3-button Logitech mice

#    ChordMiddle

EndSection


# ********************************************************************** # Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

    Identifier	"LCD Screen"
    VendorName	"Sharp"
    ModelName	"Unknown"

# Bandwidth is in MHz unless units are specified

    Bandwidth	90 # changed from 29

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a # comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S # USER MANUAL FOR THE CORRECT NUMBERS.

    HorizSync   35.36  # X -probeonly says  

#    HorizSync	30-64         # multisync #    HorizSync	31.5, 35.2    # multiple fixed sync frequencies #    HorizSync	15-25, 30-50  # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a # comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S # USER MANUAL FOR THE CORRECT NUMBERS.

    VertRefresh 67.36  # X -probeonly says

#    VertRefresh	50-100        # multisync #    VertRefresh	60, 65        # multiple fixed sync frequencies #    VertRefresh	40-50, 80-100 # multiple ranges of sync frequencies

# Modes can be specified in two formats.  A compact one-line format, or # a multi-line format.

# A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz) # These two are equivalent

#    ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525

    Mode "640x480"
        DotClock	28.29 #  25.175
        HTimings	640 664 760 800
        VTimings	480 491 493 525
    EndMode

# These two are equivalent

#    ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace

#    Mode "1024x768i"
#        DotClock	45
#        HTimings	1024 1048 1208 1264
#        VTimings	768 776 784 817
#        Flags		"Interlace"
#    EndMode

EndSection

Section "Monitor"  #------------------------- 2nd monitor section

    Identifier	"DX17F"
    VendorName	"MAG"
    ModelName	"DX17F"
    Bandwidth	100           # changed; from manual
    HorizSync	30-64         # multisync; also from manual
    VertRefresh	50-100        # multisync; also from manual

# A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz)

   ModeLine "640x480" 28.32 640 664 760 800 480 491 493 525

# VESA 1024x768@60Hz Non-Interlaced mode # Horizontal Sync = 48.4kHz
# Timing: H=(0.12us, 2.22us, 2.58us) V=(0.06ms, 0.12ms, 0.60ms)

   ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync

# 1024x768  Interlaced mode

   ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace

# VESA 800x600@56Hz Non-Interlaced mode # Horizontal Sync = 35.1kHz
# Timing: H=(0.67us, 2.00us, 3.56us) V=(0.03ms, 0.063ms, 0.70ms) #
#             name        clock   horizontal timing     vertical timing      flags
   ModeLine "800x600"     36      800  824  896 1024    600  601  603  625

EndSection

############################################################################### #
# OFFICIAL VESA Monitor timings + IBM Standards + other generic modes - #                          TRY THESE FIRST # Contributor:          Thomas Roell [roell@xinside.com] # Contributor:		David Wexelblat [dwex@xfree86.org] # Last Edit Date:       10/7/93
#
#  Mode       Refresh  Hor. Sync  Dot-clock  Interlaced?  VESA?
#  ------------------------------------------------------------ #  640x480     60Hz      31.5k     25.175M       No         No #  640x480     60Hz      31.5k     25.175M       No         No #  640x480     63Hz      32.8k     28.322M       No         No # 
 640x480     70Hz      36.5k     31.5M         No         No #  640x480     72Hz      37.9k     31.5M         No        Yes #  800x600     56Hz      35.1k     36.0M         No        Yes #  800x600     56Hz      35.4k     36.0M         No         No #  80
0x600     60Hz      37.9k     40.0M         No        Yes #  800x600     60Hz      37.9k     40.0M         No         No #  800x600     72Hz      48.0k     50.0M         No        Yes #  1024x768i   43.5Hz    35.5k     44.9M        Yes         No #  1024x
768    60Hz      48.4k     65.0M         No        Yes #  1024x768    60Hz      48.4k     62.0M         No         No #  1024x768    70Hz      56.5k     75.0M         No        Yes #  1024x768    70Hz      56.25k    72.0M         No         No #  1024x768
    76Hz      62.5k     85.0M         No         No #  1280x1024i  44Hz      51kHz     80.0M        Yes         No #  1280x1024i  44Hz      47.6k     75.0M        Yes         No #  1280x1024   59Hz      63.6k    110.0M         No         No #  1280x1024  
 61Hz      64.24k   110.0M         No         No #  1280x1024   74Hz      78.85k   135.0M         No         No #
############################################################################### #
# 640x480@60Hz Non-Interlaced mode
# Horizontal Sync = 31.5kHz
# Timing: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms) #
# name        clock   horizontal timing     vertical timing      flags # "640x480"     25.175  640  664  760  800    480  491  493  525 #
# Alternate 640x480@60Hz Non-Interlaced mode # Horizontal Sync = 31.5kHz
# Timing: H=(1.27us, 3.81us, 1.27us) V=(0.32ms, 0.06ms, 1.05ms) #
# name        clock   horizontal timing     vertical timing      flags # "640x480"     25.175  640  672  768  800    480  490  492  525 #
# 640x480@63Hz Non-Interlaced mode (non-standard) # Horizontal Sync = 32.8kHz
# Timing: H=(1.41us, 1.41us, 5.08us) V=(0.24ms, 0.092ms, 0.92ms) #
# name        clock   horizontal timing     vertical timing      flags # "640x480"     28.322  640  680  720  864    480  488  491  521 #
# 640x480@70Hz Non-Interlaced mode (non-standard) # Horizontal Sync = 36.5kHz
# Timing: H=(1.27us, 1.27us, 4.57us) V=(0.22ms, 0.082ms, 0.82ms) #
# name        clock   horizontal timing     vertical timing      flags # "640x480"     31.5    640  680  720  864    480  488  491  521 #
# VESA 640x480@72Hz Non-Interlaced mode # Horizontal Sync = 37.9kHz
# Timing: H=(0.76us, 1.27us, 4.06us) V=(0.24ms, 0.079ms, 0.74ms) #
# name        clock   horizontal timing     vertical timing      flags # "640x480"     31.5    640  664  704  832    480  489  492  520 #
# VESA 800x600@56Hz Non-Interlaced mode # Horizontal Sync = 35.1kHz
# Timing: H=(0.67us, 2.00us, 3.56us) V=(0.03ms, 0.063ms, 0.70ms) #
# name        clock   horizontal timing     vertical timing      flags # "800x600"     36      800  824  896 1024    600  601  603  625 #
# Alternate 800x600@56Hz Non-Interlaced mode # Horizontal Sunc = 35.4kHz
# Timing: H=(0.89us, 4.00us, 1.11us) V=(0.11ms, 0.057ms, 0.79ms) #
# name        clock   horizontal timing     vertical timing      flags # "800x600"     36      800  832  976 1016    600  604  606  634 #
# VESA 800x600@60Hz Non-Interlaced mode # Horizontal Sync = 37.9kHz
# Timing: H=(1.00us, 3.20us, 2.20us) V=(0.03ms, 0.106ms, 0.61ms) #
# name        clock   horizontal timing     vertical timing      flags # "800x600"     40      800  840  968 1056    600  601  605  628 +hsync +vsync #
# Alternate 800x600@60Hz Non-Interlaced mode # Horizontal Sync = 37.9kHz
# Timing: H=(1.20us, 3.80us, 1.40us) V=(0.13ms, 0.053ms, 0.69ms) #
# name        clock   horizontal timing     vertical timing      flags # "800x600"     40      800 848 1000 1056     600  605  607  633 #
# VESA 800x600@72Hz Non-Interlaced mode # Horizontal Sync = 48kHz
# Timing: H=(1.12us, 2.40us, 1.28us) V=(0.77ms, 0.13ms, 0.48ms) #
# name        clock   horizontal timing     vertical timing      flags # "800x600"     50      800  856  976 1040    600  637  643  666  +hsync +vsync #
# 1024x768@43.5Hz, Interlaced mode (8514/A standard) # Horizontal Sync = 35.5kHz
# Timing: H=(0.54us, 1.34us, 1.25us) V=(0.23ms, 0.23ms, 0.93ms) #
# name        clock   horizontal timing     vertical timing      flags # "1024x768i"   44.9   1024 1048 1208 1264    768  776  784  817  Interlace #
# VESA 1024x768@60Hz Non-Interlaced mode # Horizontal Sync = 48.4kHz
# Timing: H=(0.12us, 2.22us, 2.58us) V=(0.06ms, 0.12ms, 0.60ms) #
# name        clock   horizontal timing     vertical timing      flags # "1024x768"    65     1024 1032 1176 1344    768  771  777  806 -hsync -vsync #
# 1024x768@60Hz Non-Interlaced mode (non-standard dot-clock) # Horizontal Sync = 48.4kHz
# Timing: H=(0.65us, 2.84us, 0.65us) V=(0.12ms, 0.041ms, 0.66ms) #
# name        clock   horizontal timing     vertical timing      flags # "1024x768"    62     1024 1064 1240 1280   768  774  776  808 #
# VESA 1024x768@70Hz Non-Interlaced mode # Horizontal Sync=56.5kHz
# Timing: H=(0.32us, 1.81us, 1.92us) V=(0.05ms, 0.14ms, 0.51ms) #
# name        clock   horizontal timing     vertical timing      flags # "1024x768"    75     1024 1048 1184 1328    768  771  777  806 -hsync -vsync #
# 1024x768@70Hz Non-Interlaced mode (non-standard dot-clock) # Horizontal Sync=56.25kHz
# Timing: H=(0.44us, 1.89us, 1.22us) V=(0.036ms, 0.11ms, 0.53ms) #
# name        clock   horizontal timing     vertical timing      flags # "1024x768"    72     1024 1056 1192 1280    768  770  776 806   -hsync -vsync #
# 1024x768@76Hz Non-Interlaced mode
# Horizontal Sync=62.5kHz
# Timing: H=(0.09us, 1.41us, 2.45us) V=(0.09ms, 0.048ms, 0.62ms) #
# name        clock   horizontal timing     vertical timing      flags # "1024x768"    85     1024 1032 1152 1360    768  784  787  823 #
# 1280x1024@44Hz, Interlaced mode
# Horizontal Sync=51kHz
# Timing: H=(0.02us, 2.7us, 0.70us) V=(0.02ms, 0.24ms, 2.51ms) #
# name        clock   horizontal timing     vertical timing      flags # "1280x1024i"  80     1280 1296 1512 1568   1024 1025 1037 1165  Interlace #
# Alternate 1280x1024@44Hz, Interlaced mode (non-standard dot-clock) # Horizontal Sync=47.6kHz
# Timing: H=(0.42us, 2.88us, 0.64us) V=(0.08ms, 0.12ms, 0.96ms) #
# name        clock   horizontal timing     vertical timing      flags # "1280x1024i"  75     1280 1312 1528 1576   1024 1028 1034 1080  Interlace #
# 1280x1024@59Hz Non-Interlaced mode (non-standard) # Horizontal Sync=63.6kHz
# Timing: H=(0.36us, 1.45us, 2.25us) V=(0.08ms, 0.11ms, 0.65ms) #
# name        clock   horizontal timing     vertical timing      flags # "1280x1024"  110     1280 1320 1480 1728   1024 1029 1036 1077 #
# 1280x1024@61Hz, Non-Interlaced mode
# Horizontal Sync=64.25kHz
# Timing: H=(0.44us, 1.67us, 1.82us) V=(0.02ms, 0.05ms, 0.41ms) #
# name        clock   horizontal timing     vertical timing      flags # "1280x1024"  110     1280 1328 1512 1712   1024 1025 1028 1054 #
# 1280x1024@74Hz, Non-Interlaced mode
# Horizontal Sync=78.85kHz
# Timing: H=(0.24us, 1.07us, 1.90us) V=(0.04ms, 0.04ms, 0.43ms) #
# name        clock   horizontal timing     vertical timing      flags # "1280x1024"  135     1280 1312 1456 1712   1024 1027 1030 1064 ###############################################################################



# ********************************************************************** # Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

#Section "Device"
#    Identifier	"Generic VGA"
#    VendorName	"Unknown"
#    BoardName	"Unknown"
#    Chipset	"generic"
#    VideoRam	256
#    Clocks	25.2 28.3
#EndSection

Section "Device"
    # SVGA WD90c24a2 in Twinhead Slimnote with simultaneous display
    Identifier	"WD90C24A2"
    VendorName	"Western Digital"
    BoardName	"RocketChip"
    Chipset     "wd90c31"

# begin first config with lcd only display #    VideoRam     512
#    Clocks      28.29  28.32  28.30  28.29  28.30  28.32  28.29  28.30 #    Clocks      28.30  28.31  28.29  28.30  28.30  28.31  28.30  28.30 #    Clocks      49.79
# end first config with lcd only display

# begin second config with crt only display; let it detect VRAM #     VideoRam     1024
     Clocks  25.15  28.32  64.97  35.96  25.15  28.30  64.92  36.00
     Clocks  25.15  28.30  64.92  35.96  25.17  28.41  64.97  35.96
     Clocks  44.26
# end second config with crt only display

EndSection




# ********************************************************************** # Screen sections
# **********************************************************************

# The colour SVGA server

Section "Screen"
    Driver	"svga"
    Device	"WD90C24A2"
#    Monitor	"LCD Screen"
    Monitor     "DX17F"
    Subsection "Display"
        Depth	    8
        Modes	    "640x480"  "800x600"  "1024x768" # "1024x768i"
        ViewPort    0 0
#        Virtual     1024 768    
    EndSubsection
EndSection

# The 16-colour VGA server

#Section "Screen"
#    Driver	"vga16"
#    Device	"Generic VGA"
#    Monitor	"Generic Monitor"
#    Subsection "Display"
#        Modes	    "640x480"
#        ViewPort    0 0
#        Virtual     800 600
#    EndSubsection
#EndSection

# The Mono server

#Section "Screen"
#    Driver	"vga2"
#    Device	"WD90C24A2"
#    Monitor	"LCD Screen"
#    Subsection "Display"
#        Modes	    "640x480"
#        ViewPort    0 0
#        Virtual     1024 768
#    EndSubsection
#EndSection


see ya.  --Conrad 

Conrad Albrecht-Buehler      Northwestern University     conrada-b@nwu.edu