#1 Le 01/05/2011, à 23:52
- Greewi
[Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty
Bonjour à vous,
Je vais traiter ici de l'utilisation (et plus particulièrement de la configuration) d'une tablette graphique Wacom en conjonction avec un environnement multi-écran basé sur Twinview. Le but sera d'avoir l'affichage sur deux écran (ouf) et surtout une tablette graphique fonctionnant sur le premier écran sans déborder sur l'autre. Il faut savoir que par défaut, une fois TwinView activé, la surface de la tablette recouvre l'ensemble des deux écrans, déformant considérablement les déplacements du stylet (tracer un cercle sur la tablette déplace le curseur sur une ellipse très étirée).
Il existe une tonne de didacticiels pour faire fonctionner les tablettes graphiques de maque Wacom sur le net. La mauvaise nouvelle c'est que la quasi-totalité ne convient pas avec l'environnement de Natty (Ubuntu 11.04) : entre la migration des paramètres des tablettes de xorg.conf, vers les fichiers de xorg.conf.d (le répertoire ayant lui même déménagé depuis la version précédente...) et des changements au niveau des drivers wacom et nvidia...
TwinView
La première chose à faire est de configurer Twinview. On va générer un fichier de configuration xorg au propre en utilisant l'outil de nvidia avec la commande suivante :
nvidia-xconfig -o ~/xorg.conf --force-generate --twinview --twinview-orientation="RightOf"
Éditez ensuite le fichier "xorg.conf" qui a été créé à la racine de votre compte et supprimez les entrées relatives aux clavier et à la souris (qui sont gérée par un autre moyen plus efficace désormais). Votre fichier devrait alors ressembler à quelque chose comme :
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 270.41.06 (buildmeister@swio-display-x86-rhel47-07.nvidia.com) Mon Apr 18 15:15:12 PDT 2011
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
EndSection
Section "Files"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "True"
Option "MetaModes" "nvidia-auto-select, nvidia-auto-select"
Option "TwinViewOrientation" "RightOf"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Faites une sauvegarde du fichier xorg.conf de votre système :
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
Et copiez votre nouveau fichier :
sudo cp ~/xorg.conf /etc/X11/xorg.conf
Redémarrez le serveur graphique (déconnectez et reconnectez-vous), normalement vos deux écrans devraient êtres actifs et utilisable.
La tablette graphique
Si vous essayez directement votre tablette graphique vous notez qu'elle fonctionne mais que la surface de la tablette n'est pas restreinte à un seul de vos écrans, mais bel et bien étirée sur les deux écrans... Essayez de tracer un beau cercle pour voir !
Normalement, il existe une solution simple, un petit paramètre ("KeepShape") à ajouter pour que le rapport d'étirement vertical et horizontal soient identique. Malheureusement sous Natty, il semble que ce paramètre fonctionne à l'inverse (amplifiant encore le phénomène !)... Et puis de toutes façon, la plupart (y compris moi) préfèrent restreindre la tablette à un seul écran, l'écran principal de surcroît.
Je ne vais pas vous le cacher, mais nous allons avoir besoin d'un peu de maths. Rien d'insurmontable rassurez vous !
Tout d'abord nous avons besoin de connaître les dimensions de votre tablette (en points), et donc de connaître le nom de votre périphérique. La commande suivant vous permettra de le savoir :
xsetwacom list
Elle devrait vous retourner un résultat du genre :
Wacom Graphire3 eraser id: 8 type: ERASER
Wacom Graphire3 cursor id: 9 type: CURSOR
Wacom Graphire3 stylus id: 10 type: STYLUS
Ici je retiendrais le nombre 10 (qui correspond au stylet). Nous allons nous servir de cet identifiant dans la commande suivante qui va nous donner les dimensions de la tablette (en points) :
xsetwacom get 10 area
(Remplacez évidemment le 10 par le nombre que vous avez trouvé juste avant.) Vous obtiendrez quatre nombres (les deux premiers étant '0'). Notez les quelques part (sur papier de préférence). Il s'agit dans l'ordre du TopX, TopY, BottomX, BottomY que l'on peut trouver dans les versions précédentes de cet outils et qu'on utilisera par la suite sous le nom X0, Y0, X1, Y1 dans nos formules.
Trouvez aussi la résolution de vos deux écrans que nous noterons R1X et R1Y pour l'écran de gauche et R2X, R2Y pour l'écran de droite.
Passons aux maths promises (ne fuyez pas, ce n'est qu'une règle de trois). Nous allons calculer une nouvelle valeur pour TopX et BottomX. Si vous souhaitez utiliser la tablette sur l'écran de gauche, on trouveras ces deux valeurs avec les formules suivantes (tous les arrondis doivent être fait à l'entier supérieur) :
TopX = 0
BottomX = X1 * (R1X+R2X) / R1X
Si vous souhaitez utiliser l'écran de droite, ce sera :
TopX = X1 * (-R1X) / R2X
BottomX = X1
Si vos deux écrans n'ont pas la même résolution verticale et que vous souhaitez utiliser celui qui a a plus faible, vous devez aussi calculer un nouveau BottomY avec la formule suivante (Inversez R1Y et R2Y si l'écran gauche est le plus grand):
BottomY = Y1 * R1Y/R2Y
Une fois ces valeurs magiques calculées éditez le fichier 50-wacom.conf :
gksudo gedit /usr/share/X11/xorg.conf.d/50-wacom.conf
Ajoutez les valeurs que vous avez trouvez dans la première section (celle avec l'identifiant "Wacom class"). Par exemple pour mon cas, j'ai obtenu le fichier suivant :
Section "InputClass"
Identifier "Wacom class"
# WALTOP needs a patched kernel driver, that isn't in mainline lk yet,
# so for now just let it fall through and be picked up by evdev instead.
# MatchProduct "Wacom|WALTOP|WACOM"
MatchProduct "Wacom|WACOM|Hanwang"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
Option "Mode" "Absolute"
Option "BottomX" "18375"
Option "BottomY" "8447"
EndSection
Section "InputClass"
Identifier "Wacom serial class"
MatchProduct "Serial Wacom Tablet"
Driver "wacom"
EndSection
Section "InputClass"
Identifier "Wacom serial class identifiers"
MatchProduct "WACf|FUJ02e5|FUJ02e7"
Driver "wacom"
EndSection
# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
Identifier "Wacom N-Trig class"
MatchProduct "HID 1b96:0001|N-Trig Pen"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
Option "Button2" "3"
EndSection
Les lignes que j'ai ajoutée sont :
Option "BottomX" "18375"
Option "BottomY" "8447"
Ajoutez celle qui correspondent à votre cas.
Ceci fait, redémarrez une dernière fois votre serveur graphique (déconnectez et reconnectez-vous) et ce sera bon.
Quelques notes en vrac
- Durant toute ces manipulations vous devriez avoir créé un fichier xorg.conf à la racine de votre compte. Une fois copié, et si Twinview fonctionne bien, il ne vous est plus utile, pensez à le supprimer ou le ranger.
- Les dimensions de la tablette sont données en points. Beaucoup de monde se demandent à quoi correspondent ces unités. Comme un écran, une tablette divise son espace selon une grille. Les coordonnées qu'elle renvoi au système sont des entiers qui correspondent au coordonnées de ces cases. Un peu comme des pixels. Si je prends les données de ma Graphire 3 A6, je trouve une résolution de 10208x7424. Cette tablette a une précision de 2000dpi (Dot Per Inch, point par pouces), je peux en déduire qu'elle fait 5.104 par 3.712 pouces, soit 10.80cm par 7.85cm ce qui correspond effectivement aux dimensions de la surface active de ma tablette.
Hors ligne
#2 Le 26/10/2011, à 15:59
- Greewi
Re : [Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty
Ma configuration ayant sauté après la mise à jour, je peux confirmer que ce tutorial fonctionne toujours (avec ubuntu 11.10).
Hors ligne
#3 Le 26/10/2011, à 17:22
- Greewi
Re : [Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty
Note utile : pour ceux qui comptent utiliser gimp. Installez une version 2.7.x. La version 2.6 fournie avec ubuntu pose un gros problème avec les tablettes...
Hors ligne
#4 Le 21/11/2012, à 15:36
- galinux
Re : [Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty
salut ! juste pour dire que ça fonctionne encore avec 12.04 MAIS NE PAS TOUCHE à xorg.conf pour supprimez les entrés relatives au clavier souris !!!
vieux packard bell imedia, intel core2 duo 1.86 ghz, 2.5 Go ram, nvidia gt 220 LMDE (xfce) 64 b + voyager 12.10 32 b sur clef pour l emmené partout
un brin d' insomnie, un chouillat d ' agoraphobie, un peu geek ................. linux addict !!!! :)
http://gallienart.blogspot.fr/
Hors ligne