4.5. Matrox framebuffer (mga_vid)
Prev | Chapter 4. Video output devices | Next

## 4.5. Matrox framebuffer (mga_vid)

`mga_vid` is a combination of a video output driver and a Linux kernel module that utilizes the Matrox G200/G400/G450/G550 video scaler/overlay unit to perform YUV->RGB colorspace conversion and arbitrary video scaling. `mga_vid` has hardware VSYNC support with triple buffering. It works on both a framebuffer console and under X, but only with Linux 2.4.x.

For a Linux 2.6.x version of this driver check out http://attila.kinali.ch/mga/ or have a look at the external Subversion repository of mga_vid which can be checked out via

    svn checkout svn://svn.mplayerhq.hu/mga_vid

Installation:

1. To use it, you first have to compile `drivers/mga_vid.o`:

       make drivers

2. Then run (as `root`)

       make install-drivers

   which should install the module and create the device node for you. Load the driver with

       insmod mga_vid.o

3. You should verify the memory size detection using the dmesg command. If it's bad, use the `mga_ram_size` option (rmmod mga_vid first), specify card's memory size in MB:

       insmod mga_vid.o mga_ram_size=16

4. To make it load/unload automatically when needed, first insert the following line at the end of `/etc/modules.conf`:

       alias char-major-178 mga_vid

5. Now you have to (re)compile MPlayer, ./configure will detect `/dev/mga_vid` and build the 'mga' driver. Using it from MPlayer goes by `-vo mga` if you have matroxfb console, or `-vo xmga` under XFree86 3.x.x or 4.x.x.

The mga_vid driver cooperates with Xv.

The `/dev/mga_vid` device file can be read for some info, for example by

    cat /dev/mga_vid

and can be written for brightness change:

    echo "brightness=120" > /dev/mga_vid

There is a test application called mga_vid_test in the same directory. It should draw 256x256 images on the screen if all is working well.

Prev | Up | Next
4.4. Framebuffer output (FBdev) | Home | 4.6. 3Dfx YUV support