X.Org/Dual Monitors/Matrox

From Gentoo Linux Wiki

Jump to: navigation, search


X.Org TOC

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.

File: xorg.conf
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:

File: xorg.conf
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:

File: xorg.conf
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
Personal tools