Ceci est une ancienne révision du document !
Installation du module OV51x
Introduction
Les drivers linux "officiels" ov511 et ov51x ne gèrent pas toujours la décompression JPEG, que nécessitent pourtant certaines webcams afin d'être utilisées avec les applications ne gérant pas le JPEG (amsn, kopete…). Ce tutoriel portera sur l'installation du driver ov51x modifié en ce sens (voir cette page).
De nombreuses webcam sont supportées par ce module, notamment la Trust 320 spacecam et les Hercules Deluxe et Classic (une liste de webams à jour se trouve ici).
NB: L'installation est probablement la même pour les drivers OV51x/OV511 "officiels" disponibles ici.
Prérequis
Il est important de savoir que les headers du kernel de la machine où l'installation aura lieu sont nécessaires. Si vous utilisez le noyau fourni par défaut avec Ubuntu, installez-les (si vous avez compilé vous-même votre noyau, vous les avez déjà !) :
sudo apt-get install linux-headers-`uname -r`
Il faut aussi installer le compilateur gcc qui va bien, car il n'est pas installe en standard sur Ubuntu :
sudo apt-get install gcc
Noyaux inférieurs au 2.6.18
Préparation du module
Il faut tout d'abord télécharger et préparer le module ici. On télécharge la version 0.5.4 (les versions antérieures ne fonctionnent pas avec les noyaux inférieurs au 2.6.18) sur rastageeks :
On télécharge, décompresse et on se place dans ce dossier :
wget http://www.rastageeks.org/downloads/ov51x-jpeg/old-releases/ov51x-jpeg-0.5.4.tar.gz tar -xzvf ov51x-jpeg-0.5.4.tar.gz cd ov51x-jpeg-0.5.4
Compilation
Depuis le noyau 2.6.19, le fichier config.h est devenu autoconf.h. Si la version de votre noyau est 2.6.18 ou inférieur, vous devez remplacer toutes les ocurrences de autoconf.h par config.h dans les fichiers du répertoire ov51x-jpeg-XXX. On peut le faire manuellement, ou on recopie simplement cette ligne qui nous permettra au passage de nous rendre compte une fois de plus de la puissance du terminal :
grep -l autoconf.h * | xargs sed -i 's/autoconf.h/config.h/g'
On compile le module en utilisateur normal et on l'installe en root :
make sudo make install
Chargement des modules
On vérifie les dépendances :
sudo depmod
Et on charge le module :
sudo modprobe ov51x
Et voilà ! La caméra est fonctionnelle.
Pour que le module soit chargé automatiquement au démarrage, on rajoute simplement une ligne ov51x dans le fichier /etc/modules.
Noyaux 2.6.18 ou supérieurs
C'est le cas (par défaut) des versions d'Ubuntu supérieures à Feisty Fawn. Pour vérifier la version ne votre noyau :
uname -r
Liste des webcam supporté
05A9:0511 05A9:A511 05A9:0518 05A9:A518 05A9:0530 05A9:0519 05A9:1519 05A9:2519 05A9:3519 05A9:4519 05A9:5519 05A9:6519 05A9:7519 05A9:8519 05A9:9519 05A9:A519 05A9:B519 05A9:C519 05A9:D519 05A9:E519 05A9:F519 0813:0002 054c:0154 054c:0155 054c:0156 054c:0157 45e:28c 041e:4052 041e:405f
Préparation du module
Il faut tout d'abord télécharger et préparer le module. Le module est disponible sur rastageeks : allez donc y faire un tour pour voir le numéro de la dernière version, que l'on nommera dans la suite XXX (à remplacer par vos soins, donc, parce que ça change tout le temps… ).
On le télécharge donc, puis on le décompresse et on se place dans le dossier ainsi créé :
wget http://www.rastageeks.org/downloads/ov51x-jpeg/ov51x-jpeg-XXX.tar.gz tar xzvf ov51x-jpeg-XXX.tar.gz cd ov51x-jpeg-XXX
Compilation
Pour cette étape, les headers du noyau sont nécessaires — ils sont déjà là si l'on a lu correctement les prérequis.
On compile le module en utilisateur normal et on l'installe en root :
make sudo make install
Chargement des modules
On vérifie les dépendances, puis on charge le module :
sudo depmod sudo modprobe ov51x-jpeg
Et voilà ! La caméra est fonctionnelle.
Le module est normalement chargé automatiquement au démarrage. Toutefois si cela n'était pas le cas, il suffit de rajouter simplement une ligne ov51x dans le fichier /etc/modules (ou /etc/modprobe.conf pour certaines distributions autres qu'Ubuntu).
Hercules Deluxe & Kopete
Malheureusement, utilisé tel quel le module donne une image entièrement verte sous kopete, pour les utilisateurs de webcam Hercules Deluxe. Afin de réparer ce léger désagrément, il faut charger le module en forçant la palette à 13 (fonctionne aussi avec 4).
Si vous n'utilisez votre webcam qu'avec kopete, il suffit d'ajouter dans /etc/modprobe.conf la ligne :
install ov51x /sbin/modprobe -r ov51x; /sbin/modprobe ov51x force_palette=13;
Mais si vous souhaitez utiliser jongler entre différentes applications (ou ne pas perdre trois heures à vous demander ce qui se passe le jour où vous en essaierez une autre), il va falloir ruser : certains logiciels n'apprécient pas que la palette soit forcée à 13. Voici une petite rustine.
ATTENTION : Cette astuce nécessite d'autoriser l'utilisateur à accéder à la commande /sbin/modprobe sans mot de passe. Il y a peu de chance pour que votre chat entre cette commande suivie d'un nom de module valide juste en marchant sur votre clavier, mais si c'était le cas vous pourriez être considéré comme pénalement responsable de toute la misère du monde !
On commence par éditer (en root !) le fichier /etc/modprobe.conf avec notre éditeur préféré (vi bien sûr), et on y ajoute les lignes suivantes :
install ov51x_kopete /sbin/modprobe -r ov51x; /sbin/modprobe ov51x force_palette=13; remove ov51x_kopete /sbin/modprobe -r ov51x && /sbin/modprobe ov51x;
Ainsi, charger le module ov51x_kopete rechargera en fait ov51x avec l'option force_palette, et le décharger rechargea ov51x sans option.
On va ensuite remplacer la commande kopete pour y ajouter le chargement et le déchargement du module personnalisé. Toujours avec notre éditeur préféré, on crée un fichier kopete_launcher, et on le remplit avec :
#!/bin/bash sudo modprobe ov51x_kopete shift 1 /usr/bin/kopete --nofork $@ && sudo modprobe -r ov51x_kopete
Puis on le rend exécutable et on crée un lien vers ce fichier dans /usr/bin :
chmod +x /le/chemin/vers/kopete_launcher sudo ln -s /le/chemin/vers/kopete_launcher /usr/bin/kopete
Et ça devrait être bon.