Configuration xrandr bi écran et tablette Cintiq
Article mis en ligne le 12 juillet 2020

par Rémi

Une de mes filles utilise un portable avec une tablette Wacom Cintiq 13HD.
Pour l’utilisation sous linux, pas de souci à notre époque. La tablette est vue comme une réplication de l’écran, ce d’autant qu’elles ont la même dimension : 1920x1080.
Il faut juste, quand on a démarré le bureau (Lxde pour elle), exécuter arandr pour rendre la sortie vidéo active. Pour le reste, stylet et autre, vraiment aucun problème.

Mais (c’est la ou je me suis amusé...) ma fille a eu besoin d’un écran supplémentaire.
Bon, techniquement, c’est pas difficile, j’ai un ancien écran plat, en 1600x900, entrée VGA, il fera l’affaire, cela lui suffit.
La ou cela c’est compliqué, c’est le stylet : celui ci ne comprenait pas qu’il y avait un écran en plus, ou plutôt comprenait que la taille d’écran n’est plus de 1920x1080 mais :

  • 1920+1600 = 3520 : si le second moniteur était à droite (ou gauche) de l’écran principal ;
  • 1080+900 = 1980 : si le second moniteur était en haut (ou en bas) de l’écran principal ;

le tout avec arandr bien sur, pas physiquement !
En regardant bien, arand exécute juste un script, placé dans .screenlayout/
J’ai donc cherché à modifié un des scripts. Mais, pour une raison que je n’ai pas identifiée, le script n’a pas fonctionné. En console, oui, avec arandr, non.

Passons à une autre stratégie :
→ le script fonctionne en console, je peux poser mes écrans ou je veux (ou presque, voir à la fin), mais il y a toujours le stylet qui se décale car il pense que la taille de l’écran est modifiée.
→ il faut donc compenser la taille virtuel par la taille réel...

Je vous passe les détails de la recherche.
J’ai trouvé la solution "tout simplement" sur le site du Linux Wacom Project. On demande, via xsetwacom (paquet xserver-xorg-input-wacom sous Debian) de maper le stylet avec un des écrans.
Sur la machine de ma fille, l’écran principale, c’est eDP-1, le stylet, c’est xserver-xorg-input-wacom
Pour trouver ces informations, faites ceci en console :

  • liste des écrans :
    xrandr | grep " connected"

    vous aurez la liste des écrans connectés, avec leurs tailles et positions.

  • liste des entrées de type stylet :
    xinput | grep "Wacom"

    vous aurez la liste des entrées Wacom (modifier par autre chose que Wacom si vous avez besoin)

A partir de la :

  • j’ai mis le script dans ~/bin/trois_ecrans.sh
  • mis exécutable,
  • j’ai mis une icône ~/bin/trois_ecrans.png
  • créé un fichier ~/.local/share/applications/trois_ecrans.desktop pour le placer dans les menus de Lxde et quand il y a besoin des trois écrans, et bien, on a juste à lancer le script !

En fin de compte, le plus long aura été de faire les recherches, afin de réussir à modifier l’affichage et gérer les coordonnées du stylet de façon optimales.

Ce que je n’ai pas pu faire :

je voulais mettre l’écran principale en position inférieur, et l’écran supplémentaire en position supérieur, de façon à remonter avec le curseur, les fenêtres vers le haut.
Mais garder la barre de menu de Lxde en bas.
Impossible d’y arriver !!!
Dès que l’écran principale passe en bas, le menu passe en haut, et donc l’écran secondaire devient le principale. La modification des paramètres n’y a rien fait.
Je me suis résolu à terminer par l’écran principal en haut et le secondaire en bas (ce n’est pas la configuration du script en téléchargement, mais c’est facile à faire).

Fichier desktop pour apparaitre dans les menus
Script de l’application
icone application