##########################################################################
# Sample XF86Config file for NVIDIA XFree86 drivers.
#
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
#
# Be sure to replace the monitor values with correct values for your
# monitor!
##########################################################################


Section "Files"

    RgbPath	"/usr/X11R6/lib/X11/rgb"
    FontPath   "unix/:-1"

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
    # This allows clients to receive this key event.
    #DontZap

    # Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
    # sequences.  This allows clients to receive these key events.
    #DontZoom

    # This  allows  the  server  to start up even if the
    # mouse device can't be opened/initialised.
    AllowMouseOpenFail

EndSection


##########################################################################
# Input devices
##########################################################################

#
# Keyboard section
#
Section "InputDevice"

    Identifier "Keyboard1"
    Driver     "Keyboard"
    Option     "AutoRepeat"  "250 30"

    Option "XkbRules"  "xfree86"
    Option "XkbModel"  "pc105"
    Option "XkbLayout" "us"

EndSection


#
# Pointer section
#
Section "InputDevice"

    Identifier  "Mouse1"
    Driver      "mouse"
    Option      "Protocol"    "IMPS/2"
    Option      "Device"      "/dev/psaux"

EndSection


##########################################################################
# Module section
##########################################################################

Section "Module"

    Load        "dbe"

    # Load the glx module.
    Load	"glx"

    Load        "extmod"

    Load	"type1"
    Load	"freetype"
EndSection


##########################################################################
# Monitor section
##########################################################################

Section "Monitor"

    Identifier "MyMonitor"
    VendorName "Mitsubisi"
    ModelName  "Diamond Plus 120u"

    # be sure to replace these values with values appropriate for your
    # monitor!
    HorizSync  31-82
    VertRefresh 55-120

    # 3840x2400 @ 12Hz for IBM's T221 FlatPanel
    Modeline "3840x2400" 148.0 3840 3944 4328 4816 2400 2401 2404 2418 

EndSection


##########################################################################
# Graphics device section(s)
##########################################################################

Section "Device"
    Identifier  "NV AGP"
    VendorName  "nvidia"
    Driver   "nvidia"
    # update this with the PCI id of your card.  Consult the output
    # of the 'lspci' command.  The BusID is usually optional when
    # only using one graphics card.
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier "NV PCI"
    VendorName "nvidia"
    Driver "nvidia"
    # update this with the PCI id of your card.  Consult the output
    # of the 'lspci' command.  The BusID is usually optional when
    # only using one graphics card.
    BusID       "PCI:0:13:0"
EndSection

Section "Device"
    Identifier "NV AGP TwinView"
    VendorName "nvidia"
    Driver "nvidia"
    # update this with the PCI id of your card.  Consult the output
    # of the 'lspci' command. The  BusID is usually optional when
    # only using one graphics card.
    BusID       "PCI:1:0:0"

    # sample twinview setup
    Option "TwinView"
    # be sure to replace the HorizSync and VertRefresh with correct values
    # for your monitor!  
    Option "SecondMonitorHorizSync"   "31-82"
    Option "SecondMonitorVertRefresh" "55-120"
    Option "TwinViewOrientation"      "RightOf"
    Option "MetaModes"                "1280x1024,1280x1024; 1024x768,1024x768"
    Option "ConnectedMonitor"         "crt,crt"
EndSection


##########################################################################
# Screen sections
##########################################################################

#
# screen section for an nvidia AGP card
#
Section "Screen"
    Identifier "Screen AGP"
    Device      "NV AGP"
    Monitor     "MyMonitor"
    DefaultColorDepth 24
    Subsection "Display"
        Depth       8
        Modes       "1280x1024" "1024x768" "800x600" "640x400"
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection

EndSection


#
# screen section for an nvidia PCI card
#
Section "Screen"
    Identifier "Screen PCI"
    Device      "NV PCI"
    Monitor     "MyMonitor"
    DefaultColorDepth 24
    Subsection "Display"
        Depth       8
        Modes       "1280x1024" "1024x768" "800x600" "640x400"
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
EndSection

#
# screen section for an nvidia AGP TwinView card
# (look at the appropriate Device section)
#
Section "Screen"
    Identifier "Screen AGP TwinView"
    Device "NV AGP TwinView"
    Monitor "MyMonitor"
    DefaultColorDepth 24
    Subsection "Display"
        Depth       8
        Modes       "1280x1024" "1024x768" "800x600" "640x400"
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
EndSection


##########################################################################
# ServerLayout sections
# (invoke using the '-layout' option of 'startx'.
##########################################################################

#
# just one agp card
#
Section "ServerLayout"
    Identifier  "AGP"
    Screen      "Screen AGP"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

#
# just one pci card
#
Section "ServerLayout"
    Identifier  "PCI"
    Screen      "Screen PCI"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

#
# 2 cards, non twinview
#
Section "ServerLayout"
    Identifier  "Both"
    Screen      "Screen AGP"
    Screen      "Screen PCI" LeftOf "Screen AGP"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

#
# just one agp twinview card
#
Section "ServerLayout"
    Identifier  "AGPTwinView"
    Screen      "Screen AGP TwinView"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

#
# 2 cards, one agp twinview and one pci (3 monitors total)
#
Section "ServerLayout"
    Identifier  "BothTwinView"
    Screen      "Screen AGP TwinView"
    Screen      "Screen PCI" LeftOf "Screen AGP TwinView"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection
