home < linux < [debian-tips]    [shaper]    [stlport.m4]    ubuntu-dualhead-matrox'); ?>

Summary

This document contains a 2-minute walkthrough to get your Ubuntu 6.06 system with a Matrox G450/G550 card to work with a dualhead setup.

The Problem

Matrox is a rather old-fashioned corporation, persisting in not releasing the specs of (obsolete) videocards, and only offering support in the form of binary-only drivers with some glue. In other words: the Linux-driver Matrox offers to its clients only supports rather ancient versions of X. Ubuntu 6.06 LTS contains a fresh version of X.org. So the problem boils down to convincing the old Matrox driver to work with the new X.org...

The Solution

Luckily, there's a solution: on the Matrox Support Forums there's a description of how to patch the X.org mga-driver to use the Matrox binary only module, and even though there's a really nice walkthrough at the end of that page, it still cost me several hours to get it to work properly - a binary only version would have been easier, so click below to get them:
mga_hal.o
This is the same file as matrox_driver-x86-4.3.0/xserver/6.8.2/mga_hal_drv.o from the Matrox driver package which can be found online at Matrox
mga_drv.so
This is the driver produced using the procedure outlined in the Matrox Support Forum
xorg.conf
For your convenience, here's a working xorg.conf. Note that a lot of stuff is defined twice, once for screen 0 and once for screen 1. Also you'll want to enable Xinerama, or your setup is less than optimal.
After you've downloaded these files, copy the drivers to /usr/lib/xorg/modules/drivers/, rub your configuration 'til it bleeds (using the xorg.conf provided here), and then go get some work done... Good luck!