# multiple moniters (solved)

## Lunpa

I recently decided to spend $50 on a cheep nvidia card (a geforce3, I think) with 3 video output ports:

1 vga

1 dvi

1 s-video

My plans are to use this in addition to my current nvidia (geforce2) gfx card, and use the s-video port to use my tv as a moniter in addition to my normal moniter attached to my normal card.

the formentioned "normal card" (aka, the older one) is an agp card with only a normal vga port.

the new card is a pci card with the above ports.

I did some searches of the forums, but only found more questions than answers on what I should do about this.

https://forums.gentoo.org/viewtopic-t-212612-highlight-moniters.html in particular.

Shows a guy's xorg.conf that sucessfully does what I aim to do, only he's doing it with one card (wich leaves me wondering... could I potentualy do FOUR moniters?)

So, does anyone know 

a) if this is even possible to do with two different cards? (they use the same driver, to my understading)

b) where I should start, and some information that could help me on my epic quest

(btw, I ordered the card today, so it hasn't arrived yet, I'm just realy eager to know what to do with it when it gets here.  I have plenty of time;  w00t for $1 shipping and handling.)

----------

## teknomage1

You can use any number of cards as long as you define each card as a device and define each monitor. Then define screens linking up each monitor/device combination. You alsdo need to decide if you are going to use the xinerama extensions and make a unified screen or define seperate screen spaces.

As a caveat, I had to actually enter modelines when I was setting up my friend's dual monitor set-up as it didn't seem to be able to negotiate anything better than 640x480 automatically.

----------

## BitJam

I don't think you will be able to use 4 monitors but I do think you will be able to use 3.  The new Nvidia card should be able to do "Twinview" which means it uses two monitors to make one big screen.  You could then have a third monitor connected to your old card.

You might want to read Nvidia's documentation about Twinview.  I found it was very easy to set up.  I just had to add the following two lines to the "Nvidia Card" section of my XF86Config:

```
        option          "TwinView"

        option          "MetaModes"             "1600x1200,1600x1200" 
```

----------

## Lunpa

3 will sure be enough anyway, since I originaly planned for just 2.

Will I have to do anything to differenciate the cards in X?  I notice in the xorg conf I linked to in my earlier post, the person put in some pci bus info, but only has one card (he defined it twice).

Will I have to do something similar?  I've never used more than one graphics card at a time before.

----------

## Lunpa

Here is the section of my current xorg.conf that relates to my card and screens:

```
# the device thats actualy used:

Section "Device"

    Identifier  "nvidia geforce2"

    Driver      "nvidia"

    OPtion    "nologo" "1"

    VideoRam    65536

EndSection

# **********************************************************************

# Screen sections

# **********************************************************************

# Any number of screen sections may be present.  Each describes

# the configuration of a single screen.  A single specific screen section

# may be specified from the X server command line with the "-screen"

# option.

Section "Screen"

    Identifier  "Screen 1"

    Device      "nvidia geforce2"

    Monitor     "monitor"

    DefaultDepth 24

    Subsection "Display"

        Depth       8

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

EndSection
```

and, here's pretty much the rest of it:

```
# File generated by xorgconfig.

#

# Copyright 2004 The X.Org Foundation

#

# Permission is hereby granted, free of charge, to any person obtaining a

# copy of this software and associated documentation files (the "Software"),

# to deal in the Software without restriction, including without limitation

# the rights to use, copy, modify, merge, publish, distribute, sublicense,

# and/or sell copies of the Software, and to permit persons to whom the

# Software is furnished to do so, subject to the following conditions:

# 

# The above copyright notice and this permission notice shall be included in

# all copies or substantial portions of the Software.

# 

# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL

# The X.Org Foundation BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,

# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF

# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

# SOFTWARE.

# 

# Except as contained in this notice, the name of The X.Org Foundation shall

# not be used in advertising or otherwise to promote the sale, use or other

# dealings in this Software without prior written authorization from

# The X.Org Foundation.

#

# **********************************************************************

# Refer to the xorg.conf(5x) man page for details about the format of 

# this file.

# **********************************************************************

# **********************************************************************

# Module section -- this  section  is used to specify

# which dynamically loadable modules to load.

# **********************************************************************

#

Section "Module"

# This loads the DBE extension module.

    Load        "dbe"     # Double buffer extension

# This loads the miscellaneous extensions module, and disables

# initialisation of the XFree86-DGA extension within that module.

    SubSection  "extmod"

      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    EndSubSection

# This loads the font modules

    Load        "type1"

#    Load        "speedo"

    Load        "freetype"

#    Load        "xtt"

# This loads the GLX module

    Load       "glx"

# This loads the DRI module

#    Load       "dri"

EndSection

# **********************************************************************

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

# **********************************************************************

Section "Files"

# The location of the RGB database.  Note, this is the name of the

# file minus the extension (like ".txt" or ".db").  There is normally

# no need to change the default.

    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/share/fonts/misc/"

    FontPath   "/usr/share/fonts/TTF/"

    FontPath   "/usr/share/fonts/Type1/"

    FontPath   "/usr/share/fonts/CID/"

    FontPath   "/usr/share/fonts/75dpi/"

    FontPath   "/usr/share/fonts/100dpi/"

    FontPath   "/usr/share/fonts/local/"

    FontPath   "/usr/share/fonts/Speedo/"

#    FontPath   "/usr/share/fonts/TrueType/"

#    FontPath   "/usr/share/fonts/freefont/"

# The module search path.  The default path is shown here.

#    ModulePath "/usr/X11R6/lib/modules"

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

#    Option "NoTrapSignals"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence

# (where n is 1 through 12).  This allows clients to receive these key

# events.

#    Option "DontVTSwitch"

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

# This allows clients to receive this key event.

#    Option "DontZap"

# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching

# sequences.  This allows clients to receive these key events.

#    Option "Dont Zoom"

# Uncomment this to disable tuning with the xvidtune client. With

# it the client can still run and fetch card and monitor attributes,

# but it will not be allowed to change them. If it tries it will

# receive a protocol error.

#    Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client. 

#    Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device

# (mouse and keyboard) settings. 

#    Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to

# change the keyboard or mouse settings (currently only xset).

#    Option "AllowNonLocalModInDev"

EndSection

# **********************************************************************

# Input devices

# **********************************************************************

# **********************************************************************

# Core keyboard's InputDevice section

# **********************************************************************

Section "InputDevice"

    Identifier   "Keyboard1"

    Driver   "kbd"

# For most OSs the protocol can be omitted (it defaults to "Standard").

# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),

# uncomment the following line.

#    Option     "Protocol"      "Xqueue"

    Option "AutoRepeat" "500 30"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))

#    Option   "Xleds"      "1 2 3"

#    Option "LeftAlt"     "Meta"

#    Option "RightAlt"    "ModeShift"

# To customise the XKB settings to suit your keyboard, modify the

# lines below (which are the defaults).  For example, for a non-U.S.

# keyboard, you will probably want to use:

#    Option "XkbModel"    "pc102"

# If you have a US Microsoft Natural keyboard, you can use:

#    Option "XkbModel"    "microsoft"

#

# Then to change the language, change the Layout setting.

# For example, a german layout can be obtained with:

#    Option "XkbLayout"   "de"

# or:

#    Option "XkbLayout"   "de"

#    Option "XkbVariant"  "nodeadkeys"

#

# NOCAPS:

     Option "XkbOptions"  "ctrl:nocaps"

# These are the default XKB settings for Xorg

#    Option "XkbRules"    "xorg"

#    Option "XkbModel"    "pc101"

#    Option "XkbLayout"   "us"

#    Option "XkbVariant"  ""

#    Option "XkbOptions"  ""

#    Option "XkbDisable"

    Option "XkbRules"   "xorg"

    Option "XkbModel"   "pc105"

    Option "XkbLayout"   "us"

EndSection

# **********************************************************************

# Core Pointer's InputDevice section

# **********************************************************************

Section "InputDevice"

# Identifier and driver

    Identifier   "Mouse1"

    Driver   "mouse"

    Option "Protocol"    "auto"

    Option "Device"      "/dev/input/mouse0"

    Option "ZAxisMapping" "4 5"

# Mouse-speed setting for PS/2 mouse.

#    Option "Resolution"   "256"

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

# the following line.

#    Option "Protocol"   "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In

# almost every case these lines should be omitted.

#    Option "BaudRate"   "9600"

#    Option "SampleRate"   "150"

# Emulate3Buttons is an option for 2-button Microsoft mice

# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

#    Option "Emulate3Buttons"

#    Option "Emulate3Timeout"    "50"

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

#    Option "ChordMiddle"

EndSection

# -------------------------------------------------------- #

#                                                          #

#  Wacom tablet stuff:                                     #

#                                                          #

#                                                          #

#                                                          #

# -------------------------------------------------------- #

Section "InputDevice"

  Driver        "wacom"

  Identifier    "cursor"

  Option        "Device"        "/dev/input/event2"

  Option        "Type"          "cursor"

  Option        "USB"           "on"

EndSection

Section "InputDevice"

  Driver        "wacom"

  Identifier    "stylus"

  Option        "Device"        "/dev/input/event2"

  Option        "Type"          "stylus"

  Option        "USB"           "on"

EndSection

Section "InputDevice"

  Driver        "wacom"

  Identifier    "eraser"

  Option        "Device"        "/dev/input/event2"

  Option        "Type"          "eraser"

  Option        "USB"           "on"

EndSection

# -------------------------------------------------------- #

#  End of Wacom tablet stuff.                              #

# -------------------------------------------------------- #

# **********************************************************************

# Other input device sections 

# this is optional and is required only if you

# are using extended input devices.  This is for example only.  Refer

# to the xorg.conf man page for a description of the options.

# **********************************************************************

#

# Section "InputDevice" 

#    Identifier  "Mouse2"

#    Driver      "mouse"

#    Option      "Protocol"      "MouseMan"

#    Option      "Device"        "/dev/mouse2"

# EndSection

#

# Section "InputDevice"

#    Identifier "spaceball"

#    Driver     "magellan"

#    Option     "Device"        "/dev/cua0"

# EndSection

#

# Section "InputDevice"

#    Identifier "spaceball2"

#    Driver     "spaceorb"

#    Option     "Device"        "/dev/cua0"

# EndSection

#

# Section "InputDevice"

#    Identifier "touchscreen0"

#    Driver     "microtouch"

#    Option     "Device"        "/dev/ttyS0"

#    Option     "MinX"          "1412"

#    Option     "MaxX"          "15184"

#    Option     "MinY"          "15372"

#    Option     "MaxY"          "1230"

#    Option     "ScreenNumber"  "0"

#    Option     "ReportingMode" "Scaled"

#    Option     "ButtonNumber"  "1"

#    Option     "SendCoreEvents"

# EndSection

#

# Section "InputDevice"

#    Identifier "touchscreen1"

#    Driver     "elo2300"

#    Option     "Device"        "/dev/ttyS0"

#    Option     "MinX"          "231"

#    Option     "MaxX"          "3868"

#    Option     "MinY"          "3858"

#    Option     "MaxY"          "272"

#    Option     "ScreenNumber"  "0"

#    Option     "ReportingMode" "Scaled"

#    Option     "ButtonThreshold"       "17"

#    Option     "ButtonNumber"  "1"

#    Option     "SendCoreEvents"

# EndSection

# **********************************************************************

# Monitor section

# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

    Identifier  "monitor"

# 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   31.5 - 79.0

#    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 50-70

EndSection

# **********************************************************************

# Graphics device section

# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"

    Identifier   "Standard VGA"

    VendorName   "Unknown"

    BoardName   "Unknown"

# The chipset line is optional in most cases.  It can be used to override

# the driver's chipset detection, and should not normally be specified.

#    Chipset   "generic"

# The Driver line must be present.  When using run-time loadable driver

# modules, this line instructs the server to load the specified driver

# module.  Even when not using loadable driver modules, this line

# indicates which driver should interpret the information in this section.

    Driver     "vga"

# The BusID line is used to specify which of possibly multiple devices

# this section is intended for.  When this line isn't present, a device

# section can only match up with the primary video device.  For PCI

# devices a line like the following could be used.  This line should not

# normally be included unless there is more than one video device

# intalled.

#    BusID      "PCI:0:10:0"

#    VideoRam   256

#    Clocks   25.2 28.3

EndSection

# the device thats actualy used:

Section "Device"

    Identifier  "nvidia geforce2"

    Driver      "nvidia"

    OPtion    "nologo" "1"

    VideoRam    65536

EndSection

# **********************************************************************

# Screen sections

# **********************************************************************

# Any number of screen sections may be present.  Each describes

# the configuration of a single screen.  A single specific screen section

# may be specified from the X server command line with the "-screen"

# option.

Section "Screen"

    Identifier  "Screen 1"

    Device      "nvidia geforce2"

    Monitor     "monitor"

    DefaultDepth 24

    Subsection "Display"

        Depth       8

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

EndSection

# **********************************************************************

# ServerLayout sections.

# **********************************************************************

# Any number of ServerLayout sections may be present.  Each describes

# the way multiple screens are organised.  A specific ServerLayout

# section may be specified from the X server command line with the

# "-layout" option.  In the absence of this, the first section is used.

# When now ServerLayout section is present, the first Screen section

# is used alone.

Section "ServerLayout"

# The Identifier line must be present

    Identifier  "Simple Layout"

# Each Screen line specifies a Screen section name, and optionally

# the relative position of other screens.  The four names after

# primary screen name are the screens to the top, bottom, left and right

# of the primary screen.  In this example, screen 2 is located to the

# right of screen 1.

    Screen "Screen 1"

# Each InputDevice line specifies an InputDevice section name and

# optionally some options to specify the way the device is to be

# used.  Those options include "CorePointer", "CoreKeyboard" and

# "SendCoreEvents".

    InputDevice      "Mouse1"    "CorePointer"

    InputDevice    "Keyboard1"    "CoreKeyboard"

    InputDevice    "cursor"   "SendCoreEvents"

    InputDevice    "stylus"    "SendCoreEvents"

    InputDevice    "eraser"    "SendCoreEvents"

EndSection

# Section "DRI"

#    Mode 0666

# EndSection
```

----------

## BitJam

Use the lspci command to get the id numbers.

----------

## Lunpa

will I need to do something similar to identify my current card, too? (the agp one)

----edited:-----

```

0000:01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2)

```

I guess the agp devices are also returned by lspci  :Smile: 

----------

## Lunpa

*getting my xorg.conf ready for the new card*

lspci returns this for my agp nvidia card wich I currently have:

```
0000:01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2)
```

so would the xorg config entry resembel the fallowing?

```

Section "Device"

    Identifier  "nvidia geforce2"

    Driver      "nvidia"

    OPtion    "nologo" "1"

    VideoRam    65536

    BoardName   "NV11 [GeForce2 MX/MX 400]"

    BusID       "AGP:0:1:0" 

EndSection

```

A bit of an emphisis on BoardName and BusID.

----------

## Lunpa

*bump*

----------

## BitJam

I am pretty sure that the BusID data should start with "PCI:" not "AGP:".  Your output from lspci is slightly different from mine.  I get: 

```
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 Go] (rev b2)
```

It is reported in my X log file as: 

```
(--) PCI:*(1:0:0) nVidia Corporation NV11 [GeForce2 Go] rev 178, Mem @ 0xfc000000/24, 0xe0000000/27
```

So I use the following BusID: 

```
BusID           "PCI:1:0:0"
```

Maybe you should take a look in your X log file to see how it reports the BusID of your current card.

----------

## Lunpa

from the logs:   (first compaired to my lspci output)

```
(II) PCI: PCI scan (all values are in hex)

(II) PCI: 00:00:0: chip 1039,0735 card 0000,0000 rev 01 class 06,00,00 hdr 80

(II) PCI: 00:01:0: chip 1039,0001 card 0000,0000 rev 00 class 06,04,00 hdr 01

(II) PCI: 00:02:0: chip 1039,0018 card 0000,0000 rev 00 class 06,01,00 hdr 80

(II) PCI: 00:02:1: chip 1039,0016 card 0000,0000 rev 00 class 0c,05,00 hdr 00

(II) PCI: 00:02:2: chip 1039,7001 card 1019,0a14 rev 07 class 0c,03,10 hdr 00

(II) PCI: 00:02:3: chip 1039,7001 card 1019,0a14 rev 07 class 0c,03,10 hdr 00

(II) PCI: 00:02:5: chip 1039,5513 card 1039,5513 rev d0 class 01,01,80 hdr 80

(II) PCI: 00:02:7: chip 1039,7012 card 1019,0a14 rev a0 class 04,01,00 hdr 00

(II) PCI: 00:03:0: chip 1039,0900 card 1019,0a14 rev 90 class 02,00,00 hdr 00

(II) PCI: 01:00:0: chip 10de,0110 card 0000,0000 rev b2 class 03,00,00 hdr 00
```

and

```
(II) NVIDIA Unified Driver for all NVIDIA GPUs

(II) Primary Device is: PCI 01:00:0
```

I'm thinking it is safe to assume it is also:

```
BusID           "PCI:1:0:0"
```

Thanks again ^^

--- added ---

it seems my card is expected to arrive on the 24th  :Smile: 

----------

## Lunpa

 *Quote:*   

> 
> 
> TwinView is a mode of operation where two display devices (digital
> 
> flat panels, CRTs, and TVs) can display the contents of a single X screen
> ...

 

Hmmm... does twin view just display the same X session on both moniters (making the output on both screen identicle)?  or does it actualy span the session between the two, making two unique screen outputs from one session?

----edited---

ah, never mind... section "app-r" clearifies the questions "app-i" gave me.

(btw, this is from ftp://download.nvidia.com/XFree86/Linux-x86/1.0-6629/README.txt )

----------

## BitJam

Twinview creates a virtual screen that spans both monitors.  It is totally cool.   One trick is that if the monitors are about the same size you can play widescreen movies that fill both monitors.  The black line down the middle (where the monitors meet) gets annoying after a while but it is a neat trick.

It is extremely handy.  One you try it and get used to it, it will be hard to go back to just a single monitor.

----------

## Lunpa

yah, I hope to do 3 moniters eventualy.

I'm a bit disapointed to see that I have to use the same card for both moniters, but my new one shouldn't have a problem.

At the moment, I'll have more than a black line as my layout looks something like the fallowing:

{montier 1}{compy}{TV}

where the moniter and compy are on a deskt together, and the tv is on its own shelf-thing.

also, putting the two next to eachother results in noise on the moniter.

So I think twinview, unfortunately, is out of the question at the moment.

I'm just hoping that I don't need a new keyboard and mouse.

(I supose I could make the "cursor" part of my wacom tablet the mouse for the new screen (I only use the stylus and eraser), and I have an extra usb keyboard)

However, I think my config file is ready for the new card, and all I need is an svideo-to-something-usefull type converter and I'm good  :Smile: 

Once again, thanks for all the help everyone!  I realy apreciate it  :Smile: 

---- added ---

(I'll post my config file when I know it works, so that others might referance it, and can learn from my experience)

----------

## BitJam

 *Lunpa wrote:*   

> So I think twinview, unfortunately, is out of the question at the moment. I'm just hoping that I don't need a new keyboard and mouse. (I supose I could make the "cursor" part of my wacom tablet the mouse for the new screen (I only use the stylus and eraser), and I have an extra usb keyboard)

 

That setup shouldn't be a problem.  I agree that it is no good for widescreen movies but Twinview should work fine.  I'm using a 21" monitor coupled with a 15" laptop and I'm pleased as punch.  You don't need a 2nd mouse are anything, just the two extra lines in your config file.   It may  take a couple of days to get used to the cursor moving from one monitor to the other but after that you'll wonder why it is not more common.

----------

## Lunpa

well, the new card came today... I had to make some changes to my set up, but I got things working... _sorta_.

When I booted, much to my suprise, my old card didn't give out any output (the moniter was plugged into it, and the tv to the new card).  So after fiddling arround, I set it up to not use the old card, since the new one is tolerable (though now my sound sounds a bit garbled for whatever reason.  might be some crosstalk happening? anwyas...).

So now I have old card doing nothing, and the new card running two sessions with the tv and normal moniter.  the problem I'm having is that once I startx, the tv goes black (no commandline, but no screen tearing anymore either. it tears alot with the commandline displaying), and x starts up on my moniter like I expect it to.

my color *feels* a bit off, and it doesn't feel like it is set at my desired refresh rate (whatever it was) on the normal monitor.

so, here is my xorg.conf:

```

# File generated by xorgconfig.

# **********************************************************************

# Refer to the xorg.conf(5x) man page for details about the format of 

# this file.

# **********************************************************************

# **********************************************************************

# Module section -- this  section  is used to specify

# which dynamically loadable modules to load.

# **********************************************************************

#

Section "Module"

# This loads the DBE extension module.

    Load        "dbe"     # Double buffer extension

# This loads the miscellaneous extensions module, and disables

# initialisation of the XFree86-DGA extension within that module.

    SubSection  "extmod"

      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    EndSubSection

# This loads the font modules

    Load        "type1"

#    Load        "speedo"

    Load        "freetype"

#    Load        "xtt"

# This loads the GLX module

    Load       "glx"

# This loads the DRI module

#    Load       "dri"

EndSection

# **********************************************************************

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

# **********************************************************************

Section "Files"

# The location of the RGB database.  Note, this is the name of the

# file minus the extension (like ".txt" or ".db").  There is normally

# no need to change the default.

    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/share/fonts/misc/"

    FontPath   "/usr/share/fonts/TTF/"

    FontPath   "/usr/share/fonts/Type1/"

    FontPath   "/usr/share/fonts/CID/"

    FontPath   "/usr/share/fonts/75dpi/"

    FontPath   "/usr/share/fonts/100dpi/"

    FontPath   "/usr/share/fonts/local/"

    FontPath   "/usr/share/fonts/Speedo/"

#    FontPath   "/usr/share/fonts/TrueType/"

#    FontPath   "/usr/share/fonts/freefont/"

# The module search path.  The default path is shown here.

#    ModulePath "/usr/X11R6/lib/modules"

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

#    Option "NoTrapSignals"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence

# (where n is 1 through 12).  This allows clients to receive these key

# events.

#    Option "DontVTSwitch"

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

# This allows clients to receive this key event.

#    Option "DontZap"

# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching

# sequences.  This allows clients to receive these key events.

#    Option "Dont Zoom"

# Uncomment this to disable tuning with the xvidtune client. With

# it the client can still run and fetch card and monitor attributes,

# but it will not be allowed to change them. If it tries it will

# receive a protocol error.

#    Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client. 

#    Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device

# (mouse and keyboard) settings. 

#    Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to

# change the keyboard or mouse settings (currently only xset).

#    Option "AllowNonLocalModInDev"

EndSection

# **********************************************************************

# Input devices

# **********************************************************************

# **********************************************************************

# Core keyboard's InputDevice section

# **********************************************************************

Section "InputDevice"

    Identifier   "Keyboard1"

    Driver   "kbd"

# For most OSs the protocol can be omitted (it defaults to "Standard").

# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),

# uncomment the following line.

#    Option     "Protocol"      "Xqueue"

    Option "AutoRepeat" "500 30"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))

#    Option   "Xleds"      "1 2 3"

#    Option "LeftAlt"     "Meta"

#    Option "RightAlt"    "ModeShift"

# To customise the XKB settings to suit your keyboard, modify the

# lines below (which are the defaults).  For example, for a non-U.S.

# keyboard, you will probably want to use:

#    Option "XkbModel"    "pc102"

# If you have a US Microsoft Natural keyboard, you can use:

#    Option "XkbModel"    "microsoft"

#

# Then to change the language, change the Layout setting.

# For example, a german layout can be obtained with:

#    Option "XkbLayout"   "de"

# or:

#    Option "XkbLayout"   "de"

#    Option "XkbVariant"  "nodeadkeys"

#

# NOCAPS:

     Option "XkbOptions"  "ctrl:nocaps"

# These are the default XKB settings for Xorg

#    Option "XkbRules"    "xorg"

#    Option "XkbModel"    "pc101"

#    Option "XkbLayout"   "us"

#    Option "XkbVariant"  ""

#    Option "XkbOptions"  ""

#    Option "XkbDisable"

    Option "XkbRules"   "xorg"

    Option "XkbModel"   "pc105"

    Option "XkbLayout"   "us"

EndSection

# **********************************************************************

# Core Pointer's InputDevice section

# **********************************************************************

Section "InputDevice"

# Identifier and driver

    Identifier   "Mouse1"

    Driver   "mouse"

    Option "Protocol"    "auto"

    Option "Device"      "/dev/input/mouse0"

    Option "ZAxisMapping" "4 5"

# Mouse-speed setting for PS/2 mouse.

#    Option "Resolution"   "256"

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

# the following line.

#    Option "Protocol"   "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In

# almost every case these lines should be omitted.

#    Option "BaudRate"   "9600"

#    Option "SampleRate"   "150"

# Emulate3Buttons is an option for 2-button Microsoft mice

# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

#    Option "Emulate3Buttons"

#    Option "Emulate3Timeout"    "50"

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

#    Option "ChordMiddle"

EndSection

# -------------------------------------------------------- #

#                                                          #

#  Wacom tablet stuff:                                     #

#                                                          #

#                                                          #

#                                                          #

# -------------------------------------------------------- #

Section "InputDevice"

  Driver        "wacom"

  Identifier    "cursor"

  Option        "Device"        "/dev/input/event2"

  Option        "Type"          "cursor"

  Option        "USB"           "on"

EndSection

Section "InputDevice"

  Driver        "wacom"

  Identifier    "stylus"

  Option        "Device"        "/dev/input/event2"

  Option        "Type"          "stylus"

  Option        "USB"           "on"

EndSection

Section "InputDevice"

  Driver        "wacom"

  Identifier    "eraser"

  Option        "Device"        "/dev/input/event2"

  Option        "Type"          "eraser"

  Option        "USB"           "on"

EndSection

# -------------------------------------------------------- #

#  End of Wacom tablet stuff.                              #

# -------------------------------------------------------- #

# **********************************************************************

# Other input device sections 

# this is optional and is required only if you

# are using extended input devices.  This is for example only.  Refer

# to the xorg.conf man page for a description of the options.

# **********************************************************************

#

# Section "InputDevice" 

#    Identifier  "Mouse2"

#    Driver      "mouse"

#    Option      "Protocol"      "MouseMan"

#    Option      "Device"        "/dev/mouse2"

# EndSection

#

# Section "InputDevice"

#    Identifier "spaceball"

#    Driver     "magellan"

#    Option     "Device"        "/dev/cua0"

# EndSection

#

# Section "InputDevice"

#    Identifier "spaceball2"

#    Driver     "spaceorb"

#    Option     "Device"        "/dev/cua0"

# EndSection

#

# Section "InputDevice"

#    Identifier "touchscreen0"

#    Driver     "microtouch"

#    Option     "Device"        "/dev/ttyS0"

#    Option     "MinX"          "1412"

#    Option     "MaxX"          "15184"

#    Option     "MinY"          "15372"

#    Option     "MaxY"          "1230"

#    Option     "ScreenNumber"  "0"

#    Option     "ReportingMode" "Scaled"

#    Option     "ButtonNumber"  "1"

#    Option     "SendCoreEvents"

# EndSection

#

# Section "InputDevice"

#    Identifier "touchscreen1"

#    Driver     "elo2300"

#    Option     "Device"        "/dev/ttyS0"

#    Option     "MinX"          "231"

#    Option     "MaxX"          "3868"

#    Option     "MinY"          "3858"

#    Option     "MaxY"          "272"

#    Option     "ScreenNumber"  "0"

#    Option     "ReportingMode" "Scaled"

#    Option     "ButtonThreshold"       "17"

#    Option     "ButtonNumber"  "1"

#    Option     "SendCoreEvents"

# EndSection

# **********************************************************************

# Monitor section

# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

    Identifier  "Monitor 0"

# 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   31.5 - 79.0

#    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 50-70

EndSection

#

#  TV:

#

Section "Monitor"

   Identifier   "Monitor 2"

   HorizSync    30.0 - 50.0

   VertRefresh  60.0

   DisplaySize  640 480

EndSection 

# **********************************************************************

# Graphics device section

# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"

    Identifier   "Standard VGA"

    VendorName   "Unknown"

    BoardName   "Unknown"

# The chipset line is optional in most cases.  It can be used to override

# the driver's chipset detection, and should not normally be specified.

#    Chipset   "generic"

# The Driver line must be present.  When using run-time loadable driver

# modules, this line instructs the server to load the specified driver

# module.  Even when not using loadable driver modules, this line

# indicates which driver should interpret the information in this section.

    Driver     "vga"

# The BusID line is used to specify which of possibly multiple devices

# this section is intended for.  When this line isn't present, a device

# section can only match up with the primary video device.  For PCI

# devices a line like the following could be used.  This line should not

# normally be included unless there is more than one video device

# intalled.

#    BusID      "PCI:0:10:0"

#    VideoRam   256

#    Clocks   25.2 28.3

EndSection

# the devices that are actualy used:

#Section "Device"

#    Identifier  "nvidia geforce2"

#    Driver      "nvidia"

#    OPtion    "nologo" "1"

#    VideoRam    65536

#    BoardName   "NV11 [GeForce2 MX/MX 400]"

#    BusID       "PCI:1:0:0"

#    Screen   0 

#EndSection

Section "Device"

    Identifier  "nvidia geforce3_norm"

    Driver      "nvidia"

    OPtion    "nologo" "1"

    VideoRam    128000

    #BoardName   ""

    #BusID       "PCI:::" 

    Screen   0

EndSection

Section "Device"

    Identifier  "nvidia geforce3"

    Driver      "nvidia"

    OPtion    "nologo" "0"

    VideoRam    128000

    #BoardName   ""

    #BusID       "PCI:0:b:0"

    Screen   2

    Option "TVStandard" "NTSC-M"

    Option "ConnectedMonitor" "TV"

    Option "TVOutFormat" "SVIDEO"

EndSection

# **********************************************************************

# Screen sections

# **********************************************************************

# Any number of screen sections may be present.  Each describes

# the configuration of a single screen.  A single specific screen section

# may be specified from the X server command line with the "-screen"

# option.

Section "Screen"

    Identifier  "Screen 0"

    Device      "nvidia geforce3_norm"

    Monitor     "Monitor 0"

    DefaultDepth 24

    Subsection "Display"

        Depth       8

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1280x1024"

        ViewPort    0 0

    EndSubsection

EndSection

# the tv

Section "Screen"

    Identifier  "Screen 2"

    Device      "nvidia geforce3"

    Monitor     "Monitor 2"

    DefaultDepth 16

    Subsection "Display"

        Depth       8

        Modes       "640x480"

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "640x480"

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "640x480"

    EndSubsection

EndSection

# **********************************************************************

# ServerLayout sections.

# **********************************************************************

# Any number of ServerLayout sections may be present.  Each describes

# the way multiple screens are organised.  A specific ServerLayout

# section may be specified from the X server command line with the

# "-layout" option.  In the absence of this, the first section is used.

# When now ServerLayout section is present, the first Screen section

# is used alone.

Section "ServerLayout"

# The Identifier line must be present

    Identifier  "Simple Layout"

# Each Screen line specifies a Screen section name, and optionally

# the relative position of other screens.  The four names after

# primary screen name are the screens to the top, bottom, left and right

# of the primary screen.  In this example, screen 2 is located to the

# right of screen 1.

    Screen    0 "Screen 0"

    Screen   2 "Screen 2" RightOf "Screen 0"

# Each InputDevice line specifies an InputDevice section name and

# optionally some options to specify the way the device is to be

# used.  Those options include "CorePointer", "CoreKeyboard" and

# "SendCoreEvents".

    InputDevice      "Mouse1"    "CorePointer"

    InputDevice    "Keyboard1"    "CoreKeyboard"

    InputDevice    "cursor"   "SendCoreEvents"

    InputDevice    "stylus"    "SendCoreEvents"

    InputDevice    "eraser"    "SendCoreEvents"

EndSection

# Section "DRI"

#    Mode 0666

# EndSection

```

any ideas on how to get the tv to do something?  I wanna watch a movie!

also, any ideas on my mystery problems with sound (and the slightly different settings with the moniter, wich I figure are caused by a missconfig file).

----------

## Lunpa

ok, this is wierd... I _unplug_ the wire from the tv (the leaving the other end plugged into the compy), and the interfearance tones down (turning it off doesn't help). but, when typing or using the mouse (especialy with the scroll wheel), the sound distorts/clips/both. wtf?

----------

## Lunpa

bump

----------

## Lunpa

Well, I ran across something that I think might help me in my epic quest of "getting the second screen to do something".

That is, that to get this to work at ALL, I've not specified the pci bus id.  Reason for this, is if I where to have a bus Id of 0:b:0 (now 0:f:0), it would convert it to 0:11:0 (or 15, for f.  makes sence, one uses hex, the other one, no)...

problem is, x says there is no such thing as whatever device at the slot I specify.  I'll put in 0:f:0 into my config, and it'll say there is no such thing when I boot.  further more, I think I've been deriving hte pci bus values based on hte log file when I don't specify the values (uses the desired card, but only first screen).

any ideas?

----------

## Lunpa

yeah... I uncommented the busid line, commented out the "second device" and all related things (like the "moniter" aka tv and according screen), and the tv reaced EXACTLY the same way. methinks I need to find out how to get it to reacongnize the bus id.

When I give it the bus id of 0:f:0 (the value it automaticaly assigns it when I don't give it a value, according to the log file), it converts it to 0:15:0, and then gives an error message stating that there is no such device.  Why is this not working?

----------

## Lunpa

problem solved:  it wasn't conveting it to 15, it was saying 0:15:0 was a valid entry.  changing it from F to 15 in the config file fixed the problem  :Smile: 

now it works like a charm

----------

## beandog

 *teknomage1 wrote:*   

> You can use any number of cards as long as you define each card as a device and define each monitor. Then define screens linking up each monitor/device combination. You alsdo need to decide if you are going to use the xinerama extensions and make a unified screen or define seperate screen spaces.
> 
> As a caveat, I had to actually enter modelines when I was setting up my friend's dual monitor set-up as it didn't seem to be able to negotiate anything better than 640x480 automatically.

 

that's what I have going for me -- two video cards (one agp, one pci) and both are using seperate screens... meaning, no xinerama or twinview.  I just have the TV (second video card) displaying something when I run DISPLAY=":0:1" <program>.  But how do I get the mouse over there?  that's what I cant figure out.

----------

