J'ai fait l'acquisition d'un portable recemment (Amilo D7820), et bien que le Live Cd d'ubuntu aie très bien reconnu toute ma configuration, je me suis penché sur les différents moyen d'améliorer la configuration par défaut du portable.

Je dresserai donc ici la liste des optimisation que j'ai faites pour pouvoir utiliser mon portable dans les meilleures conditions possibles

1. Optimiser l'utilisation de la swap

Sur un portable, mieux vaut utiliser au minimum le disque dur, histoire d'economiser la batterie en plus d'avoir un peu de silence.
Linux utilise par defaut la swap même si il reste de la ram à utiliser. Comme je possède 512Mo sur ma machine, je peut me permettre d'utiliser en priorité la RAM et essayer d'utiliser la swp en dernier recours.

Pour changer ce comportement donc, on va se servir de vm.swappiness

vm.swappiness prend des valeurs qui vont de 0 (aucune utilisation de la swap) à 120 (aucune utilisation de la ram). Par defaut cette valeur est 60. J'ai décidé de la descendre à 5 histoire d'utiliser un minimum de swap. Pour tester cela on va utiliser sysctl (qui permet de changer certains paramètres du noyau sans redemarrer) :

sudo sysctl -w vm.swappiness=5

Comme cette configuration convient, on va la rajouter au fichier /etc/sysctl.conf histoire de la rendre définitive. Ajoutons donc la ligne :

vm/swappiness=5
dans ce fichier

2. Choisir un système de fichier adapté

Pour un portable, l'utilisation d'un système de fichier journalisé comme ext3 (le fs par defaut sous ubuntu) peut s'avérer utile en cas d'extinction de la machine non prevue. Reiserfs n'est toutefois pas très adapté car il écrit régulièrement sur le disque et peu donc perturber le disque en l'allumant/eteignant sans cesse.
Pour utiliser une partition en Ext3 mais éviter d'écrire sur le disque à chaque accès en lecture, monter votre partition avec les options suivantes dans votre fstab :

noatime,nodiratime
Ces deux options permettent de ne pas mettre à jour les informations de l' horaire du dernier accès aux fichiers utilisés immédiatement, mais d'attendre la prochaine fois qu'un écriture sur le disque sera necessaire.

Le meilleur choix, si vous ne possedez pas de données sensibles ou si vous avez toujours un backup externe comme une cle usb ou une autre machine, est d'utiliser un système de fichier non journalisé comme ext2. Attention, si votre machine s'eteind alors que le disque est utilisé vous pouvez perdre des fichiers sans avertissement !

Avec ext2, les options noatime,nodiratime seront également bienvenues

Verifiez également que hdparm est bien activé sur votre disque pour ne pas perdre en performances, cf http://doc.ubuntu-fr.org/materiel/optimisation_ide

3. Le noyau et les pilotes

Selon votre niveau de connaissances, il peut être interressant de compiler vous-même un noyau, pour charger sur votre système uniquement les pilotes qui vous interressent.
Cette opération n'est pas anodine, je vous renvoie donc à l'article correspondant sur le wiki : http://doc.ubuntu-fr.org/doc/custom_kernel

Parmi les options de configuration à creuser :

  • L'ordonnanceur (scheduler), reportez-vous à http://fr.gentoo-wiki.com/HOWTO_ioscheduler pour en savoir un peu plus ou lisez l'aide fournie.
  • Choisissez un kernel préemptible de préférence, avec un support de votre famille de processeur, et le cas écheant du SMP (Dual Core, HyperThreading ou technologies similaires). Il est également interressant de placer la "timer frequency" à 1000Hz
  • Au cours du paramètrage, vous verrez des options réservées à certains types de machines (Dell par exemple) ou de matériels (PCI). Si vous n'utilisez pas ce type de machine il est sain de desactiver complètement ces options pour gagner en performances et temps de chargement au boot.
  • N'oubliez pas les options relatives à l'ACPI, au PCMCIA, ainsi qu'au réseau (Ethernet et/ou Wifi)
  • N'hesitez pas à prendre votre temps, et pourquoi pas à faire plusieurs essais avec des options différentes. Mais surtout, ne touchez pas aléatoirement aux options inconnues cela pourrait endommager votre système, voire même votre matériel.

4. Les pilotes et la configuration de Xorg

Rien de bien spécial ici, si vous possedez un chipset Intel ou un chipset Radeon supporté par les pilotes libres, vous n'aurez pas de mauvaises surprises, autrement vous devrez faire tourner le pilote fermé de ATI ou Nvidia. Vous aurez surement à vous procurer ces pilotes depuis le site officiel du constructeur, ceux des dépôts n'etant pas adaptés à votre noyau compilé à la main.

Sachez également que la configuration de votre touchpad se fait depuis les fichiers de configuration de Xorg. Vous ne devriez pas avoir de problème avec le votre, Ubuntu et Xorg se debrouillant bien de ce côté la.

5. Le wifi

Vous avez dû auparavant compiler avec votre noyau les pilotes necessaires pour votre carte Wifi. Si vous utilisez une carte à chipset Atheros, qui utilise les pilotes madwifi, il vous faudra également installer les pilotes Madwifi qui sont à part, car ils necessitent un module noyau binaire (nommé HAL).
Un howto complet est disponible ici : http://madwifi.org/wiki/UserDocs/FirstTimeHowTo
Si vous n'avez pas recompilé votre noyau, les modules necessaires pour Madwifi sont présents dans le paquet linux-restricted-modules qui correspond à votre noyau courant.

Si vous changez souvent de point d'accès Wifi, vous pouvez utiliser sous GNOME l'excellent NetworkManager, une applet très utile : http://doc.ubuntu-fr.org/applications/network_manager

5. La gestion de l'énergie

Ubuntu inclut par defaut des scripts fournis par les developpeurs du noyau et qui permettent de définir le laptop-mode. Vous ne devriez pas avoir besoin de quoi que ce soit si L'ACPI est bien reconnu et activé sur votre portable mais si vous êtes curieux, vous pouvez toujours lire le manuel de la commande laptop_mode.

Si vous voulez aller plus loin avec les differents modes d'economies d'énergie, vous pouvez voir du côté de suspend, intégré au noyau, voire suspend2, encore expérimental. Une piste pour demarrer sera http://doc.ubuntu-fr.org/doc/swsusp2. Je ne peut rien dire à ce sujet la car je ne me suis pas penché sur la question.

Conclusion

Avec cet article, j'espère vous avoir montré que configurer un portable aux petits oignons peut être long et fastidieux, mais cela peut au final vous amener des gains non négligables de performances.
Sachez tout de même qu'ubuntu reconnait très bien par défaut les matériels neufs comme anciens et toutes ces opérations ne sont nullement necessaires pour profiter immédiatemment de votre OS favori sur votre machine ;)