4.15. VIDIX
Précédent | Chapitre 4. Sorties vidéo | Suivant

## 4.15. VIDIX

PRÉAMBULE. VIDIX est l'abréviation de VIDéo Interface for *niX. VIDIX a été conçu et présenté comme une interface pour les pilotes espace-utilisateur rapides fournissant des performances égales à celles de mga_vid pour les cartes Matrox. Il est aussi très portable.

Cette interface à été conçue comme une tentative de regrouper les interfaces d'accélération existantes (connues sous les noms mga_vid, rage128_vid, radeon_vid, pm3_vid) dans un schéma uniforme. Il fournit une interface de haut niveau aux chipsets connus sous les noms de BES (BackEnd scalers) ou OV (Video Overlays). Il ne fournit pas une interface de bas niveau pour les choses connues sous le nom de serveurs graphiques. (Je ne veux pas concourir avec l'équipe X11 en changement de mode graphique). C'est à dire que le but principal de cette interface est de maximiser la vitesse de la lecture vidéo.

UTILISATION

- Vous pouvez utiliser le pilote de sortie vidéo autonome : `-vo xvidix`. Ce pilote à été développé comme un front end X11 pour la technologie VIDIX. Il requiert un serveur X et ne peut fonctionner que sous X. Notez que, comme il accède directement au matériel et contourne le pilote X, les pixmaps mis en cache dans la mémoire de la carte graphique peuvent être corrompus. Vous pouvez éviter cela en limitant la quantité de mémoire utilisée par X avec l'option "VideoRam" dans la section "device" de XFree86Config. Vous devriez fixer cette valeur avec la quantité de mémoire installée sur votre carte moins 4Mo. Si vous avez moins de 8Mo de mémoire vidéo, vous pouvez utiliser l'option "XaaNoPixmapCache" dans la section "screen" à la place.

- Il existe un pilote console VIDIX : `-vo cvidix`. Celui-ci requiert un framebuffer fonctionnel et initialisé pour la plupart des cartes (ou sinon vous brouillerez simplement l'écran), et vous aurez un effet similaire à `-vo mga` ou `-vo fbdev`. Les cartes nVidia par contre sont capables d'afficher de la vidéo graphique dans une console texte. Voir la section nvidia_vid pour plus d'informations. Pour vous débarrasser du texte sur les bords et du curseur clignotant essayez

      setterm -cursor off > /dev/tty9

  (en supposant que le terminal `tty9`n'est pas utilisé), puis basculez sur `tty9`. Sinon, l'option `-colorkey 0`devrait lire la vidéo en arrière-plan, un tant soit peu que la fonctionnalité de `-colorkey` soit opérationelle.

- Vous pouvez utiliser le sous-périphérique VIDIX qui à été appliqué à de nombreux pilotes de sortie vidéo, tels que : `-vo vesa:vidix` (Linux uniquement) et `-vo fbdev:vidix`.

De plus le pilote de sortie vidéo utilisé avec VIDIX n'a pas d'importance.

BESOINS

- La carte graphique devrait être en mode graphique (excepté les cartes nVidia avec le pilote `-vo cvidix`).

- Le pilote de sortie vidéo de MPlayer devrait connaître les modes vidéos actifs et être capable de donner au sous-périphérique VIDIX quelques caractéristiques du serveur.

MÉTHODES D'UTILISATION. Quand VIDIX est utilisé en temps que sous-périphérique (`-vo vesa:vidix`), alors la configuration du mode vidéo est faite par le périphérique de sortie vidéo (vo_server en bref). Par conséquent vous pouvez passer en ligne de commande les mêmes touches que pour vo_server. De plus il comprends l'option `-double` comme un paramètre global (je recommande l'utilisation de cette option au moins pour les cartes ATI). Comme pour `-vo xvidix`, il reconnaît actuellement les options suivantes : `-fs -zoom -x -y -double`.

Vous pouvez aussi spécifier le pilote VIDIX directement en troisième sous-argument en ligne de commande :

    mplayer -vo xvidix:mga_vid.so -fs -zoom -double
    fichier.avi

ou

      mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32
    fichier.avi

Mais c'est dangereux, et vous ne devriez pas faire ça. Dans ce cas le pilote indiqué sera forcé et le résultat sera imprévisible (cela peut bloquer votre ordinateur). Vous ne devriez le faire UNIQUEMENT si vous êtes absolument sûr que cela va fonctionner, et MPlayer ne le fait pas automatiquement. Dites-le aux développeurs, SVP. La bonne façon est d'utiliser VIDIX sans argument pour activer l'autodétection du pilote.

### 4.15.1. svgalib_helper

Comme VIDIX requiert l'accès direct au matériel, vous avez le choix entre le lançer en tant que root ou définir le bit SUID du binaire MPlayer (Attention : c'est une faille de sécurité !). Sinon, si vous utilisez un noyau Linux 2.4.x, vous pouvez utiliser un module noyau spécial, comme ceci :

1. Téléchargez la version de développement de svgalib (par exemple 1.9.17), OU téléchargez une version faite par Alex spécialement pour utilisation avec MPlayer (elle ne nécessite pas les sources de svgalib pour compiler) ici.

2. Compilez le module dans le répertoire `svgalib_helper` (il peut être trouvé à l'intérieur du répertoire `svgalib-1.9.17/kernel/` si vous avez téléchargé les sources depuis le site de svgalib) et faire un insmod.

3. Pour créer les périphériques nécessaires dans le répertoire `/dev`, faites un

       make device

   dans le répertoire `svgalib_helper`, en root.

4. Puis lancez de nouveau `configure` en passant les paramètres `--enable-svgalib_helper` et `--extra-cflags=/path/to/svgalib_helper/sources`, ajustés à l'emplacement où vous avez décompressé les sources.

5. Recompilez.

### 4.15.2. Cartes ATI

Actuellement la plupart des cartes ATI sont supportés nativement, de la Mach64 jusqu'aux nouvelles Radeons.

Il y a deux binaires compilés : `radeon_vid` pour les cartes Radeon et `rage128_vid` pour les Rage 128. Vous pouvez en forcer un ou laisser le système VIDIX le détecter parmis les pilotes disponibles.

### 4.15.3. Cartes Matrox

Les Matrox G200, G400, G450 et G550 doivent normalement fonctionner.

Le pilote supporte les égaliseurs vidéo et devrait être presque aussi rapide que le framebuffer Matrox

### 4.15.4. Cartes Trident

Il y a un pilote disponible pour les chipsets Trident Cyberblade/i1, qui peuvent être trouvés sur les cartes-mère VIA Epia.

Le pilote a été écrit et est maintenu par Alastair M. Robinson.

### 4.15.5. Cartes 3DLabs

Bien qu'il y ai un pilote pour les chips 3DLabs GLINT R3 et Permedia3, personne ne l'a testé, donc les rapports sont les bienvenus.

### 4.15.6. Cartes nVidia

Une fonction unique du pilote nvidia_vid est la capacité d'afficher de la vidéo dans un console uniquemnent textuelle - avec aucun framebuffer ou X. Pour ce faire, nous aurons besoin d'utiliser la sortie `cvidix`, comme le montre l'exemple suivant :

        mplayer -vo cvidix exemple.avi

### 4.15.7. Cartes SiS

C'est du code très expérimental, comme nvidia_vid.

Testé sur SiS 650/651/740 (les chipsets les plus couramment utilisés dans les versions SiS des barebones "Shuttle XPC")

Rapports attendus !

Précédent | Niveau supérieur | Suivant
4.14. X11 | Sommaire | 4.16. DirectFB