I got a Matrox G450 PCI card with 32mb ram to replace an old Ati Rage - to get a decent resolution, plus 2d and 3d acceleration.
Using latest mga (1.4.9) and supposedly latest drm (2.6.24.7, and mga drivers in general don't see a lot of changes) on Xorg 7.2. I have direct rendering working.
Using XAA or EXA does not matter (though in EXA I see other corruption, likely due to early EXA in 7.2)
Well, just for you hon, I tried both the HAL blob and the full blob.
Results:
HAL did not get loaded at all with OSS mga. Not even when explicitly saying "NoHAL" "false".
The full binary did get X up, and load the HAL, but without DRI. So I couldn't test the Matrox binary for this bug, as Mesa software rendering does not have it.
I have the same problems with g450 pci.
Compiling latest code from git://anongit.freedesktop.org/git/xorg/driver/xf86-video-mga made things slightly better.
Using mga_hal via the drivers provided by //http://projects.tuxx-home.at/mga/drivers/latest/ didn't help too much.
If you want to try them though have a look in the howto section at http://forum.tuxx-home.at/
on how to use and install them.
Also in my case the Videoram of the card was detected erraticly.
Using the driver from git and setting VideoRam in xorg.conf made the problem nearly vanish. 3d performance is still very bad though.
Letters in etrcacer are looking normal now, but still some gliches with some of the screensavers. And any games are still too slow to play and often make X crash (or at least unresponsive).