8.7. Matrox-Framebuffer (mga_vid)

mga_vid ist eine Kombination aus einem Videoausgabetreiber und Linux-Kernelmodul, das die Matrox G200/G400/G450/G550 Scaler-/Overlay-Einheit verwendet, um YUV->RGB-Farbraumkonvertierungen und beliebige Videoskalierungen durchzuführen. mga_vid bietet Unterstützung für Hardware-VSYNC und Dreifachpufferung. Dieser Treiber funktioniert sowohl unter der Framebufferconsole als auch unter X, jedoch nur mit Linux 2.4.x.

Für eine Version für Linux 2.6.x gehe auf http://attila.kinali.ch/mga/.

Installation:

  1. Um den Treiber benutzen zu können, musst du erstmal mga_vid.o compilieren:

    cd drivers
    make

  2. Führe dann (als root) folgenden Befehl aus:

    make install

    Dies sollte das Modul installieren und das Device-Node für dich erstellen. Lade den Treiber mit

    insmod mga_vid.o

  3. Du solltest sicherstellen, dass das Modul die Größe des Grafikkartenspeichers korrekt ermittelt hat. Benutze dazu dmesg. Wenn die Angabe nicht stimmt, dann gib nach rmmod mga_vid mit Hilfe der Option mga_ram_size die Größe explizit an:

    insmod mga_vid.o mga_ram_size=16

  4. Wenn das Modul automatisch geladen und entladen werden soll, sobald es benötigt wird, so füge die folgende Zeile in der Datei /etc/modules.conf ein:

    alias char-major-178 mga_vid

  5. Schließlich musst du noch MPlayer (erneut) compilieren. configure wird automatisch /dev/mga_vid finden und den 'mga'-Treiber erstellen. Die entsprechende Option für MPlayer lautet -vo mga, wenn du mit dem matroxfb auf der Console arbeitest, oder -vo xmga, wenn du unter XFree 3.x.x oder XFree 4.x.x arbeitest.

Der mga_vid-Treiber kooperiert mit Xv.

Das Gerät /dev/mga_vid kann z.B. mit

cat /dev/mga_vid

ausgelesen werden, um ein paar Informationen über den aktuellen Zustand zu erhalten. Die Helligkeit kann zusätzlich mit z.B.

echo "brightness=120" > /dev/mga_vid

angepasst werden.

Es gibt ein Testprogramm namens mga_vid_test im selben Verzeichnis. Es sollte 256x256 große Bilder auf den Schirm zeichnen, wenn alles gut funktioniert.