[Tech/Doc] Pilote pour tablettes graphiques Wacom

Message 1, par Elzen

§ Posté le 27/04/2012 à 11h 08m 27

Mes articles sont généralement assez théoriques et plutôt longs ; essayons pour changer un petit point purement pratique et relativement court.


Je dispose d'une tablette graphique, de marque Wacom. Plus précisément, le modèle Bamboo Pen CTL-470. Par ailleurs, j'utilise présentement le système Debian GNU/Linux.

Or, le pilote pour tablettes graphiques intégré au noyau Linux gère les modèles jusqu'à X60 et quelques, mais pas encore les X70. J'ai donc demandé un peu d'aide sur le forum Debian-fr, et on m'a indiqué cette page de la documentation Ubuntu-fr qui, entre autres, fournissait les bonnes explications.


Entre autres, parce qu'il y a un peu de blabla autour qui ne me concernait pas, d'où le présent article pour recentrer un peu. Il faut en fait, pour que ça marche, compiler le pilote. Pas d'inquiétude, ce n'est pas compliqué. D'ailleurs, comme ça demandait quelques étapes et que je suis un peu feignant, j'ai fait un petit script pour automatiser ça.


Commencez par récupérer ceci, puis désarchivez-le à l'endroit qui vous plaira. Ensuite, tout ce que vous avez à faire, c'est ouvrir un terminal, vous rendre dans le répertoire nouvellement créé, et lancer le script en tant que superutilisateur. Ce que vous aurez à taper devrait ressembler à ça :

cd le/chemin/wacomdriver
sudo sh build.sh

(Puis votre mot de passe, pour le passage en root)


Ce script va installer les paquets requis, compiler le pilote et le mettre au bon endroit : normalement, la tablette graphique commence à fonctionner dès que le script a terminé son travail.

En tout cas, j'ai testé ça sous Debian, et ça marche. Quelques amis l'ont testé sous Ubuntu, et ça ne semble pas poser de problème non plus.


Juste une chose de plus : tant qu'un pilote prenant en charge ce modèle ne sera pas intégré par défaut, il faudra probablement recompiler le pilote à chaque mise à jour du noyau. Donc, si après avoir mis à jour votre système et avoir redémarré, votre tablette ne fonctionne plus, relancez juste l'opération ci-dessus et ça devrait revenir (ça m'est déjà arrivé une ou deux fois, ça risque d'être moins fréquent sous Ubuntu).


Par contre, je répète, si vous avez un modèle en X60, aucun soucis, la tablette devrait fonctionner sans aucune manip. Et une fois que votre tablette tourne, si vous voulez la configurer, je vous renvoie à l'excellente doc Ubuntu-fr (par exemple, ici pour The GIMP).

Message 2, par jclejalu

§ Posté le 06/04/2013 à 14h 06m 10

Bonjour,


tout d'abord, merci pour cette page !


J'ai suivi vos instruction mais j'ai un message d'erreur ! Voici ce que m'a donné le lancement du script :



Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
build-essential est déjà la plus récente version disponible.
linux-headers-2.6.32-46-generic-pae est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
W: Duplicate sources.list entry http://archive.canonical.com/ubuntu/ lucid/partner Packages (/var/lib/apt/lists/archive.canonical.com_ubuntu_dists_lucid_partner_binary-i386_Packages)
W: Duplicate sources.list entry http://download.opensuse.org/repositories/home:heimdall78/xUbuntu_10.04/  Packages (/var/lib/apt/lists/download.opensuse.org_repositories_home:heimdall78_xUbuntu%5f10.04_Packages)
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.
make: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-46-generic-pae »
  CC [M]  /home/jclejalu/Bureau/wacomdriver/wacom_wac.o
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:17:28: error: linux/input/mt.h: Aucun fichier ou dossier de ce type
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c: In function ‘wacom_tpc_mt_touch’:
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:693: error: implicit declaration of function ‘input_mt_slot’
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:694: error: implicit declaration of function ‘input_mt_report_slot_state’
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:708: error: implicit declaration of function ‘input_mt_report_pointer_emulation’
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c: In function ‘wacom_setup_input_capabilities’:
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:1129: error: implicit declaration of function ‘input_abs_set_res’
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:1238: error: implicit declaration of function ‘input_mt_init_slots’
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:1240: error: ‘MT_TOOL_MAX’ undeclared (first use in this function)
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:1240: error: (Each undeclared identifier is reported only once
/home/jclejalu/Bureau/wacomdriver/wacom_wac.c:1240: error: for each function it appears in.)
make[1]: *** [/home/jclejalu/Bureau/wacomdriver/wacom_wac.o] Erreur 1
make: *** [_module_/home/jclejalu/Bureau/wacomdriver] Erreur 2
make: quittant le répertoire « /usr/src/linux-headers-2.6.32-46-generic-pae »


Si, vous pouvez m'aider, je vous en serai reconnaissant, car ma tablette bamboo pen 470 ctl ne fonctionne toujours pas


Merci d'avance

Message 3, par Elzen

§ Posté le 06/04/2013 à 14h 16m 41

Hmm. À première vue, on dirait qu'il y a un soucis avec la liste des dépôts. Il faudrait vérifier l'état du fichier /etc/sources.list et relancer une mise à jour, c'est peut-être ce qui perturbe le script. En tout cas, ça semble ne pas trouver l'une des bibliothèques requises.


Ça a l'air d'être une Ubuntu 10.04 Lucid Lynx ? Il serait peut-être intéressant de migrer vers la LTS suivante (12.04 Precise Pangolin), au cas où (le support de Lucid Lynx s'arrêtera ce mois-ci, me semble-t-il).

Message 4, par Viviane

§ Posté le 18/08/2013 à 14h 08m 54

Bonjour et merci pour le script !


Néophyte que je suis, j'avais tenté d'installer une tablette CTH-470 sur mon ubuntu il y a quelques années, sans succès. Et aujourd'hui, impec' avec lubuntu 12.04 !


Ou presque... La tablette semble fonctionner parfaitement au premier abord mais j'ai eu une erreur à la toute fin du script. Dans l'ignorance, j'ai tout copié ici, au cas où ça pourrait servir.


Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
linux-headers-3.2.0-51-generic est déjà la plus récente version disponible.
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  libkcmutils4 libnepomukdatamanagement4 qapt-batch libclucene0ldbl
  gstreamer0.10-alsa kubuntu-debug-installer libqca2 libutempter0
  libkdeclarative5 libkjsembed4 oxygen-icon-theme libkemoticons4 libkdecore5
  phonon libkidletime4 docbook-xml docbook-xsl shared-desktop-ontologies
  libdlrestrictions1 odbcinst libntrack-qt4-1 kde-runtime-data
  libkatepartinterfaces4 libsolid4 virtuoso-minimal libkde3support4
  libnepomuk4 libkdewebkit5 libsoprano4 libpolkit-qt-1-1 libkdnssd4 libkparts4
  libqapt1 kdelibs5-data kdoctools libvirtodbc0 libdbusmenu-qt2
  odbcinst1debian2 icoutils katepart libthreadweaver4 libnepomukutils4
  libkmediaplayer4 libntrack0 libkfile4 libknewstuff3-4 libqapt-runtime
  phonon-backend-gstreamer libkpty4 libnepomuksync4 libstreamanalyzer0
  libphonon4 libknotifyconfig4 libkntlm4 libplasma3 kdelibs-bin
  libktexteditor4 kde-runtime sgml-data libkio5 libkjsapi4 libstreams0
  libattica0.3 virtuoso-opensource-6.1-common plasma-scriptengine-javascript
  soprano-daemon libkhtml5 libkdeui5 libkdesu5 kdelibs5-plugins
  virtuoso-opensource-6.1-bin kate-data ntrack-module-libnl-0 libkrosscore4
  libnepomukquery4a
Veuillez utiliser « apt-get autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés : 
  binutils dpkg-dev fakeroot g++ g++-4.6 gcc gcc-4.6 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libc-dev-bin libc6-dev
  libdpkg-perl libstdc++6-4.6-dev linux-libc-dev make manpages-dev
Paquets suggérés :
  binutils-doc debian-keyring g++-multilib g++-4.6-multilib gcc-4.6-doc
  libstdc++6-4.6-dbg gcc-multilib autoconf automake1.9 libtool flex bison gdb
  gcc-doc gcc-4.6-multilib libmudflap0-4.6-dev gcc-4.6-locales libgcc1-dbg
  libgomp1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold glibc-doc
  libstdc++6-4.6-doc make-doc
Les NOUVEAUX paquets suivants seront installés :
  binutils build-essential dpkg-dev fakeroot g++ g++-4.6 gcc gcc-4.6
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libc-dev-bin libc6-dev libdpkg-perl libstdc++6-4.6-dev linux-libc-dev make
  manpages-dev
0 mis à jour, 18 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 27,0 Mo dans les archives.
Après cette opération, 75,8 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? o
Réception de : 1 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main binutils i386 2.22-6ubuntu1.1 [2 387 kB]
Réception de : 2 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main libc-dev-bin i386 2.15-0ubuntu10.4 [77,7 kB]
Réception de : 3 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main linux-libc-dev i386 3.2.0-51.77 [856 kB]
Réception de : 4 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main libc6-dev i386 2.15-0ubuntu10.4 [5 098 kB]
Réception de : 5 http://fr.archive.ubuntu.com/ubuntu/ precise/main gcc-4.6 i386 4.6.3-1ubuntu5 [7 576 kB]
Réception de : 6 http://fr.archive.ubuntu.com/ubuntu/ precise/main gcc i386 4:4.6.3-1ubuntu5 [5 118 B]
Réception de : 7 http://fr.archive.ubuntu.com/ubuntu/ precise/main libstdc++6-4.6-dev i386 4.6.3-1ubuntu5 [1 643 kB]
Réception de : 8 http://fr.archive.ubuntu.com/ubuntu/ precise/main g++-4.6 i386 4.6.3-1ubuntu5 [6 745 kB]
Réception de : 9 http://fr.archive.ubuntu.com/ubuntu/ precise/main g++ i386 4:4.6.3-1ubuntu5 [1 444 B]
Réception de : 10 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main make i386 3.81-8.1ubuntu1.1 [116 kB]
Réception de : 11 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main libdpkg-perl all 1.16.1.2ubuntu7.1 [180 kB]
Réception de : 12 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main dpkg-dev all 1.16.1.2ubuntu7.1 [469 kB]
Réception de : 13 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main build-essential i386 11.5ubuntu2.1 [5 796 B]
Réception de : 14 http://fr.archive.ubuntu.com/ubuntu/ precise/main fakeroot i386 1.18.2-1 [87,9 kB]
Réception de : 15 http://fr.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-diff-perl all 1.19.02-2 [50,7 kB]
Réception de : 16 http://fr.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-diff-xs-perl i386 0.04-2build2 [12,9 kB]
Réception de : 17 http://fr.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-merge-perl all 0.08-2 [12,7 kB]
Réception de : 18 http://fr.archive.ubuntu.com/ubuntu/ precise/main manpages-dev all 3.35-0.1ubuntu1 [1 671 kB]
27,0 Mo réceptionnés en 3min 5s (145 ko/s)                                     
Sélection du paquet binutils précédemment désélectionné.
(Lecture de la base de données... 575412 fichiers et répertoires déjà installés.)
Dépaquetage de binutils (à partir de .../binutils_2.22-6ubuntu1.1_i386.deb) ...
Sélection du paquet libc-dev-bin précédemment désélectionné.
Dépaquetage de libc-dev-bin (à partir de .../libc-dev-bin_2.15-0ubuntu10.4_i386.deb) ...
Sélection du paquet linux-libc-dev précédemment désélectionné.
Dépaquetage de linux-libc-dev (à partir de .../linux-libc-dev_3.2.0-51.77_i386.deb) ...
Sélection du paquet libc6-dev précédemment désélectionné.
Dépaquetage de libc6-dev (à partir de .../libc6-dev_2.15-0ubuntu10.4_i386.deb) ...
Sélection du paquet gcc-4.6 précédemment désélectionné.
Dépaquetage de gcc-4.6 (à partir de .../gcc-4.6_4.6.3-1ubuntu5_i386.deb) ...
Sélection du paquet gcc précédemment désélectionné.
Dépaquetage de gcc (à partir de .../gcc_4%3a4.6.3-1ubuntu5_i386.deb) ...
Sélection du paquet libstdc++6-4.6-dev précédemment désélectionné.
Dépaquetage de libstdc++6-4.6-dev (à partir de .../libstdc++6-4.6-dev_4.6.3-1ubuntu5_i386.deb) ...
Sélection du paquet g++-4.6 précédemment désélectionné.
Dépaquetage de g++-4.6 (à partir de .../g++-4.6_4.6.3-1ubuntu5_i386.deb) ...
Sélection du paquet g++ précédemment désélectionné.
Dépaquetage de g++ (à partir de .../g++_4%3a4.6.3-1ubuntu5_i386.deb) ...
Sélection du paquet make précédemment désélectionné.
Dépaquetage de make (à partir de .../make_3.81-8.1ubuntu1.1_i386.deb) ...
Sélection du paquet libdpkg-perl précédemment désélectionné.
Dépaquetage de libdpkg-perl (à partir de .../libdpkg-perl_1.16.1.2ubuntu7.1_all.deb) ...
Sélection du paquet dpkg-dev précédemment désélectionné.
Dépaquetage de dpkg-dev (à partir de .../dpkg-dev_1.16.1.2ubuntu7.1_all.deb) ...
Sélection du paquet build-essential précédemment désélectionné.
Dépaquetage de build-essential (à partir de .../build-essential_11.5ubuntu2.1_i386.deb) ...
Sélection du paquet fakeroot précédemment désélectionné.
Dépaquetage de fakeroot (à partir de .../fakeroot_1.18.2-1_i386.deb) ...
Sélection du paquet libalgorithm-diff-perl précédemment désélectionné.
Dépaquetage de libalgorithm-diff-perl (à partir de .../libalgorithm-diff-perl_1.19.02-2_all.deb) ...
Sélection du paquet libalgorithm-diff-xs-perl précédemment désélectionné.
Dépaquetage de libalgorithm-diff-xs-perl (à partir de .../libalgorithm-diff-xs-perl_0.04-2build2_i386.deb) ...
Sélection du paquet libalgorithm-merge-perl précédemment désélectionné.
Dépaquetage de libalgorithm-merge-perl (à partir de .../libalgorithm-merge-perl_0.08-2_all.deb) ...
Sélection du paquet manpages-dev précédemment désélectionné.
Dépaquetage de manpages-dev (à partir de .../manpages-dev_3.35-0.1ubuntu1_all.deb) ...
Traitement des actions différées (« triggers ») pour « man-db »...
Paramétrage de binutils (2.22-6ubuntu1.1) ...
Paramétrage de libc-dev-bin (2.15-0ubuntu10.4) ...
Paramétrage de linux-libc-dev (3.2.0-51.77) ...
Paramétrage de libc6-dev (2.15-0ubuntu10.4) ...
Paramétrage de gcc-4.6 (4.6.3-1ubuntu5) ...
Paramétrage de gcc (4:4.6.3-1ubuntu5) ...
Paramétrage de make (3.81-8.1ubuntu1.1) ...
Paramétrage de libdpkg-perl (1.16.1.2ubuntu7.1) ...
Paramétrage de dpkg-dev (1.16.1.2ubuntu7.1) ...
Paramétrage de fakeroot (1.18.2-1) ...
update-alternatives: utilisation de « /usr/bin/fakeroot-sysv » pour fournir « /usr/bin/fakeroot » (fakeroot) en mode automatique.
Paramétrage de libalgorithm-diff-perl (1.19.02-2) ...
Paramétrage de libalgorithm-diff-xs-perl (0.04-2build2) ...
Paramétrage de libalgorithm-merge-perl (0.08-2) ...
Paramétrage de manpages-dev (3.35-0.1ubuntu1) ...
Paramétrage de libstdc++6-4.6-dev (4.6.3-1ubuntu5) ...
Paramétrage de g++-4.6 (4.6.3-1ubuntu5) ...
Paramétrage de g++ (4:4.6.3-1ubuntu5) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5ubuntu2.1) ...
Traitement des actions différées (« triggers ») pour « libc-bin »...
ldconfig deferred processing now taking place
make: entrant dans le répertoire « /usr/src/linux-headers-3.2.0-51-generic »
  CC [M]  /home/viviane/WACOM/wacomdriver/wacom_wac.o
  CC [M]  /home/viviane/WACOM/wacomdriver/wacom_sys.o
  LD [M]  /home/viviane/WACOM/wacomdriver/wacom.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/viviane/WACOM/wacomdriver/wacom.mod.o
  LD [M]  /home/viviane/WACOM/wacomdriver/wacom.ko
make: quittant le répertoire « /usr/src/linux-headers-3.2.0-51-generic »
ERROR: Module wacom does not exist in /proc/modules

Message 5, par Elzen

§ Posté le 18/08/2013 à 14h 18m 11

À première vue, l'erreur semble survenir juste après le make, dont sur l'instruction rmmod wacom. Cette instruction est seulement censée retirer l'ancienne version du pilote wacom avant d'ajouter la nouvelle : ce n'est donc pas grave si elle échoue (l'erreur signifie ici simplement que l'ancienne version du pilote n'était pas installée, mais ça ne gêne pas, puisque, dans les deux cas, il n'y a plus de pilote wacom chargé, ce qui était l'objectif 😊 ).


Merci d'avoir noté ça, ceci dit.

(Suite au décès inopiné de mon précédent serveur, je profite de mettre en place une nouvelle machine pour essayer de refaire un outil de blog digne de ce nom. J'en profiterai d'ailleurs aussi pour repasser un peu sur certains articles, qui commencent à être particulièrement datés. En attendant, le système de commentaires de ce blog n'est plus fonctionnel, et a donc été désactivé. Désolé ! Vous pouvez néanmoins me contacter si besoin par mail (« mon login at ma machine, comme les gens normaux »), ou d'ailleurs par n'importe quel autre moyen. En espérant remettre les choses en place assez vite, tout plein de datalove sur vous !)