• # thinkfan

    Posté par . En réponse au journal Silence ! Contrôler le bruit des ventilos du portable. Évalué à 2.

    Je hais les ventilateurs aussi, surtout ceux des portables. Je les accepte, si c'est justifié (que le ventilo tourne à fond quand je compile du code ou que je regarde une vidéo en 4k je comprends, quand le pc ne fait rien d'autre que d'afficher une page web statique ou une misérable conversation teams, cela m'énerve très vite).

    Du temps de mon T420s, j'utilisais thinkfan pour contrôler la vitesse de rotation du ventilateur en fonction de la mesure de plusieurs capteurs de température. Le problème du T420s était qu'une fois que tu avais atteint la vitesse de rotation maximale du ventilateur, il y restait (bug du bios je pense, peut-être corrigé par la suite, mais à l'époque les mises à jour de bios étaient beaucoup moins simples qu'aujourd'hui). Aussi, la conf du bios était assez conservative vis à vis des températures maximales, genre 50°C et on déclenchait le ventilo à fond pour revenir à 45. Alors qu'avec thinkfan, qui basiquement est un demon qui manipule /proc/ibm/fan en fonction de la température du pc, tu peux configurer la vitesse du ventilo pour être beaucoup plus progressive (7 niveaux de mémoire), et être plus souple sur les déclencheurs. Je crois que j'avais trouvé des fichiers de configuration sur le net, en cherchant "t420s thinkfan.conf". Cela allait très bien jusqu'à ce que les sites web nécessitent désespérément trop de CPU lorsque l'on scrolle. En 2018 j'en avais marre du ventilo en route trop souvent avec un portable de 2012. Pour info sous windows, TPFanControl fait la même chose.

    Aujourd'hui j'ai un T480 avec un i7 et une carte nvidia MX150. La MX150 est désactivée par bbswitch, car sinon rien à faire, même sans utiliser le GPU (par défaut tout sort par le GPU intégré au CPU), ça chauffe trop à mon goût (ventilo en route quasi constamment et chaleur désagréable sur le "palmrest"). Le GPU désactivé, le ventilateur reste courtois et ne s'allume quasiment que lorsque je visite un site web velu, genre facebook ou youtube. La température CPU monte jusqu'à 65°C (jamais vu plus, peut-être lié au "bug" dont je parle plus bas) et le ventilo se met en route à à peu près 3100 tr/m, jusqu'à ce que la température descende à environ 50°C en quelques minutes, et le ventilo se tait. Bref pour moi ce comportement est normal, du coup je n'utilise plus thinkfan sur ce portable.

    Sauf que... depuis le confinement, je travaille sur mon portable, et le laisse docké sur un station mécanique (40AJ), et là le comportement est totalement différent. La température du CPU n'a plus l'air d'être le déclencheur du ventilateur, le plus approchant que j'aie réussi à corréler est le senseur pch_skylake, qui déclenche le ventilo à 45°C et s'arrête à 35°C. Le CPU est à 40 tout le long. C'est quasi insupportable ; le bruit du ventilo à 3000tr/min est totalement supportable lorsque l'on est devant le portable, mais très désagréable lorsque l'on est à côté. De 45°C à 35°C c'est long, très long... 35 c'est suspicieusement bas. Je n'ai trouvé aucune solution à ce pb, et je finis par penser que le bios a raison et qu'un autre composant chauffe, mais pour lequel je n'ai pas de senseur exposé par linux (auquel cas le design du refroidissement de ce portable est mauvais) ; ou alors le fait de passer par un écran externe change vraiment la donne.

    Il y a également un "bug" connu sur certains thinkpad sous linux, qui est que le contrôle du refroidissement comporte deux modes : sur les genoux et sur une table. Quand le portable est sur une table, normalement le contrôle du refroidissement laisse monter la température plus haut, car il n'y a pas de risque de brûler les cuisses de l'utilisateur. Sauf que cette indication (table vs cuisses) est donné au système par un driver de l'os, qui n'existe pas sous linux. À ma connaissance, cela n'est corrigé que sur certains portables de la gamme et pas le T480 en tout cas (en implémentant la détection au niveau du bios directement).

    On trouve énormément d'infos sur ces problèmes en cherchant thinkpad cpu throttling sur reddit ou sur les forums de lenovo, mais plus rarement des solutions :(