To use multiple monitors on a single Linux system use one of te following options:
A dual headed graphics card with a single X-Window desktop. (preferred option)
i.e. NVidia Quadro Pro or ATI Radion Pro 9800.
or
Xinerama: Two graphics cards and let X span the two desktops.
This tutorial covers the use of NVidia and ATI furnished graphics drivers
for dual headed systems as well as Xinerama.
This requires the use of a dual headed grahics card, two graphics card or a splitter DVI or SVGA Y-cable from a single digital high-res 2xDVI output.
X-Windows X Server Configuration File:
The X server is the software which runs on your desktop and
can connect to client programs to reder their displays. (yes it is
opposite of what many find to be intuitive.)
X-Windows Configuration file:
Red Hat Enterprise 4/Fedora Core: /etc/X11/xorg.conf
Red Hat Enterprise 3 (older systems): /etc/X11/XF86Config
Creating the default configuration file:
/usr/X11R6/bin/X -configure
This creates $PWD/xorg.conf.new (or: $PWD/XF86Config.new)
Installing Graphics Drivers for Dual Headed Systems:
Distributions of Linux will install simple open source drivers
for even the most complex of graphics cards.
To get full support for 3-D rotation and manipulation, 3-D shading, GLX, DRI,
and two monitors, one needs to download the graphics drivers from the
manufacturer.
NVidia configuration:
(i.e. Quadro Pro)
The default open source NVidia driver installed by Fedora, Red
Hat and SuSE is
"nv" or "vesa" which is ok for simple 2-D graphics. If you want to take
advantage of the full power of your graphics card, download and install
the 3-D driver ("nvidia") from NVidia.com.
Run the NVidia installer in the console window: sh NVIDIA-Linux-x86-1.0-8756-pkg1.run -q
Add the directive --kernel-source-path /usr/src/linux-xxxxx
if required to explicitly state the Linux kernel source path.
Return to graphics mode, init level 5: init 5
Edit X11 config file /etc/X11/xorg.conf (or for older systems: /etc/X11/XF86Config) as described below.
Although the NVidia directions do not reference manual configuration
by editing the X-Windows config file, I have found it necessary to
take advantage of both monitors.
Edit the "Monitor" section as described below in the "Wide Screen Pitfalls" section below.
[Potential Pitfall]: Ubuntu - If the NVidia installer does not work, try using "linux-restricted-modules": apt-get install nvidia-glx For more info see the NVidia Binary Driver Howto
[Potential Pitfall]: Ubuntu - NVidia installer complains about missing file /usr/src/linux-source-2.6.15/include/linux/version.h "No such file or directory". Solution:
cd /usr/src
tar xjvf linux-source-2.6.XX.tar.bz2
ln -s linux-source-2.6.XX linux
cd linux
cp /boot/config-`uname -r` .config
make oldconfig
make include/linux/version.h
[Potential Pitfall]: (NVidia Quadro4 980XGL)
If booting with one monitor, the graphics card will not generate a
video signal for the second monitor. (Makes sense, it's not there.)
One must boot with both monitors if the graphics card is to generate a video
signal for both.
[Potential Pitfall]: SuSE NVidia Installer HOWTO
instructions (http://www.suse.de/~sndirsch/nvidia-installer-HOWTO.html)
are flawed. It suggests using the configuration program "sax2" to configure the
NVidia driver. I did not find that this worked. Modify the X11 configuration file manually using this tutorial.
[Potential Pitfall]: (NVidia Quadro4 980XGL)
SuSE 9.3: Yast will show options for configuring two monitors but the
default open source drivers do not support two monitors.
[Potential Pitfall]: (NVidia Quadro4 980XGL)
If one monitor remains black but the other is working this could be due
to the definition of the "ConnectedMonitor".
If you are using both the analog and digital ports of the monitor, the correct
definition MUST be specified. If you connect using analog connectors but
specify a digital flat panel display (or vice versa), the screen will be black.
Valid definitions for ConnectedMonitor are:
CRT: Analog Cathode Ray Tube (using VGA cables/connector)
FPD: Digital Flat Panel Display (using DVI cables/connector)
DPMS: Digital Power Management Savings for Energy Star compliant monitors.
A mix of monitors may specify: Option "ConnectedMonitor" "FPD,CRT" if the second monitor is an analog connection.
This often occurs when two computers are connected to the same monitor,
necessitating the use of both the analog and digital connections to the monitor.
Using digital flat panel monitors with digital connections and specifying "FPD" for both will also fix this problem.
The NVidia driver using "TwinView" allows X-Windows to view the two
displays as a single screen.
The config file xorg.conf needs to be edited to enable proper
dual monitor use. The SuSE SaX2 configuration tool was not enough nor
is the Red Hat configuration tool.
Both displays share a single frame buffer.
To disable one of the displays for a mode, use mode name NULL:
Option "MetaModes" "1600x1200, NULL; NULL, 1024x768"
To create a panning area (bounding box) for the desktop (viewport):
Option "MetaModes" "1024x768 @1600x1200, 800x600 @1024x768"
TwinViewOrientation options:
RightOf
LeftOf
Above
Below
Clone
The open source drivers "nv" and "vesa" do not support "TwinView".
This is only supported using the nVidia driver "nvidia".
Manual loading/unloading the kernel module:
Unload: modprobe -r nvidia
Load: modprobe nvidia
Show modules loaded by kernel: lsmod
DVI: Digital Visual Interface. Transmits 24 bits/pixel for R, G and B.
The timing almost matches the VGA analog signal. DVI sends whole frames with no compression.
Dual link DVI video cards: (i.e. Quadro FX) The nVidia
graphics cards with a single "dual link" DVI interface (also known as
DVI-DL) are used for a single very high resolution screen or can be
used to drive two analog monitors. The "dual link" DVI connector has
many more pins than the traditional "single link" DVI connector. These
graphics cards can use a "Y" connector from the single "dual link" DVI
output to two analog VGA connectors to drive two monitors. The
configuration is the same as the "TwinView" configuration detailed
above except that one must specify: Option "ConnectedMonitor" "CRT,CRT"
For more information on DVI interfaces, see Wikipedia: DVI - Digital Visual Interface
NVidia commands: The NVidia driver installation comes with support commands.
nvidia-settings:
/usr/bin/nvidia-settings --help : List command arguments
nvidia-settings -g : Show GLX settings for the X display
nvidia-xconfig:
nvidia-xconfig --help : List command arguments
nvidia-xconfig -A : Advanced help about full functionality.
nvidia-xconfig -t : Show X configuration file data in tree format
nvidia-installer:
nvidia-installer -A : Print the installer command's "advanced" options.
Run installer: sh ati-driver-installer-8.22.5-i386.run
Choose "Install Driver X.Org 6.8"
"Custom Install"
Dual monitor configuration:
/usr/X11R6/bin/aticonfig --dtop=horizontal --overlay-on=1
(Command placed here by installer in above step.)
(other options include: --initial=dual-head and --screen-layout=right)
Command line help: aticonfig -h
[Potential Pitfall]: SuSE users (9.3) -
Do NOT use Yast to configure the system for dual monitor use!! Don't use SaX2 either!!!
Only use aticonfig
The installer will add an application to the menu, "ATI Control".
This will launch the "ATI Radion 9800 Control Panel" for dual monitor
control and adjustment. It will also control TV out settings.
Check for loaded module:
Open Source: /sbin/lsmod | grep radeon
ATI driver: /sbin/lsmod | grep fglrx
Dual Monitor Support Using Xinerama:
A Xinerama configuration uses the native Xorg drivers to
coordinate two graphics cards, controlling two monitors to display a
single desktop.
Do not use Xinerama with the proprietary driver configurations above
(nVidia,ATI) as they contain the Xinerama capabilities within their
drivers.
Identifying the graphics cards and PCI bus ID:
List PCI devices bus ID:
Xorg -scanpci
or XFree86 -scanpci
(Execute command at run level 3: init 3)
Other PCI info commands:
Xorg -probeonly
(Execute command at run level 3: init 3)
lspci lspci -vvx
(Note: 01:00.0 is stated as 1:0:0 in the configuration file.)
Users of OpenOffice and Adobe Acrobat on
dual monitor systems (i.e. users of the NVidia Quadro video card) will
notice that OpenOffice and Adobe Acrobat documents will be stretched due
to improper default settings.
Scalable fonts as opposed to pixel based fonts will be scaled improperly.
Compare the two images of the OpenOffice presentation display:
Dual monitor stretched view. (distorted)
Single Monitor and fixed dual view.(proper scale)
Solution: The "DisplaySize" entry in the /etc/X11/xorg.conf (Xorg shipped with Fedora 2 and later)
(Fedora 1, Red Hat 9 or older: /etc/X11/XF86Config) file
under the "Monitor" section can be tweaked to fix this problem.
Where the display size is stated in millimeters and is used to
calculate the DPI (Dots Per Inch) of the screen. It's the ratio which
is actually important. The ratio must reflect the horizontal desktop
dimensions of two monitors. The desktop size of two screens in pixels,
each of 1280x1024 is 2560x1024. This ratio is equal to that of
1000x400.
DPMS can be configured to reduce power consumption with Energy Star compliant monitors, when the system is idle.
XFree86 4.x+ or X.org 6.7+ is required.
Synergy2:
Share a single mouse and keyboard between multiple computers with
different operating systems, each with its own display, without special
hardware. Better than a KVM!