This is not a question, its something that worked.., and i didn't know where to put it n the HCL because there are so many places it could goi under, so if someone better than me knows, please move this...
I have made extensive use of this "most helpful of forums" and occasionally like to give something back...
OK, for 3 months the only reason i have had XP on my Laptop is becuase i couldn't get fedora to work properly with TwinView and use the CRT port and the Laptop display at the same time, so i could use a Projector... this is no longer the case.. I'm not saying this will work for you, but it worked for me, and its a great advertisement for reading the documentation, and for people who wrie software to actually write decent documentation....
So the spec
Toshiba Satellite 2430
NVidia 420 Graphics Card
Mandrake 10.1 straight off the DVD no updates
The Task
To get both the Laptop display and the Projector plugged in to the VGA port working at the same time...
The Instructions,
These can be found in the README.TXT which comes with the Linux driver on the NVISIA website, and this what they say... (After the instructions is my config file example)
__________________________________________________________________________
(app-i) APPENDIX I: CONFIGURING TWINVIEW
__________________________________________________________________________
The TwinView feature is only supported on NVIDIA GPUs that support
dual-display functionality, such as the GeForce2 MX, GeForce2 Go,
Quadro2 MXR, Quadro2 Go, and any of the GeForce4 GPUs. Please consult
with your video card vendor to confirm that TwinView is supported on
your card.
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
in any arbitrary configuration. This method of multiple monitor use
has several distinct advantages over other techniques (such as Xinerama):
o A single X screen is used. The NVIDIA driver conceals all
information about multiple display devices from the X server; as
far as X is concerned, there is only one screen.
o Both display devices share one frame buffer. Thus, all the
the functionality present on a single display (e.g. accelerated
OpenGL) is available on TwinView.
o No additional overhead is needed to emulate having a single
desktop.
XF86CONFIG TWINVIEW OPTIONS
To enable TwinView, you must specify the following options in the Screen
section of your XF86Config file:
Option "TwinView"
Option "SecondMonitorHorizSync" "<hsync range(s)>"
Option "SecondMonitorVertRefresh" "<vrefresh range(s)>"
Option "MetaModes" "<list of metamodes>"
You may also use any of the following options, though they are not
required:
Option "TwinViewOrientation" "<relationship of head 1 to head 0>"
Option "ConnectedMonitor" "<list of connected display devices>"
Please see the detailed descriptions of each option below:
o TwinView
This option is required to enable TwinView; without it, all
other TwinView related options are ignored.
o SecondMonitorHorizSync, SecondMonitorVertRefresh
You specify the constraints of the second monitor through these
options. The values given should follow the same convention as
the "HorizSync" and "VertRefresh" entries in the Monitor section.
As the XF86Config man page explains it: the ranges may be a
comma separated list of distinct values and/or ranges of values,
where a range is given by two distinct values separated by
a dash. The HorizSync is given in kHz, and the VertRefresh
is given in Hz. You may, if you trust your display devices'
EDIDs, use the "UseEdidFreqs" option instead of these options
(see APPENDIX D for a description of the "UseEdidFreqs" option).
o MetaModes
A single MetaMode describes what mode should be used on each
display device at a given time. Multiple MetaModes list the
combinations of modes and the sequence in which they should be
used. When the NVIDIA driver tells X what modes are available,
it is really the minimal bounding box of the MetaMode that is
communicated to X, while the "per display device" mode is kept
internal to the NVIDIA driver. In MetaMode syntax, modes within
a MetaMode are comma separated, and multiple MetaModes are
separated by semicolons. For example:
"<mode name 0>, <mode name 1>; <mode name 2>, <mode name 3>"
Where <mode name 0> is the name of the mode to be used on display
device 0 concurrently with <mode name 1> used on display device 1.
A mode switch will then cause <mode name 2> to be used on display
device 0 and <mode name 3> to be used on display device 1. Here
is a real MetaMode entry from the XF86Config sample config file:
Option "MetaModes" "1280x1024,1280x1024; 1024x768,1024x768"
If you want a display device to not be active for a certain
MetaMode, you can use the mode name "NULL", or simply omit the
mode name entirely:
"1600x1200, NULL; NULL, 1024x768"
or
"1600x1200; , 1024x768"
Optionally, mode names can be followed by offset information
to control the positioning of the display devices within the
virtual screen space; e.g.:
"1600x1200 +0+0, 1024x768 +1600+0; ..."
Offset descriptions follow the conventions used in the X
"-geometry" command line option; i.e. both positive and negative
offsets are valid, though negative offsets are only allowed when
a virtual screen size is explicitly given in the XF86Config file.
When no offsets are given for a MetaMode, the offsets will be
computed following the value of the TwinViewOrientation option
(see below). Note that if offsets are given for any one of the
modes in a single MetaMode, then offsets will be expected for
all modes within that single MetaMode; in such a case offsets
will be assumed to be +0+0 when not given.
When not explicitly given, the virtual screen size will be
computed as the the bounding box of all MetaMode bounding boxes.
MetaModes with a bounding box larger than an explicitly given
virtual screen size will be discarded.
A MetaMode string can be further modified with a "Panning Domain"
specification; eg:
"1024x768 @1600x1200, 800x600 @1600x1200"
A panning domain is the area in which a display device's viewport
will be panned to follow the mouse. Panning actually happens on
two levels with TwinView: first, an individual display device's
viewport will be panned within its panning domain, as long as
the viewport is contained by the bounding box of the MetaMode.
Once the mouse leaves the bounding box of the MetaMode, the entire
MetaMode (ie all display devices) will be panned to follow the
mouse within the virtual screen. Note that individual display
devices' panning domains default to being clamped to the position
of the display devices' viewports, thus the default behavior is
just that viewports remain "locked" together and only perform
the second type of panning.
The most beneficial use of panning domains is probably to
eliminate dead areas -- regions of the virtual screen that are
inaccessible due to display devices with different resolutions.
For example:
"1600x1200, 1024x768"
produces an inaccessible region below the 1024x768
display. Specifying a panning domain for the second display
device:
"1600x1200, 1024x768 @1024x1200"
provides access to that dead area by allowing you to pan the
1024x768 viewport up and down in the 1024x1200 panning domain.
Offsets can be used in conjunction with panning domains to
position the panning domains in the virtual screen space (note
that the offset describes the panning domain, and only affects
the viewport in that the viewport must be contained within the
panning domain). For example, the following describes two modes,
each with a panning domain width of 1900 pixels, and the second
display is positioned below the first:
"1600x1200 @1900x1200 +0+0, 1024x768 @1900x768 +0+1200"
If no MetaMode string is specified, then the X driver uses the
modes listed in the relevant "Display" subsection, attempting
to place matching modes on each display device.
o TwinViewOrientation
This option controls the positioning of the second display
device relative to the first within the virtual X screen, when
offsets are not explicitly given in the MetaModes. The possible
values are:
"RightOf" (the default)
"LeftOf"
"Above"
"Below"
"Clone"
When "Clone" is specified, both display devices will be assigned
an offset of 0,0.
o ConnectedMonitor
This option allows you to override what the NVIDIA kernel
module detects is connected to your video card. This may be
useful, for example, if any of your display devices do not
support detection using Display Data Channel (DDC) protocols.
Valid values for this option are "CRT" (cathode ray tube), "DFP"
(digital flat panel), or "TV" (television); when using TwinView,
this option may be a comma-separated list of display devices;
e.g.: "CRT, CRT" or "CRT, DFP".
Just as in all XF86Config entries, spaces are ignored and all entries
are case insensitive.
Here is the
SCREEN section of my
/etc/X11/XF86Config file
Code:
Section "Screen"
Identifier "screen1"
Device "device1"
Monitor "monitor1"
DefaultColorDepth 24
Option "TwinView"
Option "SecondMonitorHorizSync" "31.5-48.5"
Option "SecondMonitorVertRefresh" "40-70"
Option "MetaModes" "1024x768,1024x768"
Option "TwinViewOrientation" "Clone"
Option "ConnectedMonitor" "DFP, CRT"
Subsection "Display"
Depth 8
Virtual 1024 768
EndSubsection
Subsection "Display"
Depth 15
Virtual 1024 768
EndSubsection
Subsection "Display"
Depth 16
Virtual 1024 768
EndSubsection
Subsection "Display"
Depth 24
Virtual 1024 768
EndSubsection
EndSection
You will see in the
Option "TwinViewOrientation" "Clone" section i chose Clone, as the readme says there are other options.
"RightOf" (the default)
"LeftOf"
"Above"
"Below"
"Clone"
Now unfortunatly the Laptops Bios defaults to the CRT automatically on boot, which can be apain, however if i wait until the toshia logo has gone past and then plug in the BENQ projector, off we go, and bobs your uncle...