Faire fonctionner sa webcam avec V4L1

Les noyaux actuels utilisent comme pilote par défaut pour les webcams V4L2. Or certaines Webcams ou certaines applications ne fonctionnent pas avec V4L2, mais ont encore besoin de l'ancienne version du pilote V4L1.

Cette page a pour but de vous guider pour paramétrer l'utilisation du pilote V4L1.

V4L1 est déjà installé par défaut sur votre système grâce au paquet libv4l-0. Pour l'utiliser il faut d'abord rechercher où se trouve le bon fichier, puis d'indiquer à votre système d'utiliser V4L1 au lieu de V4l2 :

  • Pour trouver le bon fichier, faites une recherche dans votre terminal avec la commande suivante :
    locate v4l1compat.so

    Il se trouve dans le dossier /usr/lib/i386-linux-gnu/libv4l/v4l1compat.so et le dossier /usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so pour les architectures 64 bits.

  • Pour indiquer à votre système d'utiliser V4L1 il vous suffit de créer un nouveau lanceur de vos applications qui utilisent votre webcam (prenons Skype comme exemple) dans le champs Commande (Exec), skype par "sh -c 'LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so /usr/bin/skype "$@"'", ou bien de lancer directement la commande dans un terminal.
Il est fort probable que même sous les architectures 64 bits il faille utiliser le fichier v4l1compat.so 32 bits. Ce qui revient à utiliser la commande donnée plus haut comme exemple avec Skype. Ce denier ne fonctionne qu'avec le fichier 32 bits. Si la version 32 bits n'est pas installée il suffit d'installer le paquet libv4l-0:i386 qui est normalement isntallé par défaut même sur les architectures 64 bits.

Pour les détails vous permettant de modifier un lanceur reportez-vous à la page dédiée.

Pour installer la dernière version de V4L1, il faut :

Il ne vous reste plus qu'à lancer la commande de la même façon que précédemment, en 32 bits :

LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so votre_application

ou en 64bit :

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so votre_application

ou bien (skype comme exemple):

sh -c 'LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so /usr/bin/skype "$@"'

Contributeurs : L'Africain


  • v4l1.txt
  • Dernière modification: Le 06/04/2020, 14:00
  • par 82.64.72.70