Just for future reference and to have the information together in one
place, getting dualhead monitors working on FreeBSD 6.2 along with X.org
6.9.0:

Download matrox_driver-x86_32-4.4.0.tar.gz from matrox.com. Extract it
and copy xserver/6.9.0/mga_drv.so and mga_hal_drv.so to
/usr/X11R6/lib/modules/drivers.

Given a compatible xorg.conf file to start with, /usr/ports/x11/mgapdesk
will generate an xorg.conf that has the dualhead setup with Xinerama. I
can't tell if it does anything more than that, really.

DRI only appears to work on the main display. When X is not running,
the second monitor mirrors the display of the first.

This working xorg.conf is a combination of one generated by X
-configure, mgapdesk, and my own customizations:

Section "ServerLayout"
Identifier "Manually Configured"
Screen 0 "Display0" RightOf "Display1"
Screen "Display1" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
#FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
#FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/URW/"
FontPath "/usr/X11R6/lib/X11/fonts/bitstream-vera/"
FontPath "/usr/X11R6/lib/X11/fonts/webfonts/"
EndSection

Section "Module"
Load "extmod"
Load "glx"
Load "dri"
Load "dbe"
Load "record"
Load "xtrap"
Load "type1"
Load "freetype"
EndSection

Section "DRI"
Mode 0666
EndSection

Section "ServerFlags"
Option "Xinerama"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
#DisplaySize 370 300 # mm
Identifier "Monitor0"
VendorName "PNR"
ModelName "Planar PE190"
### Comment all HorizSync and VertSync values to use DDC:
# HorizSync 24.0 - 80.0
VertRefresh 75.0
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Philips"
ModelName "Philips 150B3"
VertRefresh 60.0
EndSection

Section "Device"
### Available Driver options are:-
### Values: : integer, : float, : "True"/"False",
### : "String", : " Hz/kHz/MHz"
### [arg]: arg optional
#Option "SWcursor" # []
#Option "HWcursor" # []
#Option "PciRetry" # []
#Option "SyncOnGreen" # []
#Option "NoAccel" # []
#Option "ShowCache" # []
#Option "Overlay" # []
#Option "MGASDRAM" # []
#Option "ShadowFB" # []
#Option "UseFBDev" # []
#Option "ColorKey" #
#Option "SetMclk" #
#Option "OverclockMem" # []
#Option "VideoKey" #
#Option "Rotate" # []
#Option "TexturedVideo" # []
#Option "Crtc2Half" # []
#Option "Crtc2Ram" #
#Option "Int10" # []
#Option "AGPMode" #
#Option "AGPSize" #
#Option "DigitalScreen1" # []
#Option "DigitalScreen2" # []
#Option "TV" # []
#Option "TVStandard" # []
#Option "CableType" # []
#Option "NoHal" # []
#Option "SwappedHead" # []
#Option "DRI" # []
#Option "MergedFB" # []
#Option "Monitor2HSync" # []
#Option "Monitor2VRefresh" # []
#Option "Monitor2Position" # []
#Option "MetaModes" # []
#Option "UseMode3Vga" # []
#Option "OldDmaInit" # []
#Option "ForcePciDma" # []
Identifier "MATROX CARD 0"
Driver "mga"
VendorName "Matrox Graphics, Inc."
BoardName "G400/G450"
BusID "PCI:1:0:0"
EndSection

Section "Device"
Identifier "MATROX CARD 1"
Driver "mga"
VendorName "Matrox Graphics, Inc."
BoardName "G400/G450"
BusID "PCI:1:0:0"
Screen 1
EndSection

Section "Screen"
Identifier "Display0"
Device "MATROX CARD 0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Modes "1280x1024"
Viewport 0 0
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Display1"
Device "MATROX CARD 1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Modes "1024x768"
Viewport 0 0
Depth 24
EndSubSection
EndSection

--
Warren Block * Rapid City, South Dakota * USA