Détection des capteurs avec lm-sensors
Avant d’écrire une courbe de ventilation fiable pour l’été, il faut un relevé thermique exhaustif. Installez et configurez l’outil lm-sensors1. Sur Debian, Ubuntu ou dérivés, exécutez en root avec prudence: sudo apt install lm-sensors puis sudo sensors-detect –auto. Sur Fedora et Arch, adaptez le gestionnaire de paquets. Ne validez l’auto-chargement de modules que si vous avez identifié la plateforme (station de travail, carte mère serveur, portable), et conservez les propositions affichées par sensors-detect pour revue.
Chargez ensuite les pilotes de puces de monitoring détectés, par exemple sudo modprobe nct6775, it87, coretemp ou k10temp, selon la plateforme. Vérifiez la télémétrie en continu avec watch -n1 sensors. Repérez les intitulés cohérents avec votre matériel comme CPU Package, Tctl, NVMe Composite ou M/B. Écartez les sondes qui renvoient des valeurs aberrantes constantes (ex. -128°C), en les ignorant côté courbe. Pour les portables, assurez-vous qu’aucun démon constructeur ne contrôle déjà les ventilateurs; si présent, désactivez-le temporairement le temps d’auditer la pile.
Un bon état des lieux vise à isoler une poignée de températures pilotes, par périphérique sensible: CPU, VRM de la carte mère, GPU dédié, SSD NVMe, parfois boîtier. Plus il y a de capteurs, plus la logique de décision doit rester simple, faute de quoi les ventilateurs risquent des oscillations. Conservez seulement les sondes stables et pertinentes sous charge; le reste servira d’indication, pas de consigne.
Depuis que je me base sur CPU Package et NVMe Composite plutôt que sur dix sondes fantômes, mon profil été est net et prévisible.
Profils PWM saisonniers et courbes ventilateurs linux été
En été, l’air ambiant plus chaud réduit la marge thermique. Concevez deux profils de pilotage des ventilateurs: un «été» plus agressif et un «hiver» plus silencieux, puis basculez via un lien symbolique de configuration. Ce pilotage s’appuie sur la modulation PWM2 disponible sur la plupart des en-têtes de carte mère. Objectif: conserver des températures proches mais en dessous des seuils de sécurité, sans bascules rapides ni bruit inutile.
Approche pratique: créez /etc/fancontrol.summer et /etc/fancontrol.winter avec des pentes différentes, puis symlinkez ln -sf /etc/fancontrol.summer /etc/fancontrol pour la saison chaude. Le profil été démarre les ventilateurs plus tôt et atteint plus vite un régime soutenu. Par exemple, un ventilateur châssis pourrait passer de 35 % à 50 % entre 40°C et 55°C en été, là où l’hiver il évoluerait plutôt de 25 % à 45 % entre 35°C et 55°C. Gardez une rampe progressive pour éviter les effets d’accordéon.
Segmentez par zone: CPU, châssis avant/arrière, VRM, stockage. Les ventilateurs boîtier répondront volontiers à un capteur carte mère ou NVMe, tandis que le ventilateur CPU suivra la température CPU. Les GPU dédiés gardent souvent leur propre contrôle; inutile d’essayer de les piloter via fancontrol si le pilote propriétaire le gère correctement. Si vous synchronisez boîtier et CPU sur la même consigne, utilisez des pentes légèrement différentes pour lisser le flux.
Générer une configuration avec pwmconfig et activer fancontrol
Arrêtez tout service susceptible de s’opposer au contrôle logiciel, puis lancez sudo pwmconfig. L’assistant teste chaque canal PWM pour identifier quel ventilateur répond. Attendez-vous à des montées temporaires à 100 %; d’où la nécessité de le faire à froid et localement. Indiquez les capteurs qui piloteront chaque canal quand il vous le demande. Sauvegardez vers /etc/fancontrol à la fin.
Activez le service: sudo systemctl enable –now fancontrol. Vérifiez l’état et les logs: systemctl status fancontrol et journalctl -u fancontrol -b. Utilisez sensors pour confirmer la variation des vitesses en fonction des températures. Si rien ne réagit, vérifiez que le canal PWM n’est pas en mode DC dans le firmware UEFI, ou désactivé par une option «Full Speed».
La configuration /etc/fancontrol référence des mappings tels que INTERVAL, MINTEMP, MAXTEMP, MINSTART, MINSTOP et FCTEMPS. Vous pouvez éditer ces valeurs à la main pour affiner vos courbes après les premiers tests. Conservez des copies versionnées pour les profils été/hiver et consignez vos changements avec les raisons des ajustements; cela accélère le diagnostic si un comportement inattendu apparaît.
Régler les seuils de température et temp crit sans bruit excessif
Construisez vos consignes à partir des fourchettes réelles de votre matériel. Pour le CPU, fiez-vous aux capteurs coretemp ou k10temp et gardez 10–15°C de marge sous le temp crit signalé par sensors. Si sensors rapporte Tjmax ou temp crit pour le CPU ou certaines puces, ne positionnez pas MAXTEMP à proximité immédiate: laissez une réserve pour les pointes transitoires. L’été, décalez toutes les consignes de quelques degrés vers le bas ou augmentez le pourcentage de ventilation correspondant, afin de compenser l’air d’admission plus chaud.
Les paliers typiques pour un châssis équilibré pourraient être MINTEMP 35 et MAXTEMP 60, avec MINSTART 45 % et MINSTOP 25 % sur les ventilateurs boîtier, tandis que le CPU suivrait une rampe plus raide (ex. 40 % à 50°C, 70 % à 80°C). Ajustez selon l’acoustique et le type de radiateur. Évitez l’effet yo-yo en ajoutant une hysteresis3 logique: démarrez plus tôt qu’on arrête, en s’assurant que MINSTOP est en dessous du seuil où la température repart à la hausse trop vite.
Ne négligez pas les SSD NVMe: au-delà de 70°C, beaucoup réduisent leurs performances. Associez au moins un ventilateur avant à la sonde NVMe Composite si votre boîtier le permet. Pour les VRM, certaines cartes mères exposent des sondes fiables; sinon, suivez une température boîtier à proximité. But: garder chacune des zones à un régime sûr, sans forcer tous les ventilateurs à un même pourcentage en permanence.
Tests de stabilité et validation thermique prolongée
Une courbe efficace ne se juge pas à vide. Exécutez des charges représentatives pendant des durées suffisamment longues pour saturer l’inertie thermique du boîtier. Pour le CPU, utilisez stress-ng –cpu 8 –vm 2 –vm-bytes 80% –timeout 20m ou un compileur lourd; pour le stockage, des copies séquentielles ou un bench fio; pour le GPU, un outil de rendu intensif. Surveillez en parallèle avec watch -n1 sensors et journalctl -u fancontrol -f. Validez qu’aucun capteur ne frôle son temp crit et que la vitesse des ventilateurs se stabilise.
Consignez température ambiante, températures stables atteintes, RPM moyens et niveau sonore perçu. Rejouez test été avec une pièce plus chaude ou en réduisant l’admission d’air pour simuler une canicule. Si la température continue de monter malgré des ventilateurs déjà rapides, relevez la pente au-dessus du palier problématique, ou abaissez MINTEMP pour démarrer plus tôt. Au contraire, si les ventilateurs oscillent, augmentez l’écart entre seuil d’activation et de coupure et relevez légèrement MINSTOP.
Contrôlez sur la durée: redémarrages, reprise après veille, coupure de fancontrol. Assurez-vous que le firmware ne reprend pas la main avec un «full speed» en sortie de veille. Enfin, documentez la procédure de bascule saisonnière: sudo systemctl stop fancontrol, mise à jour du lien symbolique vers le fichier été/hiver, puis sudo systemctl start fancontrol. Cette discipline garantit une transition sans surprise à chaque changement de saison.
- lm-sensors: suite d’outils Linux pour détecter, charger et lire les puces matérielles de monitoring via hwmon; inclut sensors, sensors-detect et bibliothèques associées.
- PWM: modulation de largeur d’impulsion pour piloter précisément la vitesse des ventilateurs 4 broches, distincte d’un mode DC trois broches.
- Hysteresis: marge de déclenchement et d’arrêt différente pour éviter les bascules rapides de consigne quand la température oscille autour d’un seuil.
