Installation d’une tablette Wacom BambooFun sur Debian

Edition du 09/03/2011: La version de xf86-input-wacom et le site de Linux Wacom Project ayant évolués, cet article est obsolète pour la dernière version 0.10.9. Je les mentionnent ci-après par des messages en rouge (en attendant de tester la mise à jour chez moi, et d’écrire un nouvel article sur l’installation de cette nouvelle version)

Qui a dit que les périphériques un peu exotiques n’était pas installables sur Linux ?

Bon, c’est vrai, lorsqu’il s’agit d’autre chose que d’une souris ou d’une imprimante (et encore que…), l’installation/configuration de certains périphériques n’est pas toujours évidente, et on est souvent amené à ouvrir un terminal pour y taper des lignes de codes. Et alors ? C’est comme ça que j’ai appris à réellement utiliser et surtout comprendre comment fonctionne un PC. Mais c’est vrai que l’informatique ne doit rester qu’un outil à notre service, et, autant que possible, se mettre au niveau de l’utilisateur. Et comme dirait certains « Bah! Je suis utilisateur pas programmeur. Et sur Windows, au moins, tu branches… ça marche! »  Et ils ont raison…

Seulement ce n’est pas la faute des système d’exploitation libres (GNU/Linux) si certaines marques refusent de fournir les codes sources des pilotes de leurs matériels pour d’autres OS que ceux qui ont 90% des parts de marché (une fenêtre et une pomme).

Heureusement pour les utilisateurs d’OS alternatifs (comme moi) certains fabricants « libèrent » tout ou partie de leurs codes. C’est le cas, par exemple, de HP avec les pilotes Linux qu’ils fournissent pour leurs imprimantes. Et aussi de Wacom, qui, s’ils ne fournissent pas eux-même de driver natifs Linux (mais ont des développeurs en interne très sensibles à ces considérations, et qui travaillent à aider les communautés « linuxiennes »), ont au moins le mérite d’avoir « ouvert » le code de leurs pilotes, le rendant ainsi accessibles aux développeurs bénévoles afin qu’ils puissent les ré-écrire eux-même.

C’est Linux Wacom Project qui s’y est collé. Cela n’a pas du être évident, et il reste encore beaucoup de travail, mais ils (John Joganic à l’origine en 2002, et Ping Cheng ainsi qu’une douzaine de contributeurs depuis 2003) ont réussi à développer des pilotes utilisables, à ma connaissance, pour toutes les tablettes de la marque sur les OS GNU/Linux et *BSD.

Bref, voici un billet explicatif (et surtout un aide mémoire destiné à moi-même) sur l’installation d’une Wacom BambooFun sous Debian « squeeze ».

Attention: La documentation ci-après s’appuie sur ma propre expérience, sur ma distribution et sa configuration, avec mon matériel spécifique, et ne peut en aucun cas être apparentée à un tutoriel généraliste sur l’installation des tablettes Wacom sur GNU/Linux. Cependant, hormis les spécificités propre aux matériel, les chemins de fichiers, etc… le principe devrait rester le même pour n’importe quelle tablette de la marque.

Quelques infos sur ma configuration:

  • Debian 6.0 « squeeze » noyau 2.6.32-5-amd64
  • Xserver version 1.7.7-7
  • Tablette Wacom BambooFun Pen & Touch « m » (CTH661)

Avant-propos

Un paquet pour la gestion des produits Wacom (xserver-xorg-input-wacom) est inclus d’origine dans les distributions GNU/Linux récentes (noyaux supérieurs à 2.6… il me semble), mais il est non fonctionnel (ou souffre de différents bugs) pour cette tablette, je suis donc obligé de re-compiler moi-même le module du noyau grâce aux sources fournies sur le site du Linux Wacom Project. Je dois aussi remplacer le pilote Wacom d’origine (plus précisément, le pilote pour le serveur X) par une version modifiée (xf86-input-wacom)

En outre, je ne peux que vous inciter à enregistrer votre produit sur le site de Wacom. Dans la mesure où on peut indiquer que son OS est une distribution GNU/Linux, cela permettra d’inciter (encore plus) Wacom à travailler sur la prise en charge de leurs matériels sur nos OS alternatifs.

Comme dans tout bon tuto GNU/Linux, je rappelle que lorsqu’il est question d’entrer une commande, cela se fait dans un émulateur de console (généralement Menu>Accessoires>Terminal). Que si la commande est précédée du signe ~ on doit l’effectuer en tant que simple utilisateur, et lorsqu’elle est précédée du signe # c’est en tant qu’administrateur (root) que l’on doit la taper.

Détection de la tablette

Je commence par vérifier que la tablette est reconnue par le système et qu’il la prend en compte lorsqu’elle est branchée.

~ lsusb | grep -i wacom
Bus 002 Device 003: ID 056a:00d3 Wacom Co., Ltd Bamboo Fun (CTH-661)

Ca, c’est bon. Au passage, je note les identifiants du fabricant et de la tablette qui me serviront plus tard. Ici, 056a (ID du fabricant) et 00d3 (ID du produit)

Pré-requis

J’installe ensuite les dépendances nécessaires à la compilation et à la suite de l’installation (un certaine nombre est déjà installé, et dans la plus récente version) /!\ En cours de vérification

# aptitude install build-essential libx11-dev libxi-dev x11proto-input-dev xserver-xorg-dev tk8.4-dev tcl8.4-dev libncurses5-dev linux-headers-2.6.32-5-amd64 libhal-dev

Une petite manip’ dont je ne sais pas trop à quoi elle sert, entraînant la création de liens symboliques (il parait que sans ça, la compilation se passe moins bien?? – Perso je l’ai fait sans et avec… aucune différence, et pas de plantage)

à voir l’utilité donc…

# cd /usr/src/linux-headers-2.6.32-5-amd64/include/linux/
# ln -s /usr/src/linux-headers-2.6.32-5-common/include/linux/input.h
# ln -s /usr/src/linux-headers-2.6.32-5-common/include/linux/input-polldev.h

Téléchargement

Viens ensuite le moment de récupérer les sources du module et de la version modifiée de Xserver-wacom pour la tablette.

Les liens de téléchargement des dernières versions sont à gauche sur la page d’accueil du site pour chaque élément, et toutes les versions des sources sont disponibles à cette page. /!\ Liens mis à jour

Je récupère les archives que j’extrais dans un dossier créé pour l’occasion /home/regis/.wacom

linuxwacom

Le module pour le noyau. En fait je vais le compiler mais pas l’installer. Je vais juste y récupérer un fichier créé par la compilation (nommé wacom.ko) et le copier dans /lib/modules/2.6.32-5-amd64/kernel/drivers/input/tablet/

~ cd ~/.wacom/linuxwacom-0.8.8-10/
~ ./configure --enable-wacom --prefix=/usr
~ make

Tout s’est bien passé, je vais donc copier le wacom.ko du répertoire 2.6.30 des sources dans le répertoire précédemment cité, après avoir effectuer une copie de sauvegarde de l’ancien fichier.

~ su
# cd /lib/modules/2.6.32-5-amd64/kernel/drivers/input/tablet/
# cp wacom.ko wacom.ko.old
# cd ~/.wacom/linuxwacom-0.8.8-10/src/2.6.30/
# cp wacom.ko /lib/modules/2.6.32-5-amd64/kernel/drivers/input/tablet/

ensuite on « recharge » les modules pour tenir compte du nouveau module wacom

# depmod -a

Afin d’automatiser le chargement du module au démarrage j’édite le fichier /etc/modules

# gedit /etc/modules

et j’y ajoute une ligne wacom

le pilote pour Xserver

Je compile le pilote et je l’installe

~ cd ~/.wacom/xf86-input-wacom-0.10.8/
~ ./configure --prefix=/usr
~ make
~ su
# make install

Ceci fait, je ne ne supprime pas les sources, ni ne nettoie la compilation (make clean), car les sources compilées me seront utiles en cas de mise à jour du noyau ou de X (cf. plus bas).

Règle udev

Je modifie la règle udev pour les tablettes Wacom pour la prise en charge de la CTH661 (grace aux numéros ID donné par lsusb, cf. plus haut). J’édite le fichier correspondant

# gedit /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules

Puis je rajoute cette ligne à la fin de la liste des tablettes

ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d3", SYMLINK="input/tablet-wacom-bamboo-pen_touch-$env{WACOM_TYPE}"

Après redémarrage de la machine (ou simple redémarrage de X), ma tablette est reconnue et pleinement fonctionnelle.

Il ne me reste plus qu’à la paramétrée grâce à l’utilitaire xsetwacom (cf. un prochain article de la catégorie Informatique)

Réinstallation

En cas de mise à jour de Xserver ou de changement de noyau, la tablette ne fonctionne plus car la compilation et le chargement du module ont été fait manuellement. Le module et le pilote doivent être recharger/réinstaller aussi à la main.

Ayant gardé les sources compilées, je n’ai aucun mal à tout remettre en place grâce à la manip suivante

$ cd ~/.wacom/linuxwacom-0.8.8-10/
$ su
# cp src/2.6.30/wacom.ko /lib/modules/2.6.32-5-amd64/kernel/drivers/input/tablet/
# depmod -a
# exit
$ cd ~/.wacom/xf86-input-wacom-0.10.8/
$ su
# make uninstall
# make install
# reboot

Liens

Les quelques liens, articles et page de forum qui m’ont aidé pour réaliser cette installation, ou qui sont juste intéressant à ce sujet.

  • Le post de Yorik sur le forum anglophone Debian User (prendre en compte la réponse de joachimf à la fin)
  • L’article de Lik, sur son blog
  • Cet article du wiki Archlinux (en aglais) est rempli de bonnes infos, nottament la manière de paramétrer/renseigner « en dur » le fichier xorg.conf (pour ceux qui l’utilisent encore)
Publicités

10 réponses à “Installation d’une tablette Wacom BambooFun sur Debian

  1. Bonsoir

    Super boulot ! (Bis ou ter, je ne sais plus).
    J’ai pourtant un souci. Jusqu’au chapitre ‘linuxwacom », tout va bien.
    Par contre, pour le pilote pour Xserver, ça coince :
    cd ~/.wacom/xf86-input-wacom-0.10.8/
    bash: cd: /home/klod/.wacom/xf86-input-wacom-0.10.8/: Aucun fichier ou dossier de ce type
    J’ai eu beau déployer toute l’arborescence ~/.wacom, pas plus de xf86-input-wacom-0.10.8 que de beurre en broche.
    Si tu pouvais me remettre sur le droit chemin (c’est le cas de le dire) ou m’indiquer quel chapitre j’ai manqué, ça m’aiderait bien.
    Merci.

    • Salut wetaskiwin (et merci)

      Alors… Reprenons. Tu as bien téléchargé l’archive xf86-input-wacom-0.10.8 à partir du site LinuxWacomProject ?
      NOTA: j’ai testé dernièrement la compilation de la version 0.10.10 qui m’a renvoyé quelques erreurs, donc je reste sur le 0.10.8

      Peut-être est elle encore dans ton dossier de téléchargement, ou mis ailleurs par mégarde. Pour t’en assurer, utilise la commande find dans un terminal:
      find ~/ -name xf86-input*
      (cherchera dans /home/klod/ tous les fichiers dont le nom commence par xf86-input…)

      Lorsque tu l’auras retrouvé, tu déplaces (graphiquement, c’est plus simple) cette archive dans ton dossier ~/.wacom/ et tu la décompresses idem que pour linuxwacom (sous nautilus, clic-droit>décompresser ici). De là, normalement, tu devrais pouvoir ouvrir/parcourir ce dossier, et continuer la compilation.

      Astuce perso: n’étant pas encore trop doué en compilation, ce que je fais c’est ouvrir Nautilus (ou autre gestionnaire de fichier graphique) sur le dossier ~/.wacom/ (dans l’exemple) à coté du terminal dans lequel je travaille. Ca permet de voir les contenus facilement, et les fichiers se créer au fur et à mesure de l’étape de configuration.

      Bon courage
      @+

      • J’ai effectivement raté un épisode, un tout petit mot de 3 lettres : « Je récupère LES archives »
        En fait, je n’ai téléchargé que linuxwacom-0.8.8-10.tat.bz2.
        Pas de xf86-input-wacom-0.10.8 = pas de dossier ~/.wacom/xf86-input-wacom-0.10.8/, c’est logique !

        Je vais donc compléter mais, avant de poursuivre, j’aimerais bien savoir si je dois d’abord désinstaller/purger le paquet xserver-xorg-input-wacom déjà installé sur ma Debian Sid ou si Debian s’occupe de tout sans risque de conflit.

        Merci.

        PS : Je vais y arriver !! ^^

  2. Cette fois, je suis allée jusqu’au bout.
    Seule différence : après la désinstallation du paquet xerver-xorg-input-wacom, le fichier /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules n’existait plus. Dans le doute, je l’ai recrée à l’identique, en y ajoutant l’idVendor et l’idPrdoduct qui vont bien.

    Et… toujours pas de tablette fonctionnelle.

    Perdue pour perdue, j’ai réinstallé xerver-xorg-input-wacom sans rien modifier à udev et, un redémarrage plus tard, ma tablette est enfin reconnue. Bizarre !
    La seule piste que je vois pour le moment, c’est que cette réinstallation a forcé la reconnaissance de ma Bamboo mais ce n’est qu’une impression.

    Pour comprendre un peu mieux ce qui se passe et savoir où j’en suis, il faudrait que je défasse toute l’installation de xf86-input-wacom-0.10.8. Est-ce
    # cd ~/.wacom/xf86-input-wacom-0.10.8/
    # make uninstall
    seraient suffisants ?

    Après, si la tablette est toujours reconnue, je voudrais bien faire un peu de ménage et j’aurai encore besoin de tes lumières mais une chose à la fois, c’est mieux pour mon pôv’ neurone.

    Merci, bon week-end.

    • Oulah…

      Enorme méprise de ma part, je viens de vérifier chez moi, et, effectivement, xserver-xorg-input-wacom est bien installé.
      Toutes mes confuses.

      (Je commence à me mélanger les pinceaux vu le nombre de ré-installation/tests/bidouilles que j’ai fait sur ma machine dans l’année 2010…)

      Je dirais qu’au point ou tu en es (c’est à dire tout ce qu’il faut d’installer, et tablette fonctionnelle), ne touche plus à rien et passe à l’étape de configuration.

      Je ne suis pas expert de ce qui concerne les installations alternatives, les compilations, etc… Je n’ai fait que retranscrire ici les quelques tutos anglophones qui m’ont permis de faire fonctionner correctement la bamboo.

      Je pense que le paquet original (xserver-xorg-input-wacom) sert effectivement à faire reconnaître LES périphériques Wacom (il me semble que leurs firmware servent aussi pour des touchpads et des écrans tactiles). Ca doit aussi permettre de créer/placer les bons fichiers aux bons endroits. Après, le paquet développé par LinuxWacomProject vise à faire fonctionner spécifiquement les tablettes de la marque (enfin, encore une fois, je suppute…)

      Pour ce qui concerne le « ménage », je ne pense pas qu’il y ait besoin d’en faire (vu que tout marche, et qu’à part le fichier 69-xserver-xorg-input-wacom.rules, tu n’as rien modifier d’autre).

      Néanmoins si tu voulais vraiment faire du ménage (supprimer toute trace de l’installation). Il faudrait effectivement faire:

      $ cd ~/.wacom/xf86-input-wacom-0.10.8/
      $ su
      # make uninstall
      # make clean

      D’ailleurs… ERRATUM Une grossière erreur s’est glissée dans mon tuto… Je propose d’accéder au dossier .wacom/… en root via la commande # cd ~/.wacom/...
      Hors (honte sur moi), cela mènerait à /home/root/.wacom/… (et oui puisqu’on est root à ce moment) et ce dossier n’existerait pas… Bon, je m’en vais de ce pas corriger cet affreux lapsus.

      Pour en revenir au « ménage », il faudrait remettre en place le fichier wacom.ko d’origine. Pour ce faire:
      # cd /lib/modules/2.6.32-5-amd64/kernel/drivers/input/tablet/
      # mv wacom.ko.old wacom.ko

      Merci à toi pour m’avoir fait me relire, et donc déceler cette erreur.

      @+

      • Ton tutoriel m’a bien aidée alors, si je peux participer même un tout petit peu aux finitions, je suis ravie. ^^

        J’ai tenté une désinstallation (sans nettoyage) et je confirme que c’est bien xf86-input-wacom-0.10.8 qui permet la reconnaissance de ma Bamboo. Sans conflit mais comme une sorte de ‘sur-couche » de xerver-xorg-input-wacom. Par contre, pour savoir qui fait quoi dans ce duo… Je vais classer la question à la rubrique « Mystère de l’informatique ». ^^

        A moi les joies des scripts, maintenant.

        Encore merci !

      • Bonjour,
        merci pour ce tuto et les post sur ubuntu-fr.
        J’ai suivi le tout mais probleme avec le ./configure du linuxwacom-0.8.8-10. Tout est ok et cela fini par (voir plus bas). J’avais préalablement compiler le xf86-input-wacom, apparement sans erreur!
        Any idea ?
        —————————————-
        BUILD ENVIRONMENT:
        architecture – i486-linux-gnu
        linux kernel – yes 2.6.30
        kernel source – yes /lib/modules/2.6.32-30-generic-pae/build
        XFree86 source – no
        Xorg SDK – yes /usr/include/xorg
        XSERVER64 – no
        dlloader – yes
        XLib – yes /usr/lib
        xf86config – no
        TCL – yes /usr/include/tcl8.4
        TK – yes /usr/include/tcl8.4
        ncurses – yes

        BUILD OPTIONS:
        wacom.o – yes
        wacdump – no
        xidump – no
        libwacomcfg – no
        libwacomxi – no
        xsetwacom – no
        wacomxrrd – no
        hid.o – no
        wacom_drv.so – no /usr/lib/xorg/modules/input
        wacom_drv.o – no
        wacom*_drv quirks – IsXExtensionPointer key-events dixScreenOrigins
        —————————————-
        Building linuxwacom drivers for 2.6 kernel.
        ***Note: Drivers not enabled as modules in your kernel config but requested through configure are NOT built
        make -C /lib/modules/2.6.32-30-generic-pae/build M=/home/stri/linuxwacom-0.8.8-10/src/2.6.30
        make[1]: Entering directory `/usr/src/linux-headers-2.6.32-30-generic-pae’
        Building modules, stage 2.
        MODPOST 1 modules
        make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-30-generic-pae’

        Your wacom.ko is available under
        /home/stri/linuxwacom-0.8.8-10/src/2.6.30

        NOTE: the X driver in this package only supports Xorg servers older than 1.7.
        You are running a newer version.
        Please build the X driver from xf86-input-wacom.
        The kernel driver provided in this package is independent of
        the X server version

    • Salut à toi

      Théoriquement (du moins c’est le cas sous ma Debian Wheezy) c’est maintenant reconnu « out-of-the-box » comme on dit, et il n’y a plus rien à faire niveau installation de pilote.

      Pour ce qui concerne la configuration, l’outil « tablette graphique wacom » dispo dans la plupart des environnements récents (G-shell, KDE, Unity…) permet le minimum (orientation, sensibilité et assignation des boutons).

      Pour le reste, et une configuration plus méticuleuse, mon autre (vieux) tuto sur la config contient l’essentiel de se qui peut se faire (mis à part certains termes des arguments/options dont la syntaxe a changé, et des N° de boutons…)

      @+

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s