658 lines
35 KiB
Plaintext
658 lines
35 KiB
Plaintext
Using Xinerama to MultiHead XFree86 V. 4.0+
|
|
|
|
Dennis Baker
|
|
|
|
<xinerama@ogrehut.com>
|
|
Revision History
|
|
Revision 3.0 2002-11-15 Revised by: drb
|
|
Major revision
|
|
|
|
|
|
This document describes how to configure XFree86 Version 4.0+ with Multiple
|
|
monitors and the Xinerama extentions.
|
|
|
|
-----------------------------------------------------------------------------
|
|
Table of Contents
|
|
1. Introduction
|
|
1.1. Copyright
|
|
1.2. Disclaimer
|
|
1.3. Credits
|
|
|
|
|
|
2. Getting Started
|
|
3. Planning
|
|
3.1. What you need
|
|
3.2. Design Considerations
|
|
3.3. Layout
|
|
|
|
|
|
4. AutoMagic Video Card Set Up
|
|
5. Manual Video Card Set Up
|
|
6. Scan the PCI Bus
|
|
7. Editing your XConfig File
|
|
7.1. Adding your video cards
|
|
7.2. Identifying Your Video Cards
|
|
7.3. Configuring the Server Layout
|
|
|
|
|
|
8. Testing Your Configuration
|
|
8.1. Configuring X to Start Xinerama Automatically
|
|
|
|
|
|
9. Window Managers and Xinerama
|
|
10. Sample XF86Config Files
|
|
|
|
1. Introduction
|
|
|
|
Why do you need Xinerama ? And what is it ? The Xinerama extensions were
|
|
introduced to the XFree86 system in version 4.0. Xinerama is an extension to
|
|
XFree86 Release 6 Version 4.0 (X4.0) which allows applications and window
|
|
managers to use the two (or more) physical displays as one large virtual
|
|
display.
|
|
|
|
The beauty of the Xinerama extensions is that they are totally transparent to
|
|
user space. Previously, applications could only reside on one of the displays
|
|
and could not be moved between the two. Window managers had to be specially
|
|
written to support the two displays. With Xinerama, window managers and
|
|
applications don't have to be specially written to support the larger
|
|
"Virtual Desktop" which Xinerama creates.
|
|
-----------------------------------------------------------------------------
|
|
|
|
1.1. Copyright
|
|
|
|
This document is copyrighted (c) 2000 Dennis Baker and is distributed under
|
|
the terms of the Linux Documentation Project (LDP) license, stated below.
|
|
|
|
Unless otherwise stated, Linux HOWTO documents are copyrighted by their
|
|
respective authors. Linux HOWTO documents may be reproduced and distributed
|
|
in whole or in part, in any medium physical or electronic, as long as this
|
|
copyright notice is retained on all copies. Commercial redistribution is
|
|
allowed and encouraged; however, the author would like to be notified of any
|
|
such distributions.
|
|
|
|
All translations, derivative works, or aggregate works incorporating any
|
|
Linux HOWTO documents must be covered under this copyright notice. That is,
|
|
you may not produce a derivative work from a HOWTO and impose additional
|
|
restrictions on its distribution. Exceptions to these rules may be granted
|
|
under certain conditions; please contact the Linux HOWTO coordinator at the
|
|
address given below.
|
|
|
|
In short, we wish to promote dissemination of this information through as
|
|
many channels as possible. However, we do wish to retain copyright on the
|
|
HOWTO documents, and would like to be notified of any plans to redistribute
|
|
the HOWTOs.
|
|
|
|
If you have any questions, please contact <xinerama@ogrehut.com>
|
|
-----------------------------------------------------------------------------
|
|
|
|
1.2. Disclaimer
|
|
|
|
No liability for the contents of this documents can be accepted. Use the
|
|
concepts, examples and other content at your own risk. As this is a new
|
|
edition of this document, there may be errors and inaccuracies, that may of
|
|
course be damaging to your system. Proceed with caution, and although this is
|
|
highly unlikely, the author(s) do not take any responsibility for that.
|
|
|
|
All copyrights are held by their by their respective owners, unless
|
|
specifically noted otherwise. Use of a term in this document should not be
|
|
regarded as affecting the validity of any trademark or service mark.
|
|
|
|
Naming of particular products or brands should not be seen as endorsements.
|
|
|
|
You are strongly recommended to take a backup of your system before major
|
|
installation and backups at regular intervals.
|
|
-----------------------------------------------------------------------------
|
|
|
|
1.3. Credits
|
|
|
|
Much of the introduction and first sections are based loosely on a document
|
|
submitted to me from Nico Schottelius <nico-linux-xinerama -at-
|
|
schottelius.org>.
|
|
|
|
Also thanks to the many people who have emailed me with spelling tips, and
|
|
suggestions. I have incorporated them whenever I could.
|
|
|
|
The wonderful disclaimer on the prior page is brought to us courtesy of the
|
|
thousands of lawyers in this wonderful country who put their own greed over
|
|
common sense.
|
|
-----------------------------------------------------------------------------
|
|
|
|
2. Getting Started
|
|
|
|
This is not meant to be a guide on how to set up your specific monitor, or
|
|
videocard. In fact, I assume that you already have X Window running for your
|
|
setup. Please refer to the XF86 Documentation for more information.
|
|
|
|
If you are using a single multiheaded card you will need to refer to your
|
|
video card manufacturers instructions. I know that both nVidia and Matrox
|
|
support Linux multihead setups. nVidia includes some documentation with their
|
|
drivers, but I don't have one of these cards to test with so I don't have any
|
|
specific details.
|
|
|
|
As far as I know, there are no limits to which video cards you can configure
|
|
this way, nor does it seem to matter if you mix different types of video
|
|
cards in a setup, The sample configuration I use in this documentation uses
|
|
two different video cards, an AGP Fire GL 1000 and a PCI Matrox Millenium II.
|
|
What effect this has on 3d Accelleration I don't know as I don't currently
|
|
accellerate either of my video cards.
|
|
|
|
This Howto assumes that you know how to edit text files, do basic video card
|
|
configuration for X Window, add and remove hardware from your system, start
|
|
and stop system services, and follow simple instructions. If feel you will
|
|
have trouble with any of these things, please seek help. I am not responsible
|
|
if you damage any of your stuff.
|
|
-----------------------------------------------------------------------------
|
|
|
|
3. Planning
|
|
|
|
Planning a Xinerama setup is pretty straight forward. There as essentially
|
|
three things you need to take into account, screen resolution, color depth,
|
|
and screen layout.
|
|
-----------------------------------------------------------------------------
|
|
|
|
3.1. What you need
|
|
|
|
You will need at least 2 graphics cards (a dual headed one should work, too)
|
|
and two monitors, an operating system on which XFree runs (for instance Linux
|
|
or Solaris) and XFree86 version 4.0. I assume your setup works, and that your
|
|
two video cards are supported by XFree86.
|
|
|
|
Unless you recently upgraded or installed linux you are probably running an
|
|
older version of X. Verify that you are running version 4.0 or better by
|
|
typing the following command:
|
|
+---------------------------------------------------------------------------+
|
|
|papel:/ # X -version |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
You should now see something like this:
|
|
+---------------------------------------------------------------------------+
|
|
| XFree86 Version 4.0 / X Window System |
|
|
| (protocol Version 11, revision 0, vendor release 6400) |
|
|
| Release Date: 8 March 2000 |
|
|
| If the server is older than 6-12 months, or if your card is newer |
|
|
| than the above date, look for a newer version before reporting |
|
|
| problems. (see http://www.XFree86.Org/FAQ) |
|
|
| Operating System: Linux 2.3.46 i686 [ELF] |
|
|
| Module Loader present |
|
|
| |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
If the version is not 4.0 or higher ( first line ), you will need to upgrade.
|
|
Use your distributions package manager to upgrade to version 4.0 or better or
|
|
download it directly from XFree86 and install it.
|
|
+---------------------------------------------------------------------------+
|
|
|ftp://ftp.xfree86.org/pub/XFree86/4.0/ |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
or better use one of the mirrors found at
|
|
+---------------------------------------------------------------------------+
|
|
|http://www.xfree86.org/4.0/ftp.html |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
After download the files install the new X with the Xinstall.sh shellscript.
|
|
Please note, if you install X this way it is bypassing any package management
|
|
your system has.
|
|
-----------------------------------------------------------------------------
|
|
|
|
3.2. Design Considerations
|
|
|
|
It is possible to have each physical screen in your Xinerama setup to have a
|
|
different resolution. There are some advantages to this, I was able to use an
|
|
old monitor which only operates at 640x480, and a bigger 17" at 1280x1024 in
|
|
my setup. I have also heard of web developers and graphics designed who use
|
|
one big "preview" screen and flank it with one or two smaller screens. I
|
|
think this flexibility is one of the great things about the Xinerama
|
|
extensions.
|
|
|
|
There are several UI issues which are specific to Xinerama with most current
|
|
generation window managers (see Section 9) do not address well. The most
|
|
anoying is the poor handling of dead areas.
|
|
|
|
Window managers assume the display area is a rectangle equal in size to the
|
|
heighth and width of your total desktop. If you use more than one display
|
|
resolution in a Xinerama setup your desktop will be non-rectangular. This
|
|
results in "dead areas", areas which do not exist on your display, but window
|
|
manager interpret as "Empty". Many window managers will try to utilize this
|
|
dead area for new windows. The result is windows which are inaccessable. As
|
|
window managers become Xinerama aware and this problem will go away quickly.
|
|
|
|
Window managers also don't handle the concept of maximizing a window when you
|
|
are running Xinerama. Usually what happens is it maximizes your window across
|
|
all available screens. Having Netscape spread across 2 displays is generally
|
|
not the best way to surf the net.
|
|
|
|
Unlike with screen resolotion, Xinerama limits your entire virtual screen to
|
|
one color depth. If you were planning on pulling out a cheap video card for
|
|
your second display you need to keep this in mind. If your old video card
|
|
only supports 8 bit color you might get a bigger display but most newer
|
|
programs look lousy in 256 colors.
|
|
-----------------------------------------------------------------------------
|
|
|
|
3.3. Layout
|
|
|
|
Layout decisions are fairly simple, you just need to decide how you want to
|
|
physically lay out your monitors. Most people will simply place their
|
|
monitors in a row and view their desktop as one giant monitor. It is also
|
|
possible to overlap displays, or place them in more complex layouts. Keep in
|
|
mind though what I said above about window managers expecting rectangular
|
|
displays.
|
|
-----------------------------------------------------------------------------
|
|
|
|
4. AutoMagic Video Card Set Up
|
|
|
|
This is a good time to back up your existing config file
|
|
|
|
I did it like this:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > cp /etc/X11/XF86Config /etc/X11/XFree86Config.working |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Note: If your system may have two sets of config files XF86Config and
|
|
XF86Config-4. You can either work with the XF86Config-4 files, or rename
|
|
XF86Config-4 to somthing else and work with the XF86Config file. I will
|
|
assume that you are working with the XF86Config file from here out. If you
|
|
are working with XF86Config-4 or if your XF86Config file is located somewhere
|
|
other than /etc/X11 you will need to adjust the commands accordingly.
|
|
|
|
The newer versions of X support automatic config file generation and it works
|
|
very well. If this works for you you should be able to skip the next couple
|
|
steps.
|
|
|
|
Put all of your video cards into your system and set up your monitors. Set
|
|
everything up the way you want it when you are done, as you will have to
|
|
repeat steps later if you change things.
|
|
|
|
This next step needs to be done from the console with-out X running. If you
|
|
are in X, exit now. If your system uses a display manager such as xdm or gdm
|
|
exit you need to stop that service.
|
|
|
|
If you need to stop a display manager from RedHat the easiest way is like
|
|
this:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > telinit 3 |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
for Debian or Libranet :
|
|
+---------------------------------------------------------------------------+
|
|
|root# > /etc/init.d/xdm stop |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
If neither of these methods work you, reboot your computer and start up in
|
|
single user mode.
|
|
|
|
Once you are at the console prompt and logged in as root run X with the
|
|
configure option:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > X -configure |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Once you have done this X will normally generate a configuration file called
|
|
XF86Config.new in the home directory of the root user. Test out the
|
|
configuration file to see if it starts X windows properly:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > X -xf86config /root/XF86Config.new |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Chances are that your displays will come up with the generic X Windows
|
|
startup screen. If so, you are golden and just need to do a little fine
|
|
tuning. Exit X by pressing Control-Alt-Backspace and copy the new config file
|
|
to the /etc/X11 directory:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > cp /root/XF86Config.new /etc/X11/XF86Config |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Then continue to Section 7.3.
|
|
|
|
If your displays didn't come up properly continue to the next section to
|
|
manually configure your cards.
|
|
-----------------------------------------------------------------------------
|
|
|
|
5. Manual Video Card Set Up
|
|
|
|
If you didn't back up your XF86Config file in the previous section, do it
|
|
now. For example:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > cp /etc/X11/XF86Config /etc/X11/XFree86Config.working |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
One card at a time manually configure and install each video card/ monitor
|
|
combination you are going to have in your final setup. If you have several
|
|
identical video cards you can get away with configuring one and copying the
|
|
configuration for the other cards.
|
|
|
|
Note, it is possible configure and test your video cards without physically
|
|
swapping them. If you use the technique in Section 6 below and specify the
|
|
bus ID.
|
|
|
|
After you have each card set up, back up or print it's config file as you
|
|
will need it later. Here's how I did it:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > cp /etc/X11/XF86Config /etc/X11/XFree86Config.Matrox |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
If your video cards are identical you can probably get away with just one
|
|
copy. However don't skip this step, If all else fails this will be you backup
|
|
config file incase my instructions lead you astray.
|
|
|
|
Once you have all of your displays configured you are almost there...
|
|
-----------------------------------------------------------------------------
|
|
|
|
6. Scan the PCI Bus
|
|
|
|
For this portion you need all of your video cards in your system and your
|
|
monitors plugged in appropriately. Set everything up the way you want it when
|
|
you are done, as you will have to repeat steps later if you change things.
|
|
|
|
This next step needs to be done from the console with-out X running. If you
|
|
are in X, exit now. If your system uses a display manager such as xdm or gdm
|
|
exit you need to stop that service.
|
|
|
|
If you need to stop a display manager from RedHat the easiest way is like
|
|
this:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > telinit 3 |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
for Debian, Storm or Corel :
|
|
+---------------------------------------------------------------------------+
|
|
|root# > /etc/init.d/xdm stop |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
If neither of these methods work you, reboot your computer and start up in
|
|
single user mode.
|
|
|
|
In a multi-head setup you need to explicitly identify each video card in your
|
|
config file. To do this you need to use the PCI Bus Identifier your system
|
|
assigns the card. At this time, all video cards need to be in your system.
|
|
|
|
To find out what your PCI bus IDs are:
|
|
+---------------------------------------------------------------------------+
|
|
|root# > XFree86 -scanpci |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
X will then output a code for each device on your PCI bus.
|
|
+---------------------------------------------------------------------------+
|
|
|(0:0:0) Intel 82443BX Host |
|
|
|(0:1:0) Intel 82443BX AGP |
|
|
|(0:7:0) Intel 82371AB PIIX4 ISA |
|
|
|(0:7:1) Intel 82371AB PIIX4 IDE |
|
|
|(0:7:2) Intel 82371AB PIIX4 USB |
|
|
|(0:7:3) Intel 82371AB PIIX4 ACPI |
|
|
|(0:9:0) Adaptec 2940U/UW |
|
|
|(0:11:0) 3COM 3C900 10b Combo |
|
|
|(0:12:0) Matrox unknown card (0x2007) using a Matrox MGA 2164W |
|
|
|(1:0:0) unknown card (0x1092/0x0152) using a Texas Instruments Permedia 2 |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
PCI cards and devices are identified with a leading 0, AGP cards with a 1. In
|
|
my case I have a Matrox Millenium II (0:12:0) and a Diamond FireGL(1:0:0).
|
|
Find your video cards and write down the numbers associated with them. It is
|
|
important that you know which number goes with which card.
|
|
-----------------------------------------------------------------------------
|
|
|
|
7. Editing your XConfig File
|
|
|
|
If I haven't lost you so far, we are in the home stretch now. This section is
|
|
pretty confusiing so I suggest you also read the manpage for XF86Config, or
|
|
at least skim it. Do it now... I'll wait.
|
|
+---------------------------------------------------------------------------+
|
|
| root# > man XF86Config |
|
|
+---------------------------------------------------------------------------+
|
|
-----------------------------------------------------------------------------
|
|
|
|
7.1. Adding your video cards
|
|
|
|
Open your current XF86Config file and scroll down to the Monitor Section. You
|
|
want to copy the following sections from the device specific XF86Config
|
|
backup files you created above : Monitor, Device, Screen. These sections
|
|
should go in your XF86Config file after the coresponding section in the file
|
|
you have open. As you copy each section make certain that the Identifier is
|
|
unique for each section, you will reference these Identifiers later.
|
|
|
|
Clear as Mud Right? You should now have a Monitor Section, a Device Section,
|
|
and a Screen Section for EACH video card/monitor combination, each Section
|
|
should have a unique Identifier. If you are still confused reread the prior
|
|
paragraph. If that doesn't help, look at Section 10 I have included at the
|
|
end. You did read the manpage right?
|
|
-----------------------------------------------------------------------------
|
|
|
|
7.2. Identifying Your Video Cards
|
|
|
|
Now you need to add the coresponding PCI BusID as an option at the end of
|
|
each Device Section. The entry should look like this: BusID "PCI:0:12:0",
|
|
substituting the three numbers with the PCI bus ID which identifies YOUR
|
|
video card you should have this ID from Section 6. Here is a sample Device
|
|
Section for one of my video cards.
|
|
+---------------------------------------------------------------------------+
|
|
|Section "Device" |
|
|
| Identifier "FireGL" |
|
|
| Driver "glint" |
|
|
| BusID "PCI:1:0:0" |
|
|
|EndSection |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Please note, even AGP cards use this layout.
|
|
-----------------------------------------------------------------------------
|
|
|
|
7.3. Configuring the Server Layout
|
|
|
|
Now you need to edit the ServerLayout Section at the end of the XF86Config
|
|
File. The ServerLayour Section is exactally that, it tells you what Screens
|
|
to use, how to lay them out logically, and what input devices to assign to
|
|
them. Your current layout is for one screen, keyboard, and mouse. For each
|
|
Screen section you have created about you need reference in this section for
|
|
them to appear in your display.
|
|
|
|
Using the existing screen reference as a starting point, create additional
|
|
references for your other Screen Sections. The reference looks like this:
|
|
+---------------------------------------------------------------------------+
|
|
|Screen "Screen 2" Relationship "Screen 1" |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
This defines the relationship between the "Screen 2" and "Screen 1". Valid
|
|
Relationships include: RightOf, Below, Above, LeftOf, Absolute X Y, Relative.
|
|
Use of the first four relationships is pretty obvious as illustrated in my
|
|
sample:
|
|
+---------------------------------------------------------------------------+
|
|
|Section "ServerLayout" |
|
|
| Identifier "Simple Layout" |
|
|
| Screen "Screen 2" |
|
|
| Screen "Screen 1" RightOf "Screen 2" |
|
|
| InputDevice "Mouse1" "CorePointer" |
|
|
| InputDevice "Keyboard1" "CoreKeyboard" |
|
|
|EndSection |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
I have other examples in Section 10.
|
|
-----------------------------------------------------------------------------
|
|
|
|
8. Testing Your Configuration
|
|
|
|
Once you have completed changing your XF86Config file, save it and your can
|
|
now test your configuration :
|
|
+---------------------------------------------------------------------------+
|
|
| root# > startx -- +xinerama |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Hopefully you can now enjoy X with multiple partners... er that is, Monitors.
|
|
-----------------------------------------------------------------------------
|
|
|
|
8.1. Configuring X to Start Xinerama Automatically
|
|
|
|
The easiest way to have X start up with the Xinerama extentions is to add an
|
|
option in the "ServerFlags section. as follows:
|
|
+---------------------------------------------------------------------------+
|
|
|Section "ServerFlags" |
|
|
| Option "Xinerama" "true" |
|
|
| |
|
|
|EndSection |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Now Xinerama should start every time you start X.
|
|
-----------------------------------------------------------------------------
|
|
|
|
9. Window Managers and Xinerama
|
|
|
|
As I mentioned above, a window manager does not need to be written to support
|
|
Xinerama. However there are certain enhancements which window manager
|
|
developers can do to make Xinerama users lives easier. Features which I
|
|
thought were desireable include:
|
|
|
|
* Intelligent placement of windows.
|
|
|
|
- Window managers should not place windows in dead areas or across the
|
|
borders of two heads.
|
|
|
|
- New windows should be placed in the current desktop.
|
|
|
|
* Maximizing windows should maximize the window to the current head only.
|
|
|
|
* Window Movements should have edge resistance between heads (Much like they
|
|
have resistance to other windows).
|
|
|
|
* Dialogs and informative messages should not pop up Between Heads.
|
|
|
|
In my older howto I had listed a lot of Window Managers and their level of
|
|
support for Xinerama. But most of that information is obsolete now. Most
|
|
modern window managers support Xinerama to some extent.
|
|
-----------------------------------------------------------------------------
|
|
|
|
10. Sample XF86Config Files
|
|
|
|
My current XF86Config File :
|
|
+---------------------------------------------------------------------------+
|
|
|Section "Module" |
|
|
| Load "dbe" # Double buffer extension |
|
|
| SubSection "extmod" |
|
|
| Option "omit xfree86-dga" # don't initialise the DGA extension |
|
|
| EndSubSection |
|
|
| Load "type1" |
|
|
| Load "freetype" |
|
|
|# This loads the GLX module |
|
|
|# Load "glx" |
|
|
|EndSection |
|
|
| |
|
|
|Section "Files" |
|
|
| RgbPath "/usr/X11R6/lib/X11/rgb" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/local/" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/misc/" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/Type1/" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" |
|
|
| FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" |
|
|
|# The module search path. The default path is shown here. |
|
|
|# ModulePath "/usr/X11R6/lib/modules" |
|
|
|EndSection |
|
|
| |
|
|
|Section "ServerFlags" |
|
|
| Option "Xinerama" "true" |
|
|
|EndSection |
|
|
| |
|
|
|Section "InputDevice" |
|
|
| Identifier "Keyboard1" |
|
|
| Driver "Keyboard" |
|
|
| Option "AutoRepeat" "500 30" |
|
|
| Option "XkbRules" "xfree86" |
|
|
| Option "XkbModel" "pc101" |
|
|
| Option "XkbLayout" "us" |
|
|
|EndSection |
|
|
| |
|
|
|Section "InputDevice" |
|
|
| Identifier "Mouse1" |
|
|
| Driver "mouse" |
|
|
| Option "Protocol" "PS/2" |
|
|
| Option "Device" "/dev/psaux" |
|
|
|EndSection |
|
|
| |
|
|
|Section "Monitor" |
|
|
| Identifier "Mini" |
|
|
| HorizSync 31.5 |
|
|
| VertRefresh 50-90 |
|
|
|EndSection |
|
|
| |
|
|
|Section "Monitor" |
|
|
| Identifier "Impression" |
|
|
| HorizSync 31.5 - 82.0 |
|
|
| VertRefresh 50-100 |
|
|
|EndSection |
|
|
| |
|
|
|# Video Card #1, Matrox Millenium II PCI Video Card |
|
|
|Section "Device" |
|
|
| Identifier "Matrox" |
|
|
| Driver "mga" |
|
|
| VideoRam 8192 |
|
|
| BusID "PCI:0:12:0" |
|
|
|EndSection |
|
|
| |
|
|
|# Video Card # 2, Fire GL 1000 AGP video card. |
|
|
|Section "Device" |
|
|
| Identifier "FireGL" |
|
|
| Driver "glint" |
|
|
| #VideoRam 8192 |
|
|
| BusID "PCI:1:0:0" |
|
|
| |
|
|
|EndSection |
|
|
| |
|
|
|Section "Screen" |
|
|
| Identifier "Screen 2" |
|
|
| Device "FireGL" |
|
|
| Monitor "Impression" |
|
|
| DefaultDepth 16 |
|
|
| |
|
|
| Subsection "Display" |
|
|
| Depth 16 |
|
|
| Modes "1280x1024" "640x480" |
|
|
| ViewPort 0 0 |
|
|
| EndSubsection |
|
|
|EndSection |
|
|
| |
|
|
|# My Miniature monitor, notice that I used the virtual option so it is |
|
|
|# the same heighth as the larger monitor, this is not necessary. |
|
|
|Section "Screen" |
|
|
| Identifier "Screen 1" |
|
|
| Device "Matrox" |
|
|
| Monitor "Mini" |
|
|
| DefaultDepth 16 |
|
|
| |
|
|
| Subsection "Display" |
|
|
| Depth 16 |
|
|
| Modes "640x480" |
|
|
| ViewPort 0 0 |
|
|
| Virtual 640 1024 |
|
|
| EndSubsection |
|
|
|EndSection |
|
|
| |
|
|
|Section "ServerLayout" |
|
|
| Identifier "Simple Layout" |
|
|
| Screen "Screen 2" |
|
|
| Screen "Screen 1" Rightof "Screen 2" |
|
|
| InputDevice "Mouse1" "CorePointer" |
|
|
| InputDevice "Keyboard1" "CoreKeyboard" |
|
|
|EndSection |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
An alternate ServerLayout Section with one Monitor above the other.
|
|
+---------------------------------------------------------------------------+
|
|
|Section "ServerLayout" |
|
|
| Identifier "Simple Layout" |
|
|
| Screen "Screen 2" |
|
|
| Screen "Screen 1" Below "Screen 2" |
|
|
| InputDevice "Mouse1" "CorePointer" |
|
|
| InputDevice "Keyboard1" "CoreKeyboard" |
|
|
|EndSection |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
Screens can overlap too. In this configuration I make the two monitors
|
|
overlap by 80 pixels..
|
|
+---------------------------------------------------------------------------+
|
|
|Section "ServerLayout" |
|
|
| Identifier "Simple Layout" |
|
|
| Screen "Screen 2" |
|
|
| Screen "Screen 1" Relative "Screen 2" 1200 0 |
|
|
| InputDevice "Mouse1" "CorePointer" |
|
|
| InputDevice "Keyboard1" "CoreKeyboard" |
|
|
|EndSection |
|
|
+---------------------------------------------------------------------------+
|