Pré requis :
Le document concerne l'installation d'une carte à base de chipset BookTree BT8xx, mais peut-être adapté à d'autres périphériques supportés par video4linux: adaptez simplement les paragraphes concernant les drivers. (Pour les cartes ATI, il ne s'agit pas encore de drivers, mais le travail pour incorporer le code au noyau progresse.)
Le son :
Suivant votre carte TV :
Si vous êtes chanceux, votre distribution contient déjà les modules tout prêts (exemple : Mandrake).
Vérifiez si le répertoire /lib/modules/2.x.y/misc contient les fichiers bttv.o, i2c.o, tuner.o, videodev.o.
NB: sur Mandrake 10.1 il s'agit de fichiers ayant l'extension ko et en plus ils sont comprimés : ex: bttv.ko.gz. Ils sont dans le répertoire lib/modules/2.6.xxx/kernel/drivers/media/video
Si oui, c'est cool pour vous, vous pouvez sauter le paragraphe concernant l'installation des drivers (mais pas leur [#mod_config configuration])!
Sinon, [#mod_install let's go] !!!
Si vous êtes encore plus chanceux, vous avez des fichiers /dev/video, /dev/video0 etc.
Dans ce cas, vous avez vraiment beaucoup de chance, vous pouvez aussi sauter le paragraphe suivant !
Nous allons nous placer dans le cas le plus simple, celui où vous n'avez qu'une seule carte TV.
Pour créer le périphérique /dev/video, tapez :
C'est tout ! :)
Remarque 1 :
Si vous avez plusieurs cartes TV (on ne sait jamais !), il suffit de définir d'autres périphériques, avec le major 81 et en incrémentant le minor.
[root@taz /]$ ls -l /dev/video* lrwxrwxrwx 1 root sys 6 Aug 2 21:37 /dev/video -> video0 crw------- 1 root sys 81, 0 Aug 2 21:37 /dev/video0 crw------- 1 root sys 81, 1 Aug 2 21:37 /dev/video1 crw------- 1 root sys 81, 2 Aug 2 21:37 /dev/video2 crw------- 1 root sys 81, 3 Aug 2 21:37 /dev/video3 crw------- 1 root sys 81, 4 Aug 2 21:37 /dev/video4
Remarque 2 :
dans les sources de video4linux ou de kwintv, vous trouvez un script MAKEDEV. Lancez-le par un ./MAKEDEV et il vous créera tous les périphériques nécessaires (et plus encore !)
Ah ! Si vous lisez ceci c'est que votre distribution ne contient pas les modules tout prêts ? Pas de chance, mais rassurez-vous ce n'est pas si compliqué. Ne vous sauvez pas si je vous parle de "compilation du noyau" !!!
En effet, il faut compiler les modules nécessaires à video4linux.
En tant que root, placez vous dans le répertoire /usr/scr/linux-2.x.y (vous devez avoir préalablement installé le package des sources de votre noyau, trouvé sur le CD de votre distribution sous le nom kernel-xxxxx.rpm.
Sous X, tapez make xconfig / Sous une console, tapez make menuconfig.
Choisir M (module) dans le menu "Video For Linux" et M pour l'option "BT848 Video for Linux".
Localisation des drivers dans menuconfig (noyau 2.4.20 avec patch bttv récent) :
Et il faut penser à avoir dans Character devices -> I2C support --->
<M> I2C Support
<M> I2C bit-banging interfaces
<M> I2C device interface
Tapez make modules ; make modules_install.
Une fois les modules installés, pour vérifier leur bon chargement, taper :
insmod -f i2c verbose=1 scan=1 i2c_debug=0 insmod -f tuner debug=0 type=3 insmod -f videodev insmod -f bttv radio=1 card=1 vidmem=0xdc0 lsmod
Pour charger automatiquement ces modules lorsqu'on en a besoin, ajoutez dans /etc/conf.modules ou /etc/modules.conf (pour les distributions récentes c'est forcément ce fichier là), les lignes suivantes, en adaptant les valeurs à votre configuration :
alias char-major-81 bttv pre-install bttv modprobe -k tuner options i2c verbose=1 scan=1 i2c_debug=0 options bttv radio=1 card=1 vidmem=0xdc0 options tuner debug=0 type=3
Autre exemple, pour une Debian (/etc/modules):
i2c-core i2c_debug=1 i2c_algo-bit i2c_debug=1 tuner debug=1 type=33 videodev bttv radio=1 card=39 pll=1 fieldnr=1
Description des paramètres des modules :
using X11 display :0.0 (dga available) video mode: 1024x768, 16 bit/pixel, 2048 byte/scanline framebuffer at 0xe4000000 ok
ATTENTION :
Sur certaines cartes BTTV, il y a des blocages au bout d'environ 5 minutes.
Une solution qui semble fonctionner, si votre carte n'est pas une triton, est d'essayer l'option :
options bttv ... triton1=1
(ajoutez triton1=1 en bout de la ligne correspondante dans /etc/conf.modules).
Si vous avez déjà installé les [#devices devices], vous pouvez enfin passer à la suite !
Bon si vous avez appliqué tout ce qu'il y a au dessus et que vous n'entendez rien, c'est que votre carte TV comprend un chip spécial pour le son qu'il faut activer. Le problème c'est que suivant votre carte, il va falloir activer le bon module pour gérer ce chipset spécifique.
Bon si vous avez de la chance, le chip son est un msp3400. C'est le cas le plus simple, il suffit de compiler ce module qui est compris dans les noyaux récent (a partir du 2.2.14 si je ne me trompe pas). Donc, on configure le noyeau (voir la [../kernel/kernel.php3 rubrique kernel]), on active le support des drivers en développement (Y à la première question), et dans la rub "Lowlevel additional sound support" vous activez en module le msp3400. Puis un make modules ; make modules_install (pas la peine de recompiler tout le kernel à moins que vous n'aviez auparavant pas activé du tout de support son ou que votre support son était en natif et pas en module).
Pour tester, modifiez votre /etc/conf.modules avec cette ligne :
pre-install bttv modprobe -k tuner; modprobe -k msp3400
Bon si vous avez moins de chance, le module pour activer le son de votre carte TV n'est pas inclus dans le kernel, il va falloir que vous récupériez les sources de bttv et les recompiler pour avoir ces modules sons (make ; make install ; depmod -a). Une fois les modules recompilés, suivez les indications ci-dessus pour la configuration vidéo.
Je vous donne quand même ici toutes les options des modules qui complétent la rubrique ci-dessus (il y a quelques changement, surtout des supports ajoutés):
option card=n:
0: Auto-Detect
1: Miro
2: Hauppauge (old bt848 boards)
3: STB
4: Intel
5: Diamond
6: AVerMedia
7: MATRIX Vision MV-Delta
8: FlyVideo
9: TurboTV
10: Hauppauge (new bt878 boards)
11: MIRO PCTV pro
12: Terratec/Vobis TV-Boostar
13: Newer Hauppauge WinCam (bt878)
14: MAXI TV Video PCI2
15: Terratec TerraTV+
16: Aimslab VHX
17: PXC200
18: AVermedia98
19: FlyVideo98 (newer FlyVideo cards)
20: Zoltrix TV-Max
21: iProTV
22: ADS Technologies Channel Surfer TV
23: Pixelview PlayTV (bt878)
24: Leadtek WinView 601
25: AVEC Intercapture
26: LifeView FlyKit w/o Tuner
27: Intel Create and Share PCI
option tuner type=n
0: Temic PAL tuner
1: Philips PAL_I tuner
2: Philips NTSC tuner
3: Philips SECAM tuner
4: no tuner
5: Philips PAL tuner
6: Temic NTSC tuner
7: Temic PAL tuner
8: Alps TSBH1 NTSC tuner
9: Alps TSBE1 PAL tuner
Et voici les modules sons (à charger suivant la carte, regardez si vous avez un chip sur votre carte avec un nom ressemblant a ceux énoncés ici, ou essayez les un après les autres jusqu'à avoir du son) :
msp3400 (la plupart des cartes stéréo bttv)
tea6300 (STB TV/FM, autres cartes stéréo, très répandu aussi)
tda8425 (inclus dans le bttv.c avant, si votre son marchait avant mais plus maitenant, chargez ce module)
tda9855 (chipset tda9855 stéréo decoder)
dpl3518 (chipset pro logic, pour les cartes dolby pro logic)
Voila j'espère que cela vous aidera, beaucoup de personnes m'ont contacté pour des problèmes de son avec les nouvelles cartes tuner TV.
L'auriez-vous cru ? Vous allez pouvoir utiliser une télécommande à infrarouge afin de piloter votre télé ! Original non ? :)
Ce logiciel (Linux Infrared Remote Control) permet d'utiliser les télécommandes à infrarouge du marché (celle de votre télé, etc.), pour peu que vous construisiez un récepteur adapté.
Voir le site de LIRC.
La télécommande Miromedia Remote (qui se vendait avec la Miro PCTV il y a deux ans) n'est pas supportée ; un de mes projets actuels est de faire un driver afin de pouvoir l'utiliser avec son récepteur qui se branche en gigogne sur la souris série. Une piste est aussi le support des dongles pour IrDA dans le noyau. Contactez-moi pour me dire : 1) si cela existe déjà 2) si vous êtes intéressés !
Rubrique en cours de réalisation
Il existe de nombreux logiciels permettant de tirer parti de la carte télé. Nous ne présenterons ici que ceux permettant simplement de regarder la télé, pour ceux qui permettent plus de choses, il y a d'autres adresses intéressantes, mais je ne sais pas où les trouver...
Chaque environnement dispose en général de son logiciel ; voici une sélection de logiciels parmi l' existant.
Virer l'économiseur d'écran C'est pénible que l'économiseur d'écran se mette en route le samedi soir pendant le film, non ? Pour cela, rien de tel qu'un petit script
qui supprime l'économiseur d'écran le temps où la télé fonctionne.
Quelle est la résolution maximale que peut avoir une image télé ? 768x576 !
Vous avez sans doute été confronté au dilemme : soit j'affiche en plein écran, alors je perds en résolution (640x480), soit je me mets en 800x600 et j'ai des bords noirs. Comment profiter de toute la surface de votre moniteur 12 pouces et conserver la meilleure résolution possible de l'image télé ?
Facile : en configurant XFree pour qu'il affiche dans la résolution maxi de la télé : 768x576.
Et oui, les résolutions standard 640x480, 800x600, 1024x768, etc. ne sont pas les seules que vous pouvez obtenir de votre matériel, et Linux avec XFree86 est suffisamment flexible pour vous permettre de définir vos propre résolutions !!!
Assez causé, comment qu'on fait ?
Il suffit de bidouiller le fichier /etc/X11/XF86Config, et créer un Mode 768x576 :
1. Dans la section "Monitor", ajouter une ligne comme celle-ci :
# 768x576 @ 100 Hz
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 #100Hz
Attention, cette ligne dépend de votre matériel, et ne fonctionnera sûrement pas chez vous. Ne m'envoyez pas de mail après avoir copié cette ligne si vous n'arrivez pas à afficher dans cette résolution !
Allez plutôt voir le Colas XFree Modeline Generator, qui est une page excellente vous permettant de calculer les valeurs de votre ligne Mode. Munissez-vous de la doc. de votre moniteur (fréquences) et de votre carte vidéo ! Si vous ne connaissez pas les fréquences que votre matériel peut gérer, essayez avec des valeurs pas trop élevées (moins de 75Hz). Attention, si vous avez un vieux moniteur à fréquences fixes, vous risquez de le griller s'il n'accepte pas la fréquence que vous lui demandez (les nouveaux moniteurs acceptent toutes les fréquences dans une place, les vieux n'acceptaient que des valeurs discrètes) ! En cas de problème, c'est pas ma faute !!!
2. Dans la section "Screen", ajoutez aussi dans la sous-section "Display", la valeur "768x576" à la liste des modes, comme ci-dessous :
Modes "1024x768" "800x600" "768x576" "640x480"
Vous allez sûrement devoir tester plusieurs réglages, car le nouveau mode risque d'être rejeté. Pour ce faire, démarrez en runlevel 3 (en root, tapez init 3, ou bien lors du boot, à l'invite LILO, tapez linux 3, ou bien dém*** vous :).
Modifiez votre /etc/X11/XF86Config, et lancez "startx >un.txt 2>deux.txt" puis quittez X. Examinez ensuite les deux fichiers un.txt et deux.txt afin de voir si votre mode a été rejeté ou non. S'il a été rejeté, recommencez avec une nouvelle ligne.
Si c'est bon, vous pouvez passer dans cette résolution, soit à la main (Ctrl Alt + / Ctrl Alt -), soit automatiquement si votre programme de télé le permet (ex : kwintv).
Voilà... bonne télé !
Ressources :
La page d'E. Michon sur l'installation d'une carte télé sous Linux (lien mort), une bonne vieille référence,
La page de kwintv, de xawtv,
freetv (lien mort ?), à but purement éducatif :-)
@ Retour à la rubrique Matériel
Copyright © 19/10/1999, Jean-Christophe Cardot & Serge Tchesmeli
![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 3.0 : http://creativecommons.org/licenses/by-sa/3.0/ |