I use Matrox's own drivers. They are very easy to install. Either use the supplied install script, or just enter the directory corresponding to your version of XFree86/X.org, copy mga_drv.o and mga_hal_drv.o to /usr/X11R6/lib/modules/drivers/ and mga_dri.so to /usr/X11R6/lib/modules/dri/. Remember to backup the original files!.
Get my X configuration file: xorg.conf config or the old XF86Config-4 config.
Settings to enable matrox framebuffer console in a 2.6.x kernel:
Device Drivers --->
Graphics support --->
[*] Support for frame buffer devices
<*> Matrox acceleration
[*] G100/G200/G400/G450/G550 support
<M> Matrox I2C support
<M> G400 second head support
Console display driver support --->
<*> Framebuffer Console support/etc/lilo.config:
append="video=matroxfb:vesa:0x11C" # Use matrox instead of matroxfb if you are using a 2.4.x kernel
/sbin/lilo -v
/usr/src/linux/Documentation/fb/matroxfb.txt for a full list of supported framebuffer modes.First configure the kernel to support the Matrox framebuffer, as described above. Connect your TV to the second head, using the VGA to S-Video/composite adaptor that came with the G400Max.
I have created a small script which loads the modules, configures TV out for the second head, and sets the resolution to 720x576. See below for links to matroxset and fbset.#!/bin/bash modprobe i2c-matroxfb #modprobe matroxfb_proc # only needed for kernel 2.4.x #modprobe matroxfb_crtc2 # only needed for kernel 2.4.x modprobe matroxfb_maven matroxset -f /dev/fb1 -m 0 matroxset -f /dev/fb0 -m 0 matroxset -f /dev/fb0 -m 3 matroxset -o 1 1 # Sets the output to pal, ntsc users should use -o 1 2 # Set the resolution to 720x576 fbset -fb /dev/fb0 -left 18 -right 0 -upper 39 -lower 10 -hslen 46 \ -vslen 4 -xres 720 -yres 576 -vxres 720 -vyres 576 -depth 32 \ -laced false -bcast true
man fbset, and try fbset -move right or left/down/up.
If you get a corrupted / messed up image, try to switch console (Alt+F2) and back again (Alt+F1). It helped to add "nopan" to the append line in lilo.conf
The next step is only necessary if you want to the X server running on the framebuffer, and thereby getting the X server cloned to the TV screen.The third way is to use cloned X. While this is fairly easy to set up, it does not have many features. You will not get accelerated video, and no overscan, that is: the image on the TV will not fill the entire screen. But if you want to try, read my instructions on how to clone X
I use Nvidias's own drivers, the Open Source driver "nv" does sadly not support XV or direct rendering :(. In Gentoo Linux, just emerge nvidia-kernel nvidia-glx.
To tweak the settings, e.g. overscan, color, of the display, I recommend nvidia-settings, it is in portage
ATI has finally decided that we are worthy to get some drivers for Linux that support this card (Waiting for drivers for over 5 months is fun... NOT!)
The card is supported by ATI's driver version 8.25.18 and newer.