Jump to content

Archived

This topic is now archived and is closed to further replies.

Minimalist

Portables sous Linux [Avancement 50%]

Recommended Posts

Bonjour à tous !

Ce topic ne se veux pas une explication exaustive d'installation de Linux, il existe déjà d'autres topics à ce sujet. Je considère que vous savez compiler un programme à partir de ses sources, utiliser le système de boot de votre distribution, et que votre système tourne déjà (plus ou moins bien :D )

Et bien entendu, vous devez avoir un portable, sinon ce tutorial ne vous servira à rien.

Je suis ouvert à toute suggestion, bien entendu.

Dites-moi également ce qui marche sur votre portable, je pourrais alors faire une petite BDD des machines compatibles.

Optimiser un portable sous GNU/Linux (je le met une fois correctement, après ce sera Linux tout court :p ) est bien plus compliqué que sous winxp. Et la doc étant bien souvent en anglais et en petits morceaux aux 4 coins du Web, je vais tenter de grouper tout ce que j'ai trouvé au cours de ma quête à l'optimisation, ces derniers mois.

Au menu de ce topic : (entre parenthèses, ce que je suis entrain de rédiger)

  • Configs d'inpactiens qui fonctionnent (plus ou moins) bien
  • L'économie d'énergie
    • Le processeur
    • L'affichage
    • Le disque dur

    [*](Les péripheriques spécifiques)

    • Les touchpad synaptics + souris USB
    • les boutons spéciaux (via ACPI ou autres modules)

Boite à liens (en anglais)

http://www.linux-on-laptops.com (une super BDD sur les portables)

http://www.stud.uni-karlsruhe.de/~uxhz/gen...ower-management (gestion de l'énergie sous Gentoo)

http://gentoo-wiki.com/Gentoo_Acer_Travelmate_803LCi_Manual (Acer TM800 sous Gentoo/Linux)

http://www.google.com/linux (indispensable)

Je participe au Guide linux des inpactiens, c'est pourquoi je rédige ce topic, qui ce retrouvera dans le guide s'il est concluant (le topic, pas le guide :-D )

:fete:

:8 Si vous trouvez des grosses fôtes dans le texte, envoyez-moi un MP (avec un quote de la phrase). Merci :transpi:

Share this post


Link to post
Share on other sites

Les configs qui marchent (et ce qui marche)

Minimalist : Acer TravelMate 800 sous Gentoo

Centrino 1.3GHz, 512Mo RAM, Radeon Mobility 9000, DD 40Go

LE topic pour installer une Gentoo sur cette machine

Tout fonctionne, à part le lecteur de cartes à puce (pas de drivers) et le modem interne qui est assez capricieux.

Sandeman : Dell Latitude D600 : Debian / Sid - 2.6.7-ck5 + win4lin

Pentium M 1,4 Ghz + 512 Mo + Radeon M9000

Ce qui marche : TVOUT & dual screen, Station d'accueil, Touchpad, Wifi, PCMCIA

Share this post


Link to post
Share on other sites

Le processeur

Commençons par le plus important, le processeur. En effet, contrairement à un processeur de type Desktop, les mobiles ont la possibilité de modifier à la volée leur FSB afin de diminuer leur consommation (et la chaleur qu'ils dissipent).

De base, sans configuration spécifique, le processeur va se mettre à chauffer sans raison et vous brûler les doigts par la même occasion.

ACPI

Pour reposer un peu le processeur, il faut activer ACPI ( http://acpi.sourceforge.net ). Cela va lui permettre d'utiliser plusieurs états d'hibernation. Il faut pour cela activer (au moins) les options suivantes dans le noyau. Si vous pensez que d'autres options sont faites pour vous, activez-les en même temps.

       Power management options (ACPI, APM)  --->     
           [*] Power Management support
           ACPI (Advanced Configuration and Power Interface) Support  --->
               [*] ACPI Support
               <*>   AC Adapter                                      
               <*>   Battery                                         
               <*>   Button                                          
               <*>   Fan                                             
               <*>   Processor                                       
               <*>     Thermal Zone

Votre noyau devrait alors afficher au démarrage un message du genre :

ACPI: Processor [CPU0] (supports C1 C2 C3)

Pour voir les messages de démarrage (qui vont surement trop vite pour être lus), tapez dmesg | less dans un terminal, et naviguez avec les flèches haut et bas.

Il faut maintenant installer un démon, acpid, qui va gérer au mieux les états C1 à C3 de votre processeur pour vous, en fonction de vos besoins de puissance. Les sources se trouvent ici : http://sourceforge.net/project/showfiles.php?group_id=33140

Complilez et installez. Sous Gentoo, emerge acpid le fait pour vous. Puis faites-le se lancer à chaque démarrage, par une commande du style /usr/sbin/acpid -c /etc/acpi/events, ou un script particulier, si votre distribution vous en fournit un.

Mais acpi ne fait pas que cela, allez voir toutes les infos disponibles dans /proc/acpi. Si votre machine est compatible, vous pouvez lire la température du processeur, l'état des ventillateurs, le niveau de la batterie, etc... De nombreux utilitaires, comme gkrellm et ses plug-ins, permettrent de voir ces informations sur votre bureau. Nous reviendrons à la configuration détaillée d'ACPI plus tard dans ce topic.

cpufreq

Alors que ACPI permet de mettre (entre autre) votre processeur en repos, cpufreq permet de changer le FSB de ce dernier à la volée. Il faut pour cela activer les options suivantes du noyau : (vous remarquerez qu'il est dépendant d'ACPI)

        Power management options (ACPI, APM)  --->     
           [*] Power Management support
           CPU Frequency scaling  --->
               [*] CPU Frequency scaling
               < >   /proc/cpufreq interface (deprecated)
                   Default CPUFreq governor (performance)  --->
                       (X) performance
           ---   'performance' governor
           <*>   'powersave' governor
           <*>   'userspace' governor for userspace frequency scaling
           <*>   CPU frequency table helpers
           ---   CPUFreq processor drivers
           <*> ACPI Processor P-States driver
           [*]   /proc/acpi/processor/../performance interface (deprecated)
           <*> La technologie de votre processeur

Cette configuration permet d'utiliser la pleine puissance du processeur au démarrage, puis de la baisser à l'aide d'un autre programme une fois le lancement finit. Si votre processeur le supporte, vous devriez voir au démarrage (comme précédement), un message du genre : (ici un Centrino 1.3GHz)

        cpufreq: CPU0 - ACPI performance management activated.
       cpufreq: *P0: 1300 MHz, 24000 mW, 10 uS
       cpufreq:  P1: 1200 MHz, 20000 mW, 10 uS
       cpufreq:  P2: 1000 MHz, 18000 mW, 10 uS
       cpufreq:  P3: 800 MHz, 16000 mW, 10 uS
       cpufreq:  P4: 600 MHz, 12000 mW, 10 uS

Bien, ça fonctionne, il faut maintenant passer la main à speedfreq

Speedfreq

un emerge speedfreq permet de l'installer. Les sources sont disponibles sur http://www.goop.org/~jeremy/speedfreq/

Il faut maintenant lancer le démon, si votre distribution ne prévoit pas de script spécifique, speedfreqd -P -p dynamic devrait faire l'affaire. Dans ce mode, speedfreq réduit le FSB lorsque le processeur n'est pas trop sollicité.

Pour vérifier que ça fonctionne, faites un cat /proc/acpi/processor/CPU0/performance et regardez la position de l'étoile. Dans l'exemple du Centrino ci-dessus, elle se situe sur l'état P4.

Votre processeur consomme désormais un minimum de ressources, sans être diminué au niveau des performances.

Share this post


Link to post
Share on other sites

Le disque dur

On ne s'en rend pas forcement compte dans une machine de bureau, mais sur un portable, un disque dur consomme, chauffe et fait du bruit. Au repos, c'est même le seul élément à émettre un son. L'idée est donc de l'éteindre quand on en a pas besoin (par exemple lorsqu'on regarde un DVD, on quand on lit les news sur PC INpact :transpi: ). C'est là que hdparm peut nous être utile.

hdparm

Tout d'abord, si ce n'est pas déjà fait, il faut installé ce petit programme (téléchargeable à l'adresse suivante : http://www.ibiblio.org/pub/Linux/system/hardware ). Vérifiez bien que vous ne le possédez pas déjà, car c'est un programme standard sur bon nombre de distributions. C'est par exemple hdparm qui active le mode Ultra DMA des disques compatibles (par la commande hdparm -d1 /dev/hda). Attention cependant, ce programme travaille à bas niveau et est donc dangereux. Ne faites pas n'importe quoi avec :fete:

Pour éteindre le disque au bout d'une minute d'inactivité, utilisez la commande hdparm -q -S12 /dev/hda

-q (quiet mode) demande à hdparm de ne pas afficher ce qu'il fait. Pratique dans une séquence de boot, pour ne pas poluer l'écran.

-S xx éteint le disque au bout de xx * 5 secondes. Par exemple -S10 éteint le disque au bout de... 50s.

ATTENTION un disque est avant tout une pièce mécanique, d'une durée de vie assez limitée. Regardez bien la documentation de votre disque, pour voir le nombre de démarrages qu'il supporte en moyenne. Ce serait bête de perdre un disque dur pour gagner 30min d'autonomie...

laptop_mode

Ok, le disque a maintenant le droit de s'éteindre quand il est inutile. Le problème est que Linux ne se retient pas pour écrire ce qu'il veut pour autant. Pour que les logs et autres "garbages" ne perturbent pas la mise en veille, il existe un petit sript, compatible avec les derniers kernels (2.6), nommé laptop_mode.

Il se trouve au milieu du fichier /usr/src/linux/Documentation/laptop-mode.txt, qui explique entre autre le fonctionnement de ce script. Copiez/collez, rendez le script executable par root.

Lancez-le par la commande laptop_mode start si vous avez appelé votre script comme ça (pour l'arrêter, laptop_mode stop).

ATTENTION ce script force le système à écrire ses "données sales" toutes les 10 minutes. Si 10 minutes de votre travail sont trop précieuses pour être perdues en cas de panne de batterie (par exemple), n'utilisez pas ce script !

hddtemp

Pour finir avec les disques dur, voici un petit programme qui permet de lire la température fournie par les informations SMART de votre disque. La première chose à faire, si ce n'est pas fait, est donc d'activer le support SMART dans le BIOS.

Les sources sont récupérables ici : http://coredump.free.fr/linux/hddtemp.php (ainsi qu'un plug-in pour gkrellm, inutile maintenant). Compilez, installez.

Maintenant, root peut lire la température. Pour que tout le monde le puisse, 2 solutions sont là :

1 - Activer le Super-user bit : chmod +s /usr/sbin/hddtemp (si hddtemp est bien là. Pour le savoir, which hddtemp)

2 - Lancer hddtemp en mode serveur : hddtemp -d /dev/hda dans un script de démarrage. Il ouvre alors le port 7634.

Des logiciels comme gkrellm (dans Intégré->Capteurs->Température) peuvent se connecter à ce serveur pour y lire la température. Vous aussi, grâce entre autre à netcat.

Share this post


Link to post
Share on other sites

L'affichage

Bien que ce soit lui qui consomme le plus d'énergie, à part l'éteindre complètement, il n'est pas possible de faire grand chose d'autre. Règlez bien le contraste au minimum acceptable pour vous, afin de ne pas consommer trop pour rien.

La seule chose qui reste à faire est de permettre à l'écran de s'éteindre quand vous ne l'utilisez pas. C'est plus un pense-bête qu'autre chose, mais c'est toujours utile.

Les terminaux

L'économie d'énergie est dépendante de l'environnement que vous utilisez. Sous un terminal, utilisez les commandes

setterm -powersave on pour activer l'économie d'énergie

setterm -blank X affiche un écran noir au bout de X minutes (ça consomme moins que d'afficher du blanc, ou des mouvements)

setterm -powerdown Y éteind l'écran au bout de Y minutes.

Sous X

Voilà ce qu'il faut activer/ajouter dans votre fichier de config X (XF86config ou xorg.conf suivant votre serveur)

Section "ServerLayout"
       Identifier	[...]
       [...]
       Option	"BlankTime"	"5"	# Affiche un écran noir au bout de 5 minutes
       Option	"StandbyTime"	"10"	# Eteint l'écran au bout de 10 minutes (avec DPMS)
       Option	"SuspendTime"	"20"	# ?
       Option	"OffTime"	"30"	# ?
       [...]
EndSection

(je n'ai pas bien compris la différence entre les 2 dernières lignes, et celle d'avant. Surement des modes d'économie différents, avec des temps de reprises différents)

Section "Monitor"
Identifier	[...]
Option  "DPMS"  "true"  # Active le mode DPMS. Obligatoire pour éteindre l'écran automatiquement.
[...]
EndSection

Avec tout ça, votre écran consommera un minimum quand vous serez absent ou occupé.

Share this post


Link to post
Share on other sites

Et voilà, je lance le topic, que je vais faire grossir dans les jours à venir, au fur et à mesure. J'attends vos réactions/questions/critiques... :transpi:

Share this post


Link to post
Share on other sites

Merci :keskidit:

Je pensais effectivement mettre des liens, dont celui-là, qui est assez indispensable, c'est vrai. Ce soir y'aura plus de matière.

Share this post


Link to post
Share on other sites

m'interesse ce topic, j'ai hate de voir ce que ça va donné :) j'ai un debut d'install d'une gentoo sur le mien mais j'ai pas eu l'occasion de la continuer, je crois que je vais la virer pour en remettre une.

Sinon tu install la gentoo a partir de quoi ? les livecd gentoo ont pas l'acpi et ça chauffe pas mal : moi mon prtable chauffais et le ventilo ne tournais pas :/

Share this post


Link to post
Share on other sites

Si vous avez aussi une machine principale avec linux dessus, vous devirez jeter un oeil a distcc pour repartir la charge de travail sur plusieurs machines du reseau, ca soulagera un peu vos portables et vous gagnerez bcp de tps !

Share this post


Link to post
Share on other sites

oh nickel, moi j'ai un sony, donc pour info, il ya

emerge sonypid et emerge spicctrl, pour utiliser les touch spécial, configurer les truc spécifique a sony.....

sinon je sais aussi passer en Suspend to disk, si ca vous interesse

Share this post


Link to post
Share on other sites

Dell Latitude D600 :

(Pentium M 1,4 Ghz + 512 Mo + Radeon M9000 )

Debian / Sid - 2.6.7-ck5 + win4lin

marche :

TVOUT & dual screen

Station d'accueil

Touchpad

Wifi

PCMCIA (petite subtilité à faire sur la config PCMCIA sinon freeze au démarrage)

en cours :

touches de fonction

speedstep

modules :

(dès que je l'ai rallumé)

Share this post


Link to post
Share on other sites
Debian / Sid - 2.6.7-ck5 + win4lin

Tiens, par curiosité : ça marche bien win4lin ?

Share this post


Link to post
Share on other sites

Oui, pour faire du DOS et du Windows 9x, c'est nickel

(ça me permet de faire tourner les outlook et autres sal... requises pour bosser au taf)

niveaux perfs, j'ai jamais vu un Win98Se se charger aussi vite :)

y'a pas DirectX, mais tout le reste est supporté très très correctement

avec un dual screen c'est terrible : windows d'un coté Linux de l'autre, copier/coller de l'un à l'autre etc ...

(ça marche en fenêtré ou en fullscreen)

et en plus ça sponsorise Gentoo, Inc. :)

Share this post


Link to post
Share on other sites
sinon je sais aussi passer en Suspend to disk, si ca vous interesse

Tu t'en sers pour quoi, du suspend to disk ? J'étais tenté de l'installer, mais j'en vois pas l'utilité. Si tu pouvais m'éclairer sur ce point...

Si tu veux détailler un peu plus ce qui marche sur ton portable, et les composants, je pourrai t'ajouter à la liste, si ça te tente :ouioui:

Station d'accueil

Merci pour les infos, je t'ai ajouté à la liste :francais:

Je n'ai jamais vu une station d'accueil, ça doit être un truc pour les entreprises. Y'a une config spéciale à lui faire ? (ça a quelle tête :francais: )

Share this post


Link to post
Share on other sites

×
×
  • Create New...