A good start is to read the Xinerama HOWTO:
http://www.linuxdoc.org/HOWTO/Xinerama-HOWTO.html
Matrox also distributes their own dirvers for the G4xx series, whice are
usually a little more recent than the XFree86 version. Also, matrox
sells an attachment to add a second port to their G400 cards, you may
want to look into that so you don't mess with two video cards.
ftp://ftp.matrox.com/pub/mga/archive/linux/2001/beta_1_2_0/
In addition, at the SuSE ftp site where you get the updates for XFree86
4.0.3 there is a README file that you should read if you want to use
sax2, GLX/DRI, etc.
I'm including my XF86Config, nowadays I modify by hand. Use what may
apply to you.
NOTE: GLX/DRI doesn't work in xinerama mode. Antialiased fonts don't
display in my second head.
--
Rafael
#--------#
# »» SaX generated XFree86 config file ««
# Copyright (c) 2000 SuSE GmbH Nuernberg, All rights reserved.
#
# Version: 4.0
# Contact: Marcus Schaefer , 2000
#
# this file has been created from SaX version 4.0
# Please do not edit this file, changes may be lost the
# next time using SaX
#
Section "Files"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/local"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
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/URW"
FontPath "/usr/X11R6/lib/X11/fonts/truetype"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/PEX"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/misc"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/latin7/75dpi"
# FontPath "/usr/X11R6/lib/X11/fonts/kwintv"
FontPath "/usr/X11R6/lib/X11/fonts/uni"
FontPath "/usr/X11R6/lib/X11/fonts/lfp-var:unscaled"
# FontPath "/usr/X11R6/lib/X11/fonts/ucs/misc"
# FontPath "/usr/X11R6/lib/X11/fonts/ucs/75dpi"
# FontPath "/usr/X11R6/lib/X11/fonts/ucs/100dpi"
# FontPath "/usr/X11R6/lib/X11/fonts/hellas/misc"
# FontPath "/usr/X11R6/lib/X11/fonts/hellas/75dpi"
# FontPath "/usr/X11R6/lib/X11/fonts/hellas/100dpi"
# FontPath "/usr/X11R6/lib/X11/fonts/hellas/Type1"
# FontPath "/usr/X11R6/lib/X11/fonts/xtest"
# FontPath "tcp/127.0.0.1:7102"
ModulePath "/usr/X11R6/lib/modules"
RgbPath "/usr/X11R6/lib/X11/rgb"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail"
Option "BlankTime" "15"
Option "SuspendTime" "20"
Option "StandbyTime" "21"
Option "OffTime" "22"
EndSection
Section "Module"
Load "extmod"
Load "dbe"
Load "glx"
Load "dri"
Load "xie"
Load "type1"
Load "speedo"
Load "freetype"
Load "record"
# Load "pex5"
# SubSection "extmod"
# Option "omit xfree86-dga"
# EndSubSection
EndSection
Section "InputDevice"
Driver "keyboard"
Identifier "Keyboard[0]"
Option "Protocol" "Standard"
Option "XkbKeyCodes" "xfree86"
Option "XkbLayout" "us"
Option "XkbModel" "pc104"
Option "XkbRules" "xfree86"
Option "Xleds" "1 1 1"
EndSection
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "Device" "/dev/psaux"
Option "Name" "Unknown"
Option "Protocol" "IMPS/2"
Option "Vendor" "Unknown"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[2]"
Option "Device" "/dev/input/mice"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
VendorName "HP"
Identifier "HPmonitor"
UseModes "HPmodes"
ModelName "1280x1024@75Hz"
HorizSync 75-78.5
VertRefresh 70-72.5
DisplaySize 350 272
# Option "DPMS"
EndSection
Section "Monitor"
VendorName "KDS"
ModelName "KD-1731"
Identifier "KDSmonitor"
UseModes "KDSmodes"
HorizSync 30-70
VertRefresh 50-160
Option "DPMS"
DisplaySize 315 240
EndSection
Section "Monitor"
VendorName "CTX"
ModelName "CTX-5468"
Identifier "CTXmonitor"
UseModes "CTXmodes"
VertRefresh 50-90
HorizSync 30-38
Option "DPMS"
EndSection
Section "Modes"
Identifier "HPmodes"
Modeline "1280x1024" 135 1280 1344 1536 1728 1024 1027 1030 1085 -hsync -vsync
EndSection
Section "Modes"
Identifier "KDSmodes"
Modeline "1440x1080" 127.00 1440 1552 1688 1896 1080 1086 1096 1121 +hsync +vsync
Modeline "1024x768" 93.18 1024 1056 1152 1344 768 774 784 800 +hsync +vsync
Modeline "1024x768ntsc" 54.32 1024 1040 1216 1328 768 768 774 802
Modeline "1152x864ntsc" 80.93 1152 1168 1384 1496 864 864 872 902
EndSection
Section "Modes"
Identifier "CTXmodes"
Modeline "800x600" 39.22 800 840 992 1040 600 612 617 632 -hsync -vsync
EndSection
#Section "Device"
# Identifier "MATROXdevice"
# VendorName "Matrox"
# BoardName "MillenniumII"
# BusID "0:8:0"
# Driver "mga"
# Videoram 4096
# Option "SyncOnGreen"
#EndSection
#Section "Device"
# Identifier "ATIdevice"
# VendorName "ATI"
# BoardName "Rage3DProAGP"
# BusID "1:0:0"
# Driver "ati"
# Videoram 4096
#EndSection
Section "Device"
Identifier "MATROXG450_1"
VendorName "Matrox"
BoardName "G450"
BusID "1:0:0"
Driver "mga"
Option "DPMS"
Screen 0
EndSection
Section "Device"
Identifier "MATROXG450_2"
VendorName "Matrox"
BoardName "G450"
BusID "1:0:0"
Driver "mga"
Option "DPMS"
Screen 1
EndSection
Section "Device"
Identifier "MATROXG100"
VendorName "Matrox"
BoardName "G100"
BusID "1:0:0"
Driver "mga"
Option "DPMS"
EndSection
Section "Screen"
Identifier "KDSscreen"
# Device "ATIdevice" # uncomment when using ATI card.
Device "MATROXG450_1"
Monitor "KDSmonitor"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "HPscreen"
Device "MATROXG450_2"
Monitor "HPmonitor"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "CTXscreen"
Device "MATROXG100"
Monitor "CTXmonitor"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "800x600"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "DualHead"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[2]" "SendCoreEvents"
Option "Xinerama" "on"
Screen "KDSscreen"
Screen "HPscreen" LeftOf "KDSscreen
EndSection
Section "ServerLayout"
Identifier "TwoHead"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[2]" "SendCoreEvents"
Option "Xinerama" "off"
Screen "KDSscreen"
Screen "HPscreen" LeftOf "KDSscreen
EndSection
Section "ServerLayout"
Identifier "CTXHead"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[2]" "SendCoreEvents"
Option "Xinerama" "off"
Screen "CTXscreen"
EndSection
Section "ServerLayout"
Identifier "KDSHead"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[2]" "SendCoreEvents"
Option "Xinerama" "off"
Screen "KDSscreen"
EndSection
# The second port won't work by itself so the corresponding
# screen has to configured to use the first port and the
# cables have to be swapped.
Section "ServerLayout"
Identifier "HPHead"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[2]" "SendCoreEvents"
Option "Xinerama" "off"
Screen "HPscreen"
EndSection
Section "DRI"
Group "video"
Mode 0660
EndSection