8.5. Sortie TV

8.5.1. Cartes Matrox G400

Sous Linux vous avez 2 méthodes pour faire fonctionner la sortie TV:

Important

pour les instructions sur la sortie TV des Matrox G450/G550, voir la prochaine section SVP !

XFree86

en utilisant le pilote et le module HAL, disponible sur le site de Matrox. Cela vous donnera X sur la TV.

Cette méthode ne vous donne pas la lecture accélérée comme sous Windows ! La seconde tête n'a qu'un framebuffer YUV, le BES (Back End Scaler, le redimensionneur YUV des cartes G200/G400/G450/G550) ne fonctionne pas dessus ! Le pilote Windows contourne cela, probablement en utilisant le moteur 3D pour zoomer, et le framebuffer YUV pour afficher l'image zoomée. Si vous voulez vraiment utiliser X, utilisez les options -vo x11 -fs -zoom, mais ce sera LENT, et aura la protection anticopie Macrovision activée (vous pouvez "contourner" Macrovision en utilisant ce script perl).

Framebuffer

En utilisant les modules matroxfb dans les noyaux 2.4. Les noyaux 2.2 n'ont pas de fonction TVout incluse, et sont donc inutilisables pour cela. Vous devez activer TOUTES les fonctions spécifiques à matroxfb durant la compilation (excepté MultiHead), et les compiler en modules ! Vous aurez également besoin que I2C soit activé.

  1. Entrez dans TVout et tapez ./compile.sh. Installez TVout/matroxset/matroxset quelque part dans votre PATH.

  2. Si fbset n'est pas installé, mettez TVout/fbset/fbset quelque part dans votre PATH.

  3. Si con2fb n'est pas installé, mettez TVout/con2fb/con2fb quelque part dans votre PATH.

  4. Ensuite entrez dans le répertoire TVout/ du source MPlayer et exécutez ./modules en root. Votre console en mode texte va entrer en mode framebuffer (sans retour possible !).

  5. Ensuite, ÉDITEZ et lancez le script ./matroxtv. Il va vous présenter un menu très simple. Pressez 2 et Entrée. Maintenant vous devriez avoir la même image sur votre moniteur, et sur la TV. Si l'image TV (PAL par défaut) a de vilaines bandes dessus, le script n'a pas été capable de fixer la résolution correctement (en 640x512 par défaut). Essayez d'autres résolutions depuis le menu et/ou expérimentez avec fbset.

  6. Yoh. La prochaine tâche est de faire disparaître le curseur sur tty1 (ou n'importe quelle autre), et de désactiver l'économiseur d'écran. Exécutez les commandes suivantes:

    echo -e '\033[?25l'
    setterm -blank 0

    ou

    setterm -cursor off
    setterm -blank 0

    Vous pouvez mettre ceci dans un script, et également effacer l'écran. Pour réactiver le curseur:

    echo -e '\033[?25h'

    ou

    setterm -cursor on

  7. Yeah kewl. Démarrez le film avec

    mplayer -vo mga -fs -screenw 640 -screenh 512 nomfichier

    (si vous utilisez X, maintenant changez pour matroxfb avec par exemple Ctrl+Alt+F1.) Changez 640 et 512 si vous voulez spécifier une résolution différente...

  8. Appréciez la sortie TV Matrox ultra-rapide ultra-fonctionnelle (meilleure que Xv) !

Construire un câble de sortie TV Matrox.  Personne ne prends de responsabilités, ni n'offre de garanties quant aux éventuels dommages causés par cette documentation.

Cable pour G400.  La quatrième broche du connecteur CRTC2 transmet le signal vidéo composite. La terre (ground) est sur les sixième, septième et huitième broches (info donnée par Balázs Rácz).

Cable pour G450.  La première broche du connecteur CRTC2 transmet le signal vidéo composite. La terre (ground) est sur les cinquième, sixième, septième, et quinzième (5, 6, 7, 15) broches (info donnée par Balázs Kerekes).

8.5.2. Cartes Matrox G450/G550

Le support de la sortie TV pour ces cartes n'a été introduit que récemment, et n'est pas encore dans le noyau officiel. Actuellement le module mga_vid ne peut être utilisé à ma connaissance, parce que le pilote G450/G550 ne fonctionne que dans une configuration: le premier chip CRTC (qui a le plus de fonctions) sur le premier affichage (sur le moniteur), et le second CRTC (pas de BES, veuillez voir la section G400 plus haut) sur la TV. Vous ne pouvez donc utiliser que le pilote de sortie fbdev de MPlayer pour le moment.

Le premier CRTC ne peut pas être relié à la seconde tête actuellement. L'auteur du pilote noyau matroxfb - Petr Vandrovec - fera certainement un support pour cela, en affichant la sortie du premier CRTC sur les deux têtes à la fois, comme actuellement recommandé pour la G400, voir la section ci-dessus.

Le patch noyau nécessaire et le HOWTO détaillé sont téléchargeables sur http://www.bglug.ca/matrox_tvout/

8.5.3. Cartes ATI

PRÉAMBULE.  Actuellement ATI ne veut supporter aucun de ces chips TV-out sous Linux, à cause de leur technologie Macrovision sous licence.

ÉTAT DE LA SORTIE TV ATI SUR LINUX

  • ATI Mach64: supporté par GATOS.

  • ASIC Radeon VIVO: supporté par GATOS.

  • Radeon et Rage128: supporté par MPlayer ! Vérifiez les sections pilote VESA et VIDIX.

  • Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4: supporté par atitvout.

Sur les autres cartes, utilisez juste le pilote VESA, sans VIDIX. Un CPU puissant est cependant requis.

La seule chose que vous ayez à faire - avoir le connecteur TV branché avant de booter votre PC car le BIOS vidéo s'initialise uniquement durant cette phase.

8.5.4. nVidia

D'abord, vous DEVEZ télécharger les pilotes closed-source depuis http://nvidia.com. Je ne décrirai pas le processus d'installation et de configuration car il sort du cadre de cette documentation.

Après que l'accélération XFree86, XVideo, et 3D fonctionnent correctement, éditez la section Device de votre carte dans le fichier XF86Config, selon l'exemple suivant (adaptez à votre carte/TV):

Section "Device"
	Identifier      "GeForce"
	VendorName      "ASUS"
	BoardName       "nVidia GeForce2/MX 400"
	Driver          "nvidia"
	#Option         "NvAGP" "1"
	Option          "NoLogo"
	Option          "CursorShadow"  "on"

	Option          "TwinView"
	Option          "TwinViewOrientation" "Clone"
	Option          "MetaModes" "1024x768,640x480"
	Option          "ConnectedMonitor" "CRT, TV"
	Option          "TVStandard" "PAL-B"
	Option          "TVOutFormat" "Composite"

EndSection

Bien sûr l'élément le plus important est la partie TwinView.

8.5.5. Neomagic

Le chip NeoMagic peut être trouvé sur de nombreux portables, certains équipés d'un encodeur TV analogique simple, certains en ont un plus avancé.

  • Analog encoder chip: Il a été reporté qu'une sortie TV fiable pouvait être obtenue en utilisant -vo fbdev ou -vo fbdev2. Vous avez besoin d'avoir vesafb compilé dans votre noyau et de passer les paramètres suivants sur la ligne de commande du noyau: append="video=vesafb:ywrap,mtrr" vga=791. Vous devriez lancer X, puis passer en mode console avec e.g. CTRL+ALT+F1. Si vous échouez en lancant X depuis la console, la vidéo devient lente et saccadé (toute explication de ce phénomène est bienvenue). Identifiez-vous dans votre console, puis initiez la commande suivante:

    clear; mplayer -vo fbdev -zoom -cache 8192 dvd://

    Maintenant vous devriez voir le film lancé en mode console remplir à peu près la moitié de votre écran LCD de portable. Pour switcher vers la TV tapez Fn+F5 trois fois. Testé sur un Tecra 8000, noyau 2.6.15 avec vesafb, ALSA v1.0.10.

  • chip Chrontel 70xx encoder: Présent dans l'IBM Thinkpad 390E et probablement dans d'autres Thinkpads ou portables.

    Vous devez utiliser -vo vesa:neotv_pal pour PAL ou -vo vesa:neotv_ntsc pour NTSC. Cela fournira la sortie TV dans les modes 16 bpp et 8 bpp suivants:

    • NTSC 320x240, 640x480 et peut être aussi 800x600.

    • PAL 320x240, 400x300, 640x480, 800x600.

    le mode 512x384 n'est pas supporté par le BIOS. Vous devez redimmensionner l'image à une résolution différente pour activer la sortie TV. Si vous voyez une image sur l'écran en 640x480 ou en 800x600 mais pas en 320x240 ou autre résolution plus faible, vous devez remplacer deux tables dans vbelib.c. Voir la fonction vbeSetTV pour plus de détails. Veuillez contacter l'auteur dans ce cas.

    Problèmes connus: VESA uniquement, aucun autre contrôle tel que luminosité, contraste, blacklevel, flickfilter n'est implémenté.