X.Org/Dual Monitors/Matrox
From Gentoo Linux Wiki
A distribution neutral forum for matrox related issues can be found at tuxx-home.at Support Forum. The bundled mga and mga_hal drivers work on a Gentoo system.
Here are some notes for a Matrox G550, successfully running Xinerama on two Dell P991s, with no acceleration yet.
Section "ServerFlags" Option "Xinerama" "on" EndSection Section "Device" Identifier "Matrox0" Driver "mga" BusID "PCI:1:0:0" #check this with lspci Screen 0 EndSection Section "Device" Identifier "Matrox1" Driver "mga" BusID "PCI:1:0:0" #check this with lspci Screen 1 EndSection
You still need to specify the Screen and ServerLayout sections in the usual way. Relevant kernel options:
| Linux Kernel Configuration: Matrox Kernel Setup |
Device Drivers --->
Graphics support --->
<*> /dev/agpgart (AGP Support) --->
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<*> Matrox g200/g400
|
To get the hardware acceleration with dual Monitors, You need the additional driver from Matrox called "mga_hal_drv.o". It might not be available for your version of the X server, though. Copy it to /usr/X11R6/lib/modules/drivers. Now You can use a configuration like this:
Section "ServerFlags" Option "Xinerama" "off" EndSection Section "Device" Identifier "Matrox" Driver "mga" BusID "PCI:1:0:0" #check this with lspci EndSection Section "Screen" Identifier "Screen Merged" Device "Matrox" Monitor "Monitor0" Option "MergedFB" "on" Option "Monitor2Position" "LeftOf" #Position of the second Monitor Option "MetaModes" "1024x768-1024x768 800x600-800x600 1024x768 800x600" #Display sizes # add the second Monitor data here Option "Monitor2HSync" "30-80" Option "Monitor2VRefresh" "50-120" DefaultDepth 16 SubSection "Display" Virtual 2048 768 Depth 16 Modes "1024x768" "800x600" EndSubSection EndSection
[edit] Matrox G200
With the G200, G450, and G550 in some configurations, the vanilla mga driver isn't enough to get dual head working. You also need the binary HAL driver from Matrox. The latest version hides at ftp://ftp.matrox.com/pub/mga/archive/linux/2005/
Once you've downloaded the driver pack and used the install script to install the right XFree86 module, you will be able to set things up with xinerama and X thinking you have two (or up to 4, with the right card) graphics cards. As before, configure two driver sections (one for each entry in the pci bus), two screen sections (one for each device), and then define them to be linked in the server layout:
Section "ServerFlags"
Option "Xinerama" "on"
EndSection
Section "Device"
Identifier "Matrox0"
Driver "mga"
BusID "PCI:2:0:0" #check this with lspci. first entry, probably called a video controller
Screen 0
EndSection
Section "Device"
Identifier "Matrox1"
Driver "mga"
BusID "PCI:2:4:0" #check this with lspci, probably won't be called a video controller
Screen 1
EndSection
Section "Screen"
Identifier "Screen 0"
Device "Matrox0"
Monitor "MyMonitor"
DefaultDepth 16
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection
Section "Screen"
Identifier "Screen 1"
Device "Matrox1"
Monitor "MyMonitor"
DefaultDepth 16
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection
Section "ServerLayout"
# These bits as per your current settings
Identifier "Default Layout"
InputDevice "Generic Keyboard"
InputDevice "Generic Mouse"
# Replace 'Screen "Screen 0"' with this
Screen "Screen 0" LeftOf "Screen 1"
Screen "Screen 1"
EndSection