Getting dual-screen (xinerama) to work with Matrox G450/550 graphics cards and Xorg 1.5
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 ...
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 havemga_hal_drv.so
in/usr/lib/xorg/modules/drivers/
and yourxorg.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.
Comments
Display comments as Linear | Threaded