Ubuntu / Xubuntu 7.04 Feisty Fawn sur un Asus W7S-3P056E

Cet article décrit l'installation de la distribution Ubuntu / Xubuntu version 7.04 codename Feisty Fawn sur un ordinateur portable Asus W7S - 3P056E

0.    Introduction

Après quelques temps avec Debian sur mon précédent portable Acer, j'ai décidé de mettre Ubuntu sur mon nouveau laptop. Plus particulièrement Xubuntu, la version de Ubuntu qui est livrée avec l'environnement graphique XFCE. En effet, utilisateur de GNOME pendant longtemps j'ai recherché un environnement plus léger. J'ai navigué entre Fluxbox, E17 ... puis j'ai testé XFCE: j'ai été conquis. On retrouve l'esprit de GNOME, c'est léger, rapide et beau. C'est parfait.

1.    Installer avec le CD alternate ou Network Boot

Le LiveCD ne démarre pas. Il faut donc utiliser au choix, l'alternate CD (qui installe en mode "console") ou le Network Boot. J'ai choisi la seconde méthode mais le résultat est identique.

L'installation ne pose pas de problèmes majeurs. Ne paniquez pas quand l'installateur reste longtemps "bloqué" à 6%, il faut patienter et ça avance au bout d'un moment (en fait, l'installateur télécharge les mises à jour de sécurité depuis security.ubuntu.com). Vous pouvez également sélectionner la résolution de l'écran (1280x800), même si Xorg ne démarrera pas après le premier boot...

Justement, à la fin de l'installation on reboot la machine sur notre Xubuntu tout neuf !

2.    Le matériel

Le premier boot s'avère décevant car Xorg plante et on est donc forcé de commencer à la console....
un lspci nous donne:

jah@zion:~$ lspci
00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0428 (rev a1)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
06:00.0 Network controller: Intel Corporation Unknown device 4229 (rev 61)
09:03.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832 (rev 05)
09:03.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
09:03.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)
09:03.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
09:03.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

Ce qui se résume en:

  • Intel Core 2 Duo T7500 2.2GHz
  • 1.5 Go RAM
  • 160 Go Disque dur SATA II 5400 trs/mn
  • nVidia Geforce 8400 GM 128 Mo
  • Intel ICH8: carte son, modem
  • Port firewire, 3xUSB2
  • Lecteur de cartes mémoire SD
  • Écran 13,3" - 1280x1024
  • Carte réseau Realtek PCI Express Gigabit Ethernet controller
  • Carte Intel WiFi Link 4965 AGN
  • Plateforme Santa-Rosa, bluetooth

Tout cela c'est bien joli mais du coup, avec le noyeau 2.6.20 fourni avec feisty de base tout ne fonctionne pas:

  • la carte nVidia est trop récente pour les pilotes fournis dans les dépots, il faut installer les drivers propriétaires (.run)
  • la carte Wifi 4965AGN ne peut pas fonctionner avec ce noyeau car il faut que le nouveau sous-system mac80211. Plus de détails ici.
  • la carte ethernet Realtek utilise un module buggé: ra8169. Le driver ne "voit" pas les link up et link down. Il faut donc faire des modprobe ra8169 et rmmod ra8169 a chaque fois qu'on branche ou débranche le cable ethernet....

La solution a tous ces problèmes est de changer de noyau. Soit recompiler un noyau 2.6.20 avec la dernière version de ra8169 et le mac80211, soit utiliser un noyau backporté de gusty (version de ubuntu en développement) en version 2.6.22 qui contient déjà tout ca. Dans tous les cas, ce qu'il faut savoir c'est que une fois que l'on aura fait ca, tout ce qui touche aux mises à jour du noyau dans les dépôts nous sera interdit sous peine de devoir tout recommencer... 

Pour quand même avoir un serveur X le temps de commencer, on va modifier /etc/X11/xorg.conf : Dans la section Device, on remplace Driver "nv" par Driver "vesa". Cela nous permet de nous connecter en mode graphique après un sudo /etc/init.d/gdm restart.

3.    Upgrader le noyau vers 2.6.22

J'ai choisi la solution la plus simple, à savoir installer un noyau backporté de gusty 2.6.22. Pour cela nos confrère anglophones ont écrit un tutorial qui va très bien.kernel.sh est un script automatisé qui permet de faire la mise à jour (environ 50Mo à télécharger).

Évidemment pour pouvoir télécharger, il faut être connecté. Or, en l'état actuel, nous n'avons pas de WiFi et si nous n'avions pas branché le cable ethernet avant de booter, le réseau n'est pas opérationnel. Il suffit de brancher le cable puis de faire sudo rmmod r8169 et sudo modprobe r8169. Après cette dernière commande le network manager détecte la connection et configure l'interface.

Une fois que cela est fait on reboot sur notre nouveau noyau.

4.    Installer les drivers nVidia

 Après ce nouveau reboot sur notre beau noyau tout neuf, grosse déception le serveur X ne démarre toujours que avec le driver "vesa". Normal il faut installer les drivers nVidia. Pour cela c'est très simple, il suffit de les télécharger  , puis d'executer le script en root:
 jah@zion:~/Download/Linux$ sudo ./NVIDIA-Linux-x86-100.14.11-pkg1.run

Une fois que le module est compilé, acceptez l'exécution de nvidia-xconfig ou modifiez vous même votre fichier /etc/X11/xorg.conf en remplaçant dans la section Device le Driver par "nvidia".

Puis on reboot.

Note: S.L. me fait remarquer l'existence du très bon script envy qui peut  remplacer toute la procédure décrite ici par quelques clics !

5.    Utilisez votre nouveau système !

Voilà, à ce stade tout fonctionne bien. Le Wifi marche tout de suite avec Network manager.
Pour ceux qui auront choisi XFCE, voilà quelques paquets que j'ai installé tout de suite afin de retrouver quelques habitudes de GNOME:

  • gnome-power-manager pour avoir la gestion de la batterie. Intégration parfaite avec XFCE

  • gnome-alsamixer qui est plus aboutit que xfce4-mixer et qui a surtout permis à ma carte son de fonctionner

  • network-manager-gnome qui est quand même un must have... bizarre qu'il ne soit pas livré par default dans Xubuntu alors qu'il est dans Ubuntu et Kubuntu...

  • openoffice, parce que c'est quand même super pratique.

  • gtk-theme-switch pour gérer les themes gtk.

  • xfApplet qui permet de mettre les applet du GNOME panel dans votre panel XFCE, top!

  • gFreqlet, une applet pour le GNOME panel qui permet de voir la fréquence du CPU mais aussi de la régler !

Sinon tout marche bien, les touches de fonctions sont bien reconnues, l'hibernation et la  veille marchent bien que je trouve le système un peu lent après le "réveil"...à creuser. Le lecteur de cartes mémoires fonctionne aussi, en tout cas avec les cartes SD. J'ai lu que les cartes xD ne fonctionnent pas.

Un souci apparaît aussi avec le lecteur de CD/DVD. En effet, il fonctionne bien pendant l'installation, puis quand on veut s'en servir par la suite on obtient un message "special device does not exist". Il s'agit d'un oubli de l'installateur...un modprobe ide-generic résout le problème. Pour une solution plus pérenne, il suffit d'ajouter ide-generic en bas de votre /etc/modules, ce qui aura pour effet de charger le module incriminé automatiquement au démarrage... Cependant, du à un bug identifié dans le noyau, le mode DMA ne s'activera pas ce qui signifie que il sera impossible de graver et la lecture s'avère difficile....aie.

jah@zion:~$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
sbp2
ide-generic

Maintenant tout marche bien. Pour peaufiner le tout, j'ai activé le compositeur de fenêtres de XFCE et installé cairo-dock. Le résultat est tout à fait satisfaisant. Le compositeur de XFCE est très bon: comparé aux projets comme compiz ou beryl, il n'offre aucun gadget mais se focalise sur le principal. De jolies fenêtres, de la transparence et surtout il ne consomme pas trop de ressources.

Voilà à quoi ça ressemble :)

6.    Conclusion

    Au final, en attendant avec impatience la sortie de Ubuntu 7.10 Gusty Gibbon prévue pour octobre 2007, j'ai un système qui me convient tout à fait sous Feisty. Au niveau autonomie c'est assez bon puisque avec l'éclairage au minimum, CPU en powersave à 800MHz, WiFi et bluetooth désactivés, on peut lire des divx pendant environ 3h...

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile PhonesLinux On Laptops     N'oubliez pas d'écrire un petit rapport sur votre install (ou maillez moi pour que j'update celui la), et allez vous inscrire sur linux on laptops pour apporter votre contribution à la communauté (c'est le moins que vous puissiez faire...)

7.   Bonus: configurer une souris Logitech VX Revolution

Il se trouve que j'ai avec ce portable une souris Logitech VX Revolution. C'est super ya plein de boutons partout, un molette "sans frottements", c'est très ergonomique mais voilà: quand je branche le petit dongle USB je peux seulement utiliser l'équivalent d'une souris classique 3 boutons + molette.

Pour faire marcher tout ça, il y a un programme parfait: btnx. C'est très facile à installer. On télécharge btnx-****.tar.gz et btnx-config-****.tar.gz. On extrait tout ça et on suit les instructions contenues dans INSTALL. Il faut installer btnx d'abord, puis btnx. Suivez les liens pour accéder aux tutoriaux en anglais. Pour compiler btnx-config il vous faudra installer automake et quelques libs: sudo apt-get install automake libglade2-dev libgtk2.0-dev . Et voilà, un petit tour de btnx-config, on détecte la souris, les boutons, on paramètre les actions et voilà ! tout marche...