Skip to content

Getting dual-screen (xinerama) to work with Matrox G450/550 graphics cards and Xorg 1.5

Gentoo

Gentoo finally decided to update Xorg to 1.5. Because this has very substantial changes against the previous version, some things break and there is a migration guide that you are nagged to read. After the upgrade I found that the Matrox card in one of my servers would not display xinerama anymore, i.e. I would get the same image on both screens only. This is the default behaviour for the stock Xorg mga driver. It needs a proprietary HALlib to get real dual-screen capabilities. Whilst there are a few unstable ebuilds for x11-drivers/xf86-video-mga none worked for me any better with Xinerama. The Gentoo Changelog is useless as usual. (Gentoo ebuild ChangeLogs tend to never really tell what is fixed, if you're lucky they reference a bug with a good description. But that's only if you're really lucky.)

Worse, that driver hasn't been updated by Matrox anymore since mammals took over the earth (figuratively ... 2005). This is the typical unmaintained-closed-source-drivers-make-hardware-obsolete-sooner-than-later story. Luckily the cards are quite widely used and clever people from the Open Source community have written guides (Tuxx-Home, Fkung) on how to dissect the proprietary driver and combine parts of it with the Open Source version so that it can be linked into recent X servers. Unfortunately because of the architectural changes in Xorg 1.5, following these guides will fail at the compile stage.

In the Matrox Forum of Alexander Griesser, the author of the first comprehensive Matrox driver install guide linked above, people currently mostly downgrade to previous Xorg versions to work around the issue.

But there is a better^Hworking solution already emerging :-P ...

Some nice folks at Ubuntu have basically solved the issue (https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-mga/+bug/292214) so you can use their patch or binary driver to get Gentoo Xorg 1.5 working with Matrox dual-head setups again.

I went with the binary. So, this worked for me:

  • I assume you have followed one of the guides linked above to get the right .tar.gz files from Matrox onto your harddisk and installed mga_hal_drv.so from it. I.e. you are expected to have mga_hal_drv.so in /usr/lib/xorg/modules/drivers/ and your xorg.conf should have been set up for xinerama already!
  • Close your Xserver and make sure, it doesn't restart (i.e. into xdm, kdm and the like).
  • cd /usr/lib/xorg/modules/drivers/
  • mv mga_drv.so mga_drv.so.BACKUP
  • Download the correct arch .deb package (i.e. https://launchpad.net/%7Eandy-ub1/+archive/ppa/+files/xserver-xorg-video-mga_1.4.9.dfsg-andy2_i386.deb for x86, local mirror) from Andy MacLean's repository https://launchpad.net/~andy-ub1/+archive/ppa.
  • extract /usr/lib/xorg/modules/drivers/mga_drv.so from the .deb (Midnight commander (mc) can do this nicely on Gentoo) and put that in /usr/lib/xorg/modules/drivers/.
  • start your Xserver (i.e. startx).

Note: the mga_drv.so compiled by Bryce Harrington (https://edge.launchpad.net/~bryceharrington/+archive/ppa) do not work for Gentoo at the moment as they were compiled against a more recent version of Xorg. They may come in handy later though.

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

No comments

Add Comment

Markdown format allowed
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Submitted comments will be subject to moderation before being displayed.