NVidia GeForce 2 MX 400

Mon premier essai est avec une ancienne GeForce 2 MX 400 équipée d'une sortie TV composite. Au boot, la sortie TV s'active toute seule et reste à peut près potable pour le mode console pur et dur.

Le framebuffer par défaut active egalement la sortie TV sans problème. Il faut juste regler la résolution dans le fichier /etc/lilo.conf avec le paramètre vga. Par exemple vga=789 pour un affichage 800x600 en 16 millions de couleurs. Ci-après le tableau de tous les codes (il me semble que certains ne fonctionnent qu'avec bootsplash).

Colors-----640x480-----800x600-----1024x768-----1280x1024
256----------769---------771----------773----------775
32000--------784---------787----------790----------793
65000--------785---------788----------791----------794
16.7 Mill.---786---------789----------792----------795

Pour XFree 4.3 maintenant, c'est une autre paire de manches à tordre. Les drivers libres ("nv") sont, d'après ce que j'ai pu tester, incapables de gerer tout seul la sortie TV (sans parler du fait qu'il n'y aura aucune acceleration 3D). Donc il faut installer les drivers propriétaires et configurer XFree. Heureusement, les drivers de NVidia, malgré leurs nombreux défauts, sont relativement bien documentés concernant la sortie TV (voir APPENDIX J: CONFIGURING TV-OUT dans le README des drivers).

En résumé, il faut ajouter des sections screen et monitor correspondantes à la télé :

Section "Monitor" 
        Identifier      "TV" 
        HorizSync       30-50 
        VertRefresh     60
EndSection 

Section "Screen" 
        Identifier  "tvout800"
        Device      "geforce"
        Monitor     "TV"
        DefaultDepth 24
        
        Option "TVStandard" "PAL-N"
        Option "ConnectedMonitor" "TV"
        Option "TVOutFormat" "COMPOSITE"
        Option "NoLogo" "on"
        
        Subsection "Display" 
                Depth       24
                Modes       "800x600"
                ViewPort    0 0
        EndSubsection
EndSection

Mon fichier de config complet pour XFree 4.3 est disponible par ici.

Un programme permet egalement de bidouiller la sortie TV des cartes nvidia : nvtv. Honnetement j'ai toujours pas compris comment il fonctionne, comment on enregistre la configuration, etc... Et puis comme les drivers proprios donnent de bons résultats j'ai laissé tomber.

Pour lancer Xfree sur la télé j'utilise la commande :

startx -- -screen tvout800

Ensuite je peux lancer mplayer, mais c'est là que ça se gâte. La vo x11 fonctionne bien mais, comme elle n'utilise pas du tout les possibilités de la carte graphique, pompe la quasi-totalité du CPU (surtout en plein écran à cause du redimensionnement). Bref inutilisable. L'idéal est la vo xv, mais là suprise, alors que sur un écran ça fonctionne, sur la télé il y a des bandes bleu vif sur la gauche et sur le haut du film !

Pour l'instant je n'ai rien trouvé sur le net se rapportant à ce problème, après plusieurs nuits blanches j'ai donc décidé de laisser tomber cette carte. Cela dis si une star en Linux connait la solution à ce problème, je suis toujours preneur :)

ATI Rage 128

En cherchant un peu suite à mes déboires avec la GeForce2, j'ai vu ça et là que les sorties TV des cartes ATI était censé être beaucoup mieux que les NVidia. Bah ça tombe bien j'ai une ATI Rage 128 AGP sous la main...

Comme précedemment, la console standard et le framebuffer s'activent sans problème (à condition que la sortie TV soit branchée au boot).

Par contre, les drivers r128 par défaut de XFree n'affichent rien du tout sur la télé, et pire, si la sortie TV est branchée au boot, l'affichage sur l'écran déconne ! Bon il existe un programme, atitvout, qui est censé activer les sorties télé des cartes ATI... Manque de bol avec ma carte il ne fonctionne pas, et comme il n'est plus maintenu par l'auteur il ne faut pas trop esperer...

Je me suis ensuite tourné vers les drivers Gatos, qui sont censés faire des miracles et notamment activer la sortie TV des Rage 128. Encore une fois manque de bol avec ma carte ils ne fonctionnent pas.

En dernier recours, j'ai tenté les drivers vesa. Evidemment ils fonctionnent bien mais :

  1. Aucune acceleration 3D
  2. Aucune vo performante disponible pour mplayer (uniquement vesa)
  3. La qualité des films en vo vesa n'est pas top (problème de rafraichissment je suppose)

Sur le site de BibooBox il y a d'autres solutions proposées, mais aucune d'entre elles ne fonctionnaient avec mon modele de Rage 128. Bref c'est inutilisable, alors j'ai laissé tomber cette carte.

NVidia GeForce 4 MX 440

N'ayant plus aucune vieille carte disponible sous la main, et n'ayant plus rien à perdre, j'ai pris une GeForce 4 MX 440 (les cartes pas chères pour bureautique de NVidia) d'un PC qui ne servait plus trop pour la tester sur la DivxBox...

J'ai utilisé exactement la même config que pour la GeForce 2 MX 400, sauf que là, surprise, pas de bandes bleues sur la sortie xv ! La vidéo est niquelle, et (seulement) 25% du CPU sont utilisés pour lire un divx (vo xv rulez !)

Bon il faut bien l'admettre, mettre une GeForce 4 (même si c'est une MX) dans un p3 500 je trouve que c'est un peu du gâchi parceque j'avais des vieilles cartes à recycler. Mais ça faisait déjà trop longtemps que je cherchais à faire fonctionner une sortie TV correcte, alors maintenant que ça fonctionne je garde !

Autres pistes : Carte de décompression MPEG (dxr3)

J'ai retrouvé dans les placards une vieille carte de décompression MPEG2 (dvd) "Hollywood +", équipée d'une sortie TV S-VIDEO ainsi que d'une sortie Audio. Après quelques recherches, j'ai découvert que ce type de carte était bien gérée sous Linux. Chouette !

Liens :

Encore une fois je remercie cette merveilleuse distribution qu'est Debian, puisque des paquets sont dispo pour configurer très facilement cette carte. Leur nom commence par em8300. L'un deux installe tout ce qu'il faut (device, fichier de conf, etc...) et un autre contient les sources pour compiler un module noyau (à la sauce debian, c'est à dire make-kpkg module-image dans les sources du noyau). Bref si on est un peu à l'aise avec les méthodes de Debian ça se fait très facilement (même moi j'ai reussi tout seul, c'est pour dire !)

Je n'ai toutefois pas pousser plus loin cette solution, pour plusieurs raisons :

  • La sortie TV en S-Video, ça suxor un peu quand on a pas de quoi la convertir en Composite ou Peritel (seules prises gérée par ma télé :)
  • Il faut recompiler mplayer avec le support dxr3. Et pour utiliser Freevo il faut egalement recompiler la libSDL comme indiquée sur la doc de Freevo
  • Les applications qui n'utilisent pas la libSDL pour l'affichage ne pourront pas s'afficher sur la sortie dxr3 (en tous cas je n'ai pas trouvé comment)

Malgré ça, l'utilisation d'une carte de décompression présente des avantages non négligeable :

  • Permet de lire des DVD sur des petites machines
  • La mienne possède une sortie audio, gérée par OSS, donc pas besoin de carte son supplémentaire à priori...
  • Pareil pour la carte graphique, il serait surement possible de s'en passer...

A toi de voir...