Ubuntu 14.04 sur Dell XPS "Gold Edition" (9333)
La société Dell propose depuis quelques années un ultrabook baptisé XPS, visant à faire concurrence aux MacBook Air d'Apple. Il se trouve que je possède un MacBook Air de 2012, avec un écran d'une diagonale de 11 pouces. Début mai 2014, j'ai fait l'acquisition (onéreuse, environ 1 400 € avec sa sacoche de protection en cuir) d'un Dell XPS de 13 pouces. J'ai tout de suite installé la version 14.04 de la distribution Ubuntu en lieu et place de Windows 8.1, qui équipait l'ordinateur à sa livraison 1).
Premières impressions
Après trois jours d'utilisation, d'un point de vue hardware, je suis très satisfait, ce relativement petit ordinateur vaut son prix, qui est comparable à celui d'un MacBook Air de même génération. L'écran haute définition est impressionnant de netteté, le clavier est très confortable, l'ordinateur chauffe peu pour l'usage que j'en fais, la finition générale est excellente. Points notables :
- La grille de ventilation se trouve sous l'ordinateur et pas sur les côtés ou à l'arrière. Si on pose l'ordinateur sur un coussin par exemple, elle se retrouve recouverte plus ou moins complètement. Mais même dans ce cas, je n'ai pas noté de chauffe particulière (l'ordinateur est équipé d'un processeur Intel Haswell, à basse consommation, ceci expliquant sans doute cela).
- Il n'y a que 2 prises USB (dont l'une est auto-alimentée) et une prise jack disponibles sur les côtés, ainsi qu'une prise pour se connecter à un moniteur externe. J'utilise essentiellement des clés USB ou des périphériques de stockage qui se connectent avec des câbles USB, mais le fait qu'il n'y ait pas de lecteur de carte SD peut être gênant pour certains (mais c'est aussi le cas sur mon MacBook Air 11 pouces).
- Le chargeur électrique est pratique car vraiment très petit, et la prise elle-même est dotée d'une petite diode lumineuse (facile à retrouver dans la pénombre !)
- Le clavier est rétro-éclairé, comme sur les MacBooks, une fonction si pratique qu'elle m'est devenue indispensable pour travailler.
- L'écran est actif, on peut cliquer directement avec le doigt sur les éléments affichés. Ce serait certainement très utile sur un ordinateur qui se transforme en tablette, mais pour le coup, je ne vois pas l'utilité de cette fonctionnalité. L'écran n'est pas mat mais brillant : en intérieur, aucun problème, mais dehors au soleil, les reflets de l'environnement nuisent à la lisibilité.
Dans l'ensemble, si la machine n'arrive pas à atteindre l'impression de perfection et de robustesse d'un MacBook Air, elle n'en est vraiment pas loin et possède même, si je puis dire, sa propre “personnalité”. C'est un concurrent, pas une copie de l'ordinateur d'Apple.
Installation de Ubuntu 14.04
La version 14.04 LTS (Long Term Support) d'Ubuntu est sortie fin avril 2014, quelques jours avant que je reçoive le Dell XPS. La tentation était évidemment trop forte, d'autant plus que l'ordinateur était livré avec cet horrible Windows 8.1 dont l'ergonomie est si étrange et maladroite qu'on se demande bien à quoi peuvent bien carburer les designers de Microsoft…
J'ai démarré une première fois l'ordinateur et me suis retrouvé devant la page me demandant d'accepter les termes de la licence Windows 8.1. J'ai éteint l'ordinateur (appui long sur le bouton d'allumage) sans cliquer sur rien (on n'a pas d'option “Non, je refuse cette licence”). J'avais préparé une clé USB avec une image de Ubuntu 14.04, depuis mon MacBook Air. J'ai branché la clé à l'ordinateur et j'ai redémarré en maintenant la touche Echap enfoncée. Le système propose alors de démarrer l'ordinateur depuis le disque interne (une carte SSD de 256 Go) ou depuis la clé USB qui vient d'être détectée. En quelques secondes, je me suis retrouvé sur la version live du système Ubuntu, où j'ai pu vérifier que tout semblait bien fonctionner. J'ai alors lancé l'installation. La rapidité du processus m'a impressionné, performance certainement due à la carte SSD en lieu et place d'un disque dur classique.
Dans l'ensemble, le système d'exploitation Ubuntu fonctionne très bien sur cet ordinateur, je suis épaté notamment par le démarrage qui est pratiquement instantané ! Mais il y a tout de même quelques soucis, par manque d'optimisation ou par négligence de la part Dell, soucis qui font qu'un utilisateur “non geek” ne voudra pas souffrir longtemps et préférera retourner à Windows ou choisir un Mac. Pourtant ces défauts de l'installation “par défaut” (ah ah ah) peuvent être résolus assez simplement, pour peut qu'on sache de quoi il retourne exactement.
Juste après l'installation
Il y a des tas de tutoriaux qui proposent les choses à faire juste après l'installation d'Ubuntu (par exemple voir la requête "To do after install ubuntu" depuis le moteur de recherche DuckDuckGo).
Voici les quelques manips qui à mon avis son incontournables ou rendent l'expérience un poil plus agréable.
Ajouter de quoi lire les MP3 et autres formats non-libres
Tout un tas de plugins audio et vidéo ne peuvent pas être installés automatiquement par Ubuntu, car il s'agit de codecs non-libres, une entreprise comme Canonical (qui distribue Ubuntu) ne peut pas exploiter ces technologies sans avoir à payer une licence, or Ubuntu est un système d'exploitation libre et diffusé gratuitement. C'est le cas par exemple pour le célèbre format MP3, et pour des formats propriétaires appartenant à Microsoft ou Apple par exemple, y compris certaines polices de caractères largement utilisées.
Heureusement ces codecs peuvent être installés très simplement depuis la Logithèque Ubuntu (application en mode graphique), ou bien, et c'est encore plus simple, en ligne de commande depuis le Terminal (menu Unity > taper “terminal” > cliquer sur l'icône de l'application).
sudo apt-get install ubuntu-restricted-extras
(Ne pas oublier d'appuyer sur Enter une fois la ligne copiée dans le Terminal.)
Lire des DVDs
Pour la même raison, il est impossible de lire des DVD “out of the box” avec Ubuntu. Il faut installer un codec propriétaire, dans certains pays il est même interdit d'utiliser ce codec… L'installation est très simple via le Terminal (au passage, on va installer aussi l'excellent logiciel VLC, qui permet de lire les fichiers audio et vidéo et s'avère plus stable et plus pratique que le lecteur vidéo installé avec Ubuntu) :
sudo apt-get install libdvdread4 vlc
Puis on télécharge le fameux codec plus ou moins interdit, en lançant un script contenu dans la bibliothèque libdvdread4 que l'on vient d'installer.
sudo /usr/share/doc/libdvdread4/install-css.sh
Désormais, via un lecteur DVD externe branché à une prise USB du Dell XPS, il est possible de lire des DVD :)
À propos de la légalité de la chose, on peut consulter par exemple cet article de 2007 du blog Ubuntucat.com qui fait une excellente synthèse de la chose à l'époque : http://www.psychocats.net/ubuntucat/the-legality-or-illegality-of-w32codecs-and-libdvdcss2/
Installer le plugin Flashplayer
Cette étape n'est pas strictement nécessaire, mais le plugin officiel d'Adobe pour lire les vidéos au format Flash sur le net peut encore être utile :
sudo apt-get install flashplugin-installer
Je dis “encore”, car les sites de partage comme Youtube et DailyMotion proposent désormais d'utiliser le format vidéo HTML5 en lieu et place du format Flash, lorsque c'est possible.
En outre, tout dépend du navigateur internet choisi : Google Chrome est installé avec sa propre version du player flash, optimisée pour ce navigateur, alors que Firefox utilise le player d'Adobe. Selon mon expérience, Chrome est beaucoup plus stable, car le player Flash d'Adobe a tendance à planter régulièrement. Si vous utilisez Chrome comme navigateur principal, il n'est donc pas nécessaire d'installer le player Flash.
Améliorer la gestion de la batterie et la chaleur émise avec TLP
L'utilitaire TLP est une suite de scripts qui va s'occuper de mieux gérer l'énergie utilisée pour faire fonctionner les différents éléments de l'ordinateur. La batterie va durer plus longtemps et l'ordinateur devrait chauffer moins souvent. Son installation est simple, il faut ajouter le repository qui propose TLP puis installer TLP puis le démarrer. Tout cela se fait via le Terminal, en quatre commandes successives :
sudo add-apt-repository ppa:linrunner/tlp sudo apt-get update sudo apt-get install tlp tlp-rdw sudo tlp start
Désormais, à chaque démarrage, TLP sera lancé automatiquement. Je n'ai pas assez de recul pour pouvoir mesurer le gain réel, mais d'après tous les témoignages lus sur le net, TLP a une réelle efficacité pour augmenter la durée de vie de la batterie. Pour ce qui est de mon Dell XPS, il y a plus de 5 heures d'utilisation “classique”, peut-être même jusqu'à 7 heures, bien que je n'ai pas pu encore vérifier tout ça. Pour en savoir plus sur la configuration fine de TLP, consulter sa documentation officielle ici : http://linrunner.de/en/tlp/tlp.html
Installer Unity Tweak pour personnaliser l'interface
Les Paramètres Système du bureau d'Ubuntu, appelé Unity, proposent une section “Apparence” qui reste assez simple. On ne peut pas par exemple changer la taille des polices de caractères ni ajouter des “coins actifs” qui permettent de naviguer dans l'interface depuis le touchpad. Heureusement l'application Unity Tweak Tool permet de modifier en détail l'interface.
sudo apt-get install unity-tweak-tool
Trucs et astuces divers
Désactiver le TouchScreen
Le Dell XPS est doté d'un écran à dalle tactique, on peut cliquer sur l'écran directement avec les doigts, comme une sur tablette ou un smartphone. Mais dans la pratique, cette fonctionnalité ne me sert à rien, elle est même assez embêtante quand il m'arrive de tenir l'ordinateur depuis un coin de l'écran pour le déplacer. On peut heureusement désactiver la chose assez simplement, via deux commandes dans le Terminal : la première pour déterminer le nom exact de cette fonctionnalité, la seconde pour la désactiver.
xinput list
Cette commande va fournir en réponse toutes les modalités d'interface du Dell XPS, et parmi elles, trois modalités virtual core pointer, les autres étant liées au clavier. Parmi ces trois modalités, la deuxième s'intitule SYNAPTICS Synaptics Large Touch Screen, c'est celle qu'il faut désactiver. Pour ce faire, on utilise encore xinput :
xinput set-prop 'SYNAPTICS Synaptics Large Touch Screen' 'Device Enabled' 0
(Il sera toujours possible d'activer à nouveau l'écran tactile, en remplaçant le 0 final par un 1.)
Activer l'accélération matérielle des vidéos Flash
C'est connu, visionner une vidéo en flash, depuis Youtube par exemple, occupe énormément les ressources du CPU (le processeur de l'ordinateur) et du GPU (le processeur de la carte graphique), ce qui a tendance à faire chauffer les circuits, et donc à faire souffler le ventilateur plus ou moins bruyamment pour calmer les choses. J'ai noté cela sur le Dell XPS avec certaines vidéos assez longues.
Il existe un moyen de réduire de manière notable cette occupation des ressources, et donc de calmer le ventilateur interne, en utilisant le pilote VDPAU (Video Decode and Presentation API for Unix). Ce pilote peut être utilisé par plusieurs applications, dont VLC et le Flash Player d'Adobe. VDPAU est encore en développement et n'est pas finalisé, mais il semble qu'il fonctionne bien avec les cartes graphiques Intel, comme celle qui équipe le Dell XPS.
Voici les étapes pour installer le pilote puis faire comprendre au Flash Player d'Adobe qu'il faut utiliser ce pilote. Attention cependant, ça ne fonctionnera pas avec le navigateur Chrome, car il est équipé de sa propre version du Flash Player, pas de la version officielle d'Adobe. Donc pour utiliser ce pilote, il faut utiliser Firefox.
sudo apt-get install i965-va-driver
Puis on ajoute le repository Webupd8 pour installer le pilote VDPAU lui-même.
sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install libvdpau-va-gl1
Enfin on explique au Flash Player qu'il va devoir utiliser l'accélération matérielle via VDPAU :
sudo mkdir -p /etc/adobe echo "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg echo "OverrideGPUValidation=1" | sudo tee -a /etc/adobe/mms.cfg
Il ne reste plus qu'à tester le tout en lançant une instance de Firefox à laquelle on dit d'utiliser ce pilote :
VDPAU_DRIVER=va_gl firefox
J'ai fait le test en lisant une même vidéo assez longue depuis Youtube, avec le Firefox habituel puis avec Firefox lancé depuis cette commande. La différence est claire et nette, dans le premier cas le ventilateur se fait vraiment entendre, dans le second cas on ne l'entend pas du tout !
Il est possible d'appliquer le pilote par défaut pour toutes les applications capables d'en tirer parti, même si c'est déconseillé sur les ordinateurs qui utilisent des cartes graphiques nVIDIA (ce qui n'est pas le cas du Dell XPS). Pour cela, il faut éditer un fichier de configuration lu au démarrage du système, pour lui spécifier de prendre en compte ce pilote d'accélération matérielle. On peut procéder à cette modification via le Terminal, avec deux commandes successives utilisant l'appli sed (qui permet d'éditer des fichiers sans passer par une interface graphique) :
sudo sed -i "s/^# \[/\[/g" /etc/X11/Xsession.d/20vdpau-va-gl sudo sed -i "s/^# export/ export/g" /etc/X11/Xsession.d/20vdpau-va-gl
Les gros problèmes du touchpad du Dell XPS sous Ubuntu
Premier problème du touchpad : pas de défilement à deux doigts ni de "tap-to-clic"
Le principal problème que j'ai rencontré concerne la gestion du touchpad du XPS. Juste après l'installation, j'ai remarqué que le touchpad était géré comme une simple souris, c'est-à-dire sans le défilement à deux doigts et sans la fonction “tap-to-clic” (taper simplement la dalle permet de cliquer, sans avoir à appuyer sur la dalle pour produire un “vrai clic”). Ces limitations s'accompagnaient d'un bug très énervant : souvent le curseur glissait de quelques millimètres au moment de sélectionner la fenêtre d'une application ou de cliquer sur un bouton.
Ce problème se règle assez facilement, quand on sait quoi faire ! Il faut ajouter une ligne à un fichier de configuration pour “blacklister” un certain pilote, qui entre en conflit avec la reconnaissance du touchpad. La procédure est simple, il suffit d'ouvrir le Terminal (depuis le menu Unity, taper “terminal” pour retrouver l'application et la lancer) et de copier-coller la commande suivante (évidemment, appuyer sur Entrée ensuite) :
echo "blacklist i2c_hid" | sudo tee -a /etc/modprobe.d/blacklist.conf
Dans les paramètres du système, on a alors plusieurs options possibles, dont le défilement à deux doigts et le “défilement naturel” (utilisé par défaut dans les nouvelles version du système d'exploitation d'Apple, cette option est particulièrement déroutante pour l'utilisateur chevronné de touchpads !).
L'option “Désactiver pendant la frappe” est prometteuse, hélas, c'est là que réside le deuxième GROS problème avec la reconnaissance du touchpad…
Deuxième problème du touchpad : le "jumping cursor" pendant la frappe
Lorsqu'on saisit du texte au clavier, le touchpad est normalement désactivé, afin d'éviter les effleurements intempestifs des mains sur la dalle. Mais un gros bug bien coriace empêche cette désactivation. Le symptôme est très incapacitant : le curseur de saisie à l'écran fait un bon instantané de quelques lignes vers le haut, pendant la saisie, et tout le paragraphe en cours de rédaction en est bousculé. Même la rédaction d'un simple courriel peut devenir un supplice si l'on ne prend pas mille précautions pour éviter la zone maudite sous les mains.
Ce problème dit du “jumping cursor” est visiblement assez répandu sur Ubuntu, depuis quelques années déjà. Beaucoup d'utilisateurs, sur les forums d'entraide ou sur le site AskUbuntu.com, signalent ce problème. La solution la plus simple consistait à désactiver le “tap-to-clic” et le défilement à deux doigts, ce qui revenait à abandonner le confort d'utilisation d'un touchpad…
Heureusement, fin avril 2014, un utilisateur informaticien vraiment compétent a eu la bonne idée de partager sa solution via sa page http://xps13-9333.appspot.com/#touchpad Hourra ! Enfin la solution ! Mais attention, la manipulation est plus complexe qu'un simple fichier à éditer, même si elle reste tout à fait réalisable, en quelques minutes. De plus notre utilisateur providentiel utilise Debian et non Ubuntu, il y avait une ou deux différences à prendre en compte. J'ai échangé avec lui (ou elle) par courriel et j'ai finalement réussi à résoudre le problème à mon tour sur mon XPS. J'ai proposé une procédure pas-à-pas en anglais sur AskUbuntu.com. La revoici ci-dessous en français.
La manip consiste à supprimer le pilote actuel du touchpad, à le remplacer par le pilote le plus récent qu'il va falloir “patcher” (corriger) puis compiler, et enfin à créer un fichier de configuration pour le touchpad. Dit comme ça, ça semble horriblement compliqué, en fait c'est relativement simple une fois qu'on sait quoi faire. Tout va se passer dans le Terminal (menu Unity > taper “terminal” > cliquer sur l'icône).
1. s'assurer d'avoir les bons paquets installés
Il va falloir utiliser l'application GIT en ligne de commande, qui permettra de télécharger les sources du pilote le plus récent, et vérifier que le paquet de développement libevdev est bien installé car nous en aurons besoin pour la compilation de ce nouveau pilote.
Depuis le terminal, on saisit donc :
sudo apt-get install libevdev-dev
Ce qui installe les trois paquets libevdev-dev, libevdev2{a} et libjs-jquery{a}.
Ensuite on installe GIT :
sudo apt-get install git
2. Supprimer le pilote actuel et le remplacer par une version corrigée
C'est l'opération la plus délicate. On va d'abord supprimer le pilote installé avec ubuntu 14.04, xserver-xorg-input-synaptics
sudo apt-get purge xserver-xorg-input-synaptics
Puis l'on détermine les dépendances nécessaires pour recréer un nouveau pilote :
sudo apt-get build-dep xserver-xorg-input-synaptics
Cette commande va produire beaucoup de commentaires dans le Terminal, c'est tout à fait normal.
Puis on télécharge les sources du nouveau pilote, c'est là qu'on utilise GIT. Et si c'est la première fois, une fois la commande saisie, il va être demandé de spécifier une adresse e-mail et un nom d'utilisateur pour avoir le droit de télécharger le code source. Cette opération se fait depuis le terminal, tout est expliqué dans les commentaires qui vont apparaître après la commande. Une fois ces deux informations renseignées, le téléchargement s'effectue en quelques secondes.
sudo git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-synaptics
Il faut maintenant entrer dans le dossier qui contient les sources :
cd xf86-input-synaptics
Puis appliquer le patch qui va permettre au nouveau pilote de bien faire fonctionner le touchpad en cours de saisie. Ce patch est téléchargé grâce à l'utilitaire wget en ligne de commande :
wget -q -O - http://xps13-9333.appspot.com/root/0001-Don-t-use-finger-width-for-the-palm-detection.patch | git am
Il ne reste plus qu'à compiler le pilote, ce qui s'effectue en trois lignes de commande (chacune va produire une assez grande quantité de commentaires, encore une fois, c'est normal) :
./autogen.sh --prefix=/usr make sudo make install
3. Créer le fichier de configuration pour gérer les options du touchpad
Le nouveau pilote, corrigé, est installé ! Mais il reste à créer le fichier qui va être lu à chaque démarrage de la machine, et qui va indiquer les paramètres à prendre en compte dans la gestion du touchpad.
On crée d'abord le dossier qui va bien :
mkdir -p /etc/X11/xorg.conf.d/
Puis on télécharge le fichier de configuration, qui s'appellera 20-synaptics.conf :
sudo wget -q -O /etc/X11/xorg.conf.d/20-synaptics.conf http://xps13-9333.appspot.com/root/etc/X11/xorg.conf.d/20-synaptics.conf
Voilà à quoi devrait ressembler ce fichier (ici visualisé grâce à l'utilitaire nano, en ligne de commande) :
Il contient plusieurs paramètres éditables, dont Option “PalmMinZ” qui gère la sensibilité de la dalle aux effleurements des paumes. La valeur 100 bonne pour moi, mais vous pouvez tester d'autres valeurs en tapant dans un terminal :
synclient PalmMinZ=VALUE
(Remplacez “VALUE” par un nombre, 80 ou 120 ou 200 par exemple, puis saisissez du texte quelque part pour vous rendre compte du niveau de sensibilité.)
Il suffit maintenant de redémarrer l'ordinateur, et normalement, ce satané jumping cursor devrait s'être calmé.
Discussion