Installation de Manjaro sur un PC portable HP Spectre X360

Installation d’une solution de rotation automatique
Sur l’ordinateur portable HP Spectre X360, l’écran est tactile, et peut se retourner de façon à utiliser le portable comme une tablette (le clavier se retrouve alors derrière). Plusieurs solutions existent pour permettre le retournement automatique sous KDE, cf https://wiki.archlinux.org/index.php/Tablet_PC.

D’expérience, la rotation automatique sous Ubuntu/Gnome est activée, mais pas sous Manjaro/KDE. La solution kded_rotation, décrite sur le wiki de Archlinux, fonctionne très bien, moyennant qu’on ne se connecte pas sur une session Plasma Wayland : la brique de remplacement de XServer n’est en effet pas encore parfaitement opérationnelle, en particulier quand on veut utiliser des écrans qui pivotent, des claviers tactiles etc.

Installation d’Onboard
Quand on se retrouve en mode tablette, il est indispensable d’avoir un clavier tactile pour interagir avec l’ordinateur. Pour l’instant, la meilleure solution existante est Onboard, un programme sous Gnome mais qui fonctionne très bien (mieux ?) sous KDE. L’installation est immédiate avec pacman, et la configuration simple à comprendre. Attention, celle-ci permet en théorie d’activer l’écriture par « glissé du doigt », cependant cela ne fonctionne pas correctement et cela fait planter Onboard. En dehors de ce problème, il en existe un autre que j’ai réussi à contourner : en effet, même en activant Onboard en français, il commute sur l’anglais dès la première frappe, ce qui est … gênant. Il est possible de contourner ce bug en utilisant la commande suivante :

setxkbmap fr

Il suffit de l’ajouter au .bash_profile du répertoire « home » et le bug disparait.
Il existe aussi une interface tactile sous Qt mais qui n’interagit pour l’instant qu’avec les applications Qt ou KDE, donc ne fonctionne pas avec les applis Gnome par exemple (exit firefox, libreoffice etc.). Il est quand même intéressant d’installer cette interface car quand on verrouille le portable en mode tablette, on peut y faire appel pour taper le mot de passe de déverrouillage. Pour ceci il faut installer le paquet qt5-virtualkeyboard.

Firefox en mode tactile
Par défaut, la fonction tactile de Firefox n’est pas activée. Pour ce faire, il est nécessaire de réaliser la commande suivante

sed -i "s|Exec=|Exec=env MOZ_USE_XINPUT2=1 |g" /usr/share/applications/firefox.desktop

Cette commande ajuste une variable d’environnement au démarrage de firefox qui permet de démarrer celui-ci en mode tactile. Le problème, c’est que à chaque réinstallation ou mise à jour du navigateur, le fichier firefox.desktop est remis à 0 et il faut refaire l’opération, ce qui est pénible. J’ai donc ajouté un bout de script dans /etc/rc.local qui ajoute « env MOZ_USE_XINPUT2=1 » uniquement si cette variable n’est pas présente dans le fichier desktop. Evidemment cela induit qu’il faut faire un redémarrage pour que cela ait un effet. Il suffit de coller le bout de code suivant dans /etc/rc.local, avant le « exit 0 » :

#####################################################
# This is to add the touchscreen ability to firefox # 
#####################################################
if cat /usr/share/applications/firefox.desktop | grep MOZ ; then
    true
else
    sed -i "s|Exec=|Exec=env MOZ_USE_XINPUT2=1 |g" /usr/share/applications/firefox.desktop
fi

Association box TS3 Thunderbolt de CalDigit

Pour associer correctement une telle station d’accueil sur un Ubuntu 17.10 il convient de réaliser l’opération suivante (cf la page Thunderbolt sur The Linux Kernel) :
# echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
Ceci est indispensable pour « autoriser » la station. Dans mon cas, il s’agit d’une station CalDigit TS3 : http://www.caldigit.com/thunderbolt-3-dock/.

Par la suite, pour pérenniser cette action à chaque reboot il faut ajouter la tâche crontab suivante :
@reboot echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate Ainsi la station d’accueil sera autorisée à chaque démarrage du portable.

Ou alors, ce qui est plus radical mais moins « secure » :

Editer la ligne /etc/udev/rules.d/99-local.rules et y ajouter :

ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1"

Pour l’instant, le double-écran, la prise RJ45 ethernet et les ports USB fonctionnent très bien. Il me reste à tester le port SATA intégré à cette station qui par ailleurs semble de très bonne qualité.

Pour éviter que le portable ne s’éteigne quand on le ferme alors qu’il est connecté au dock, il faut également modifier le fichier /etc/systemd/logind.conf pour positionner la variable HandleLidSwitchDocked :

HandleLidSwitchDocked=ignore