4.7. Framebuffer Matrox (mga_vid)

mga_vid è un'incrocio di un driver di uscita video e di un modulo del kernel, che utilizza il ridimensionatore e l'overlay video delle Matrox G200/G400/G450/G550 per effettuare una conversione dello spazio colore YUV->RGB e un ridimensionamento video arbitrario. mga_vid ha un supporto hardware per VSYNC con triplo buffering. Funziona sia in una console su framebuffer che dentro X, ma solo con Linux 2.4.x.

Per una versione del driver per Linux 2.6.x controlla http://attila.kinali.ch/mga/ oppure butta un occhio sul repository Subversion esterno di mga_vid, che si può ottenere tramite

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

Installazione:

  1. Per usarlo devi innanzitutto compilare drivers/mga_vid.o:

    cd drivers
    make drivers

  2. Poi esegui (come root)

    make install-drivers

    che dovrebbe installare il modulo e creare per te il nodo del dispositivo. Carica il driver con

    insmod mga_vid.o

  3. Dovresti verificare il rilevamento della dimensione della memoria usando il comando dmesg. Se è errato, usa l'opzione mga_ram_size (prima fai rmmod mga_vid), indicando in MB la dimensione della memoria della scheda:

    insmod mga_vid.o mga_ram_size=16

  4. Per far sì che venga caricato/scaricato quando serve, prima inserisci la riga seguente alla fine di /etc/modules.conf:

    alias char-major-178 mga_vid

  5. Ora devi (ri)compilare MPlayer, ./configure rileverà /dev/mga_vid e compilerà il driver 'mga'. Si potrà usare da MPlayer con -vo mga se sei su una console matroxfb, oppure -vo xmga se sei sotto XFree86 3.x.x o 4.x.x.

Il driver mga_vid collabora con Xv.

Si può leggere il file del dispositivo /dev/mga_vid per alcune informazioni, per esempio facendo

cat /dev/mga_vid

e ci si può scrivere per modificare la luminosità:

echo "brightness=120" > /dev/mga_vid

Nella stessa directory c'è un'applicazione di test che si chiama mga_vid_test. Se tutto funziona bene, dovrebbe disegnare immagini di 256x256 sullo schermo.