Forum Linux.noyau Localiser ce qui vide la batterie

Posté par (page perso) . Licence CC by-sa
Tags : aucun
4
22
déc.
2013

Salut,

Il y a quelques mois, je te racontais que mon ordi portable était incapable de tenir plus d'1 h 20 sur batterie, sauf si je suis sous Windows mais là je n'arrive plus à utiliser l'ordi. Et bien figure-toi que ça ne va pas mieux.

J'ai présenté le problème sur le bugzilla du kernel mais ça ne donne rien. Entre temps il se trouve que j'ai offert un ordi presque identique et celui-ci tient facilement 3 heures sur batterie, avec la même distribution (le mien, l'autre). La grosse différence que je vois est que le mien a une carte graphique ATI et l'autre une carte Nvidia.

Pour vérifier que ça venait de la carte graphique, j'ai démarré et laissé l'ordi en mode console de secours, et il ne tient pas plus longtemps. Est-ce que le pilote de la carte graphique n'est effectivement pas chargé dans ce mode ? Est que le mode secours n'a pas de gestion de l'énergie, et que le pilote de la carte n'en a pas non plus ? Beaucoup de questions sans réponse.

Bref, c'est pas clair et c'est pénible.

Je cherche un moyen d'isoler le problème mais je n'y connais rien du tout en pilotes et dev noyau. J'aimerais bien un outil qui me permettrait par exemple de savoir quelle partie du noyau consomme tant d'énergie ; ou simplement savoir comment font les pros pour résoudre ces problèmes.

Alors si tu avais mon ordi entre les mains, hypothétique lecteur, que ferais-tu pour en finir avec cette saleté de perte d'énergie ?

  • # je crois que l'outil existe

    Posté par . Évalué à 5.

    J'aimerais bien un outil qui me permettrait par exemple de savoir quelle partie du noyau consomme tant d'énergie ; ou simplement savoir comment font les pros pour résoudre ces problèmes.

    powertop me semble etre un bon debut.

    ensuite as-tu été voir les problemes ACPI/ASPM ?
    quel pilote graphique utilises-tu avec ta carte graphique, ceux de Xorg (ati), ceux du constructeur (fglrx) ?

    de memoire dans les news du noyaux publiées sur ce site, il y avait des soucis avec les cartes radeon et la gestion d'energie.

    enfin pour tes tests, tu compares 2 ordinateurs du meme constructeur mais de series differentes (un serie 3 contre un ATIV)
    l'ACPI, la gestion d'energie peuvent etre differemment programmé.

    ensuite entre en jeux l'age de la machine,
    mais tu sembles dire que sous windows ca va, et sous linux ca tient pas.

    donc ca me fait clairement penser à certains bugs ACPI/APSM connus ou a un probleme de driver graphique.
    as-tu essayé avec le driver :

    • VESA
    • ati ou radeon (libre)
    • fglrx fournit par la distrib (proprio)
    • fglrx fournit par ATI (proprio aussi)
    • [^] # Re: je crois que l'outil existe

      Posté par (page perso) . Évalué à 3.

      powertop me semble etre un bon debut.

      J'ai passé un coup de powertop, mais ça n'a pas l'air d'aider. J'ai mis la sortie dans le rapport de bug du kernel et ça ne les a pas inspiré.

      as-tu essayé avec le driver :

      • VESA
      • ati ou radeon (libre)
      • fglrx fournit par la distrib (proprio)
      • fglrx fournit par ATI (proprio aussi)

      J'utilise le pilote libre. J'ai essayé d'activer le fglrx de la distrib et ça ne fonctionne pas. Je n'ai pas d'accélération et ça a l'air d'être un bug connu et non résolu. J'imagine que c'est vesa qui est utilisé quand rien d'autre ne marche ? Dans ce cas ça ne résout rien, j'ai quand même 1 h 20 d'autonomie. Je n'ai pas testé le fglrx fournit par ATI par contre.

      • [^] # Re: je crois que l'outil existe

        Posté par . Évalué à 3.

        donc si ca ne vient pas des pilotes graphiques (puisque tu as essayé ati, vesa mais pas fglrx de la distrib, ni celui d'ATI)

        on peut penser à un probleme à un probleme ACPI
        y avait eu pas mal de soucis il fut un temps,
        où la table ACPI était buggée, et ou windows contournait le probleme grace à un driver modifié.

        j'imagine que tu as trouvé les posts à ce sujet, avec les option noacpi, noapic ou noapm
        ce genre d'option à donner lors du boot.

  • # Un guide chez Fedora

    Posté par (page perso) . Évalué à 2.

    Chez Fedora, ils ont un guide pour optimiser la consommation d'énergie.

    http://docs.fedoraproject.org/en-US/Fedora/20/html/Power_Management_Guide/index.html

    (pas encore traduit en FR)

    Certains outils sont développés par Fedora : tuned
    (un peu l'équivalent de laptop-mode-tools dans d'autres distros)

  • # Gestion d'énergie ATI

    Posté par (page perso) . Évalué à 1.

    Effectivement, la gestion d'energie des ATI, c'est pas toujours ca…

    Tu peux essayer :
    echo "low" > /sys/class/graphics/fb0/device/power_profile

    Si ca marche, le résultat devrait tout de suite se faire ressentir (chauffe moins, ventile moins…)

    Ou sinon, le driver proprio.

    Et si c'est un laptop qui partage l'ATI avec l'intel (hyride), ca peut devenir plus compliqué.

    • [^] # Re: Gestion d'énergie ATI

      Posté par (page perso) . Évalué à 2.

      Tu peux essayer :
      echo "low" > /sys/class/graphics/fb0/device/power_profile

      Si ca marche, le résultat devrait tout de suite se faire ressentir (chauffe moins, ventile moins…)

      Dès que la batterie est pleine j'essaie cela.

      Ou sinon, le driver proprio.

      Malheureusement je n'ai pas d'accélération avec fglrx. Le chargement du pilote échoue. Par contre j'ai quand même une petite durée de vie sur batterie.

      Et si c'est un laptop qui partage l'ATI avec l'intel (hyride), ca peut devenir plus compliqué.

      Apparemment il y a de l'intel aussi, je viens de le découvrir :

      $ lspci
      00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
      01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7500M/7600M Series]
      

      Et du coup je ne sais même pas quelle carte est utilisée en pratique. Si ça se trouve je peux en désactiver une.

      • [^] # Re: Gestion d'énergie ATI

        Posté par . Évalué à 3.

        Apparemment il y a de l'intel aussi, je viens de le découvrir :

        $ lspci
        00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
        01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7500M/7600M Series]
        Et du coup je ne sais même pas quelle carte est utilisée en pratique. Si ça se trouve je peux en désactiver une.

        ah ben voila une piste interessante.

        à l'epoque d'optimus (hybride intel/nvidia) on ne pouvait pas utiliser la carte nvidia sous linux car elle n'etait pas accessible directement
        mais elle n'etait pas desactivable non plus et entrainer une consommation de batterie.

        tu dois avoir le meme soucis mais avec l'hybride intel/ati.

        le pilote FGLRX fournit par AMD ne fonctionne pas ?
        regarde dans le bios si tu peux desactiver la partie graphique AMD/ATI

      • [^] # Re: Gestion d'énergie ATI

        Posté par (page perso) . Évalué à 4. Dernière modification le 22/12/13 à 17:33.

        Regarde dans tes logs xorg : /var/log/Xorg.0.log , tu devrais trouver si ca parles plutôt de radeon, ou d'intel.

        Il est bien possible que tu sois en effet en hybride, que ton xorg tourne avec un driver intel, et que l'ATI tourne à fond pour rien.

        Dans ce cas, il faudra fouiller peut être du coté de vgaswitcheroo , ou acpi_call : https://github.com/mkottman/acpi_call

        • [^] # Re: Gestion d'énergie ATI

          Posté par (page perso) . Évalué à 4.

          Apparemment xorg charge les deux pilotes…

          30.764 LoadModule: "intel"
          30.764 Loading /usr/lib/xorg/modules/drivers/intel_drv.so
          30.764 Module intel: vendor="X.Org Foundation"
          [ 30.764] compiled for 1.13.3, module version = 2.21.6
          [ 30.764] Module class: X.Org Video Driver
          [ 30.764] ABI class: X.Org Video Driver, version 13.1

          30.765 LoadModule: "ati"
          30.765 Loading /usr/lib/xorg/modules/drivers/ati_drv.so
          30.765 Module ati: vendor="X.Org Foundation"
          [ 30.765] compiled for 1.13.3, module version = 7.1.0
          [ 30.765] Module class: X.Org Video Driver
          [ 30.765] ABI class: X.Org Video Driver, version 13.1
          30.765 LoadModule: "radeon"
          30.765 Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
          30.765 Module radeon: vendor="X.Org Foundation"
          [ 30.765] compiled for 1.13.3, module version = 7.1.0
          [ 30.765] Module class: X.Org Video Driver
          [ 30.765] ABI class: X.Org Video Driver, version 13.1

          J'ai supprimé les pilotes ati et radeon pour voir. Évidemment je n'avais plus d'accélération graphique, et je n'ai pas pu utiliser la session Gnome 3, seulement Gnome Flashback. Et là, excellente nouvelle, 2 h sur batterie !

          Quand la batterie sera pleine je testerai avec les pilotes ati et radeon et sans le pilote intel.

          • [^] # Re: Gestion d'énergie ATI

            Posté par (page perso) . Évalué à 2.

            Je confirme qu'en ayant supprimé le pilote intel, et donc en utilisant uniquement le pilote libre radeon, j'ai aussi une autonomie de deux heures sur batterie. C'est déjà mieux.

            Je vais tenter de mettre le power_profile à low comme indiqué plus haut, pour voir si ça s'améliore encore.

            J'ai aussi l'impression d'avoir des problèmes avec Gnome Shell maintenant. Lorsque je lance le moniteur système il me mange 50% de chaque CPU (top confirme que gnome-shell est à 200%, contre 2% avec rien).

            • [^] # Re: Gestion d'énergie ATI

              Posté par . Évalué à 3.

              absence d'acceleration 3D => rendu avec le CPU

              • [^] # Re: Gestion d'énergie ATI

                Posté par (page perso) . Évalué à 2.

                Pas ici. Le pilote radeon est bien là pour faire l'accélération. S'il n'y en avait pas, Gnome Shell ne se lancerait pas.

                • [^] # Re: Gestion d'énergie ATI

                  Posté par (page perso) . Évalué à 2.

                  Bon en fait c'est peut-être lié. Quand j'enlève le pilote intel et que je laisse le pilote ATI, j'ai un OpenGL bizarre :

                  $ glxinfo | grep OpenGL
                  OpenGL vendor string: VMware, Inc.
                  OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits)
                  …
                  

                  Ça a l'air d'être la cause des montées en fréquence du CPU. Finalement pour l'instant j'ai les meilleures performances en supprimant le pilote radeon et en utilisant intel. C'est triste.

                  • [^] # Re: Gestion d'énergie ATI

                    Posté par (page perso) . Évalué à 4.

                    j'ai un OpenGL bizarre

                    Ce n'est pas bizarre, c'est le nom du pilote Mesa qui fait le rendu via le CPU.

                    Finalement pour l'instant j'ai les meilleures performances en supprimant le pilote radeon et en utilisant intel. C'est triste.

                    Ça, c'est sans doute parce que la sortie graphique est branchée sur la carte Intel, du coup, il n'y a que cette carte utilisable sans PRIME. Je te conseille de regarder comment éteindre la carte AMD, le wiki d'ArchLinux explique comment le faire manuellement.

                    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                    • [^] # Re: Gestion d'énergie ATI

                      Posté par (page perso) . Évalué à 2.

                      Aah merci :) J'ai enfin une durée correcte d'utilisation sur batterie !

                      Ce qui est décrit dans le wiki d'ArchLinux est quasiment fait par défaut sous Ubuntu. Il suffit alors de désactiver la carte ATI en tapant :

                      # echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
                      

                      J'ai mis cela dans mon /etc/rc.local et je peux enfin rester sur batterie plus de 3 heures.

                      • [^] # Re: Gestion d'énergie ATI

                        Posté par . Évalué à 2.

                        J'ai mis cela dans mon /etc/rc.local et je peux enfin rester sur batterie plus de 3 heures.

                        tu as de la chance, chez moi tout ce que je met dans /etc/rc.local n'est jamais executé,
                        sauf quand j'arrete la machine
                        avec pourtant les liens qui vont bien dans les runlevel qui vont bien.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.