- Par David
- Le 25-04-2026
- 17 minutes de lecture
Contrôler les ventilateurs sous Linux : fancontrol, lm-sensors et pwmconfig expliqués
Réponse rapide : Sous Linux, la gestion des ventilateurs repose sur trois outils complémentaires : lm-sensors détecte les capteurs thermiques, pwmconfig identifie les connecteurs PWM contrôlables, et fancontrol applique des courbes de vitesse automatiques. L'installation prend moins de 15 minutes sur la plupart des distributions, et le résultat est un système silencieux qui accélère les ventilateurs uniquement quand la température l'exige.
- Pourquoi contrôler les ventilateurs sous Linux ?
- Installer lm-sensors : la première étape indispensable
- pwmconfig : cartographier les broches PWM contrôlables
- Comprendre et éditer le fichier /etc/fancontrol
- Configuration pour PC gamer AMD Ryzen
- Configuration pour PC Intel Core (12e-14e génération)
- Activer et tester le démon fancontrol
- Cas particuliers et limites de fancontrol
- Alternatives à fancontrol sous Linux
- Questions fréquentes sur le contrôle des ventilateurs sous Linux
- Comment savoir si mes ventilateurs sont contrôlables en PWM sous Linux ?
- Quelle est la différence entre lm-sensors et fancontrol ?
- Pourquoi fancontrol ne démarre pas au boot malgré systemctl enable ?
- Peut-on utiliser fancontrol avec un processeur AMD Ryzen récent ?
- Comment tester ma configuration fancontrol sans redémarrer ?
- fancontrol fonctionne-t-il sur un NAS ou Raspberry Pi ?
- Quelle valeur PWM correspond à quelle vitesse en pourcentage ?
- Est-il risqué de configurer des seuils trop bas dans fancontrol ?
- Ce qu'il faut retenir pour piloter vos ventilateurs sous Linux
- lm-sensors : détection des capteurs de température et de vitesse
- pwmconfig : cartographie des broches PWM disponibles
- fancontrol : démon qui pilote la vitesse en temps réel selon des seuils configurables
Sous Linux, maîtriser la courbe des ventilateurs de son PC est tout à fait possible sans passer par un logiciel propriétaire. La chaîne d'outils lm-sensors / pwmconfig / fancontrol, disponible dans les dépôts officiels de toutes les grandes distributions, offre un contrôle précis et scriptable de chaque ventilateur connecté en PWM. Ce guide couvre l'installation, la configuration et les réglages spécifiques aux plates-formes AMD et Intel.
Pourquoi contrôler les ventilateurs sous Linux ?
Sans gestion active, le BIOS applique souvent des profils trop agressifs ou trop permissifs : les ventilateurs tournent à plein régime au démarrage, ou restent silencieux jusqu'à ce que la température atteigne des seuils dangereux. Un profil personnalisé permet d'équilibrer bruit et thermique selon l'usage réel, qu'il s'agisse d'un PC gamer, d'un poste de travail ou d'un serveur domestique.
Le contrôle logiciel via Linux est également plus fiable que le BIOS sur certaines cartes mères récentes, notamment celles équipées de chipsets AMD B650/X670 ou Intel Z790, dont les implémentations BIOS d'auto-control sont parfois erratiques. Le démon fancontrol tourne en espace utilisateur et survit aux mises à jour du micrologiciel.
Installer lm-sensors : la première étape indispensable
lm-sensors est le socle de toute la chaîne de contrôle : il expose les données des capteurs matériels via le sous-système hwmon du noyau Linux. Sans lui, ni pwmconfig ni fancontrol ne peuvent fonctionner.
L'installation varie selon la distribution :
## Debian / Ubuntu / Linux Mint sudo apt install lm-sensors fancontrol ## Arch Linux / Manjaro sudo pacman -S lm_sensors ## Fedora / RHEL sudo dnf install lm_sensors
Une fois installé, on lance la détection automatique des modules noyau disponibles :
sudo sensors-detect
Ce script interactif interroge chaque bus I2C et ISA pour identifier les puces de supervision thermique. Répondre YES à chaque question permet de charger automatiquement les modules au démarrage. Sur une carte mère ASUS ROG ou MSI MEG, la puce détectée est généralement une Nuvoton NCT6798D ou une ITE IT8686E.
Après détection, la commande sensors affiche en temps réel les températures et vitesses :
sensors # Exemple de sortie nct6798-isa-0290 Adapter: ISA adapter fan1: 850 RPM CPU Temp: +52.0°C MB Temp: +35.0°C
pwmconfig : cartographier les broches PWM contrôlables
pwmconfig est un script interactif fourni avec le paquet fancontrol qui détecte les connecteurs PWM disponibles sur la carte mère et les associe aux capteurs de température correspondants. C'est lui qui génère le fichier de configuration utilisé ensuite par le démon.
Il doit être exécuté en root, les ventilateurs devant tous être branchés et en rotation :
sudo pwmconfig
Le script coupe brièvement chaque ventilateur pour mesurer sa réponse au signal PWM. Il demande ensuite d'associer chaque canal PWM à un capteur thermique : par exemple, pwm2 (ventilateur CPU) à coretemp-isa-0000/temp1 sur une configuration Intel. Sur AMD avec un Ryzen 7000, le capteur pertinent est généralement k10temp-pci-00c3/Tctl.
À la fin du script, choisir l'option de génération automatique du fichier de configuration /etc/fancontrol. Ce fichier peut ensuite être édité manuellement pour affiner les seuils.
Comprendre et éditer le fichier /etc/fancontrol
Le fichier /etc/fancontrol définit les règles de pilotage de chaque ventilateur. Sa structure suit un format clé/valeur où chaque paramètre s'applique à un canal PWM identifié par son chemin hwmon.
Voici la structure type d'une configuration fonctionnelle :
INTERVAL=10 DEVPATH=hwmon0=devices/platform/nct6775.2592 hwmon1=devices/platform/coretemp.0 DEVNAME=hwmon0=nct6798 hwmon1=coretemp FCTEMPS=hwmon0/pwm2=hwmon1/temp2_input FCFANS=hwmon0/pwm2=hwmon0/fan2_input MINTEMP=hwmon0/pwm2=40 MAXTEMP=hwmon0/pwm2=75 MINSTART=hwmon0/pwm2=150 MINSTOP=hwmon0/pwm2=100 MINPWM=hwmon0/pwm2=80 MAXPWM=hwmon0/pwm2=255
Les paramètres les plus importants à ajuster :
| Paramètre | Rôle | Valeur typique |
|---|---|---|
MINTEMP | Température (°C) en dessous de laquelle le ventilateur est au minimum | 35-45 °C |
MAXTEMP | Température (°C) à laquelle le ventilateur atteint 100 % | 70-80 °C |
MINSTART | Valeur PWM minimale pour démarrer le ventilateur (0-255) | 120-180 |
MINSTOP | Valeur PWM en dessous de laquelle le ventilateur s'arrête | 80-120 |
MINPWM | Vitesse minimale de croisière quand actif | 60-100 |
MAXPWM | Valeur PWM maximale (255 = 100 %) | 200-255 |
Configuration pour PC gamer AMD Ryzen
Sur une plateforme AMD Ryzen 7000 (AM5), la température de référence à surveiller est Tctl, exposée par le module k10temp. Cette valeur inclut un offset de +10 °C sur certains modèles, ce qu'il faut prendre en compte dans les seuils MAXTEMP pour éviter de sur-réagir.
Un profil équilibré pour un Ryzen 7 7700X en boîtier mid-tower avec trois ventilateurs de 120 mm :
INTERVAL=5 FCTEMPS=hwmon0/pwm1=hwmon2/temp1_input hwmon0/pwm2=hwmon2/temp1_input MINTEMP=hwmon0/pwm1=45 hwmon0/pwm2=45 MAXTEMP=hwmon0/pwm1=85 hwmon0/pwm2=85 MINSTART=hwmon0/pwm1=160 hwmon0/pwm2=140 MINSTOP=hwmon0/pwm1=100 hwmon0/pwm2=90 MINPWM=hwmon0/pwm1=80 hwmon0/pwm2=70 MAXPWM=hwmon0/pwm1=255 hwmon0/pwm2=230
Avec ce profil, les ventilateurs restent quasi-silencieux en dessous de 45 °C (navigation web, lecture vidéo) et montent progressivement jusqu'à leur maximum à 85 °C, seuil rarement atteint même en session de jeu prolongée avec un bon ventirad.
Configuration pour PC Intel Core (12e-14e génération)
Les processeurs Intel Core de 12e à 14e génération utilisent le module coretemp pour exposer les températures par coeur. La température de référence recommandée pour fancontrol est temp1_input du package, qui représente la valeur maximale mesurée sur l'ensemble des coeurs.
Ces processeurs, notamment les variantes non-K comme le Core i5-13600, chauffent moins que leurs équivalents débloqués. Un profil adapté peut donc se permettre des seuils bas plus élevés, contribuant à un système plus silencieux. Pour les ordinateurs portables équipés de processeurs Intel, notez que fancontrol est rarement applicable car les ventilateurs de laptops ne sont généralement pas exposés via hwmon de la même façon que sur les cartes mères desktop.
INTERVAL=10 FCTEMPS=hwmon0/pwm2=hwmon1/temp1_input MINTEMP=hwmon0/pwm2=50 MAXTEMP=hwmon0/pwm2=80 MINSTART=hwmon0/pwm2=155 MINSTOP=hwmon0/pwm2=105 MINPWM=hwmon0/pwm2=85 MAXPWM=hwmon0/pwm2=255
Activer et tester le démon fancontrol
Une fois le fichier /etc/fancontrol configuré, on active le service via systemd pour qu'il démarre automatiquement à chaque boot :
sudo systemctl enable --now fancontrol
Pour vérifier que le démon fonctionne correctement et diagnostiquer d'éventuelles erreurs :
sudo systemctl status fancontrol journalctl -u fancontrol -f
Il est conseillé de tester la configuration manuellement avant d'activer le service. La commande suivante lance fancontrol en avant-plan avec affichage des actions :
sudo fancontrol /etc/fancontrol
Surveiller la sortie pendant quelques minutes en faisant varier la charge du processeur (via stress-ng par exemple) pour valider que les ventilateurs réagissent bien aux variations de température. Pour les utilisateurs qui gèrent également la infrastructure réseau de leur setup gaming, ce type d'approche systémique du contrôle matériel s'inscrit dans une logique similaire d'optimisation fine.
Cas particuliers et limites de fancontrol
fancontrol ne fonctionne pas avec tous les matériels. Les ventilateurs connectés via USB (certains AIO haut de gamme), les contrôleurs propriétaires comme le NZXT Smart Device, ou les ventilateurs 3 broches non-PWM ne sont pas pilotables par cette méthode. Pour ces cas, des outils spécifiques comme liquidctl (pour les refroidissements liquides Corsair, NZXT, Kraken) complètent utilement la panoplie.
Sur certaines cartes mères, les chemins hwmon peuvent changer d'un démarrage à l'autre si plusieurs modules sont chargés dans un ordre différent. La directive DEVPATH dans /etc/fancontrol résout ce problème en ancrant chaque canal à un chemin sysfs stable plutôt qu'à un index volatil.
Les distributions basées sur Wayland n'impactent pas le fonctionnement de fancontrol, qui opère entièrement en espace noyau et daemon, indépendamment de la pile graphique. Les utilisateurs qui jouent à des titres exigeants sous Linux via Proton, comme l'indique le suivi des optimisations de latence pour le streaming, ont tout intérêt à configurer des profils thermiques agressifs pour les sessions de jeu.
Alternatives à fancontrol sous Linux
Plusieurs solutions complémentent ou remplacent fancontrol selon les besoins. nbfc-linux (NoteBook FanControl pour Linux) est dédié aux ordinateurs portables et supporte un grand nombre de modèles via des profils YAML. thinkfan cible spécifiquement les ThinkPad et expose une syntaxe de configuration plus lisible. liquidctl gère les refroidissements liquides tout-en-un via USB.
| Outil | Cible | Interface | Complexité |
|---|---|---|---|
| fancontrol | PC desktop, cartes mères standard | CLI / fichier de config | Moyenne |
| nbfc-linux | Laptops | CLI + profils YAML | Faible |
| thinkfan | ThinkPad | Fichier de config | Faible |
| liquidctl | AIO USB (Corsair, NZXT, Kraken) | CLI | Faible |
Questions fréquentes sur le contrôle des ventilateurs sous Linux
Comment savoir si mes ventilateurs sont contrôlables en PWM sous Linux ?
Après avoir lancé sudo sensors-detect et chargé les modules détectés, exécuter sudo pwmconfig. Ce script liste automatiquement les canaux PWM disponibles sur la carte mère et teste leur réactivité. Si aucun canal n'est détecté, les ventilateurs sont probablement en 3 broches (tension variable) ou connectés à un contrôleur non supporté.
Quelle est la différence entre lm-sensors et fancontrol ?
lm-sensors est une bibliothèque de lecture : il collecte et affiche les données des capteurs (températures, tensions, vitesses de rotation). fancontrol est un démon d'action : il lit ces données via lm-sensors et ajuste en temps réel la vitesse des ventilateurs selon les règles définies dans /etc/fancontrol. Les deux sont complémentaires et nécessaires.
Pourquoi fancontrol ne démarre pas au boot malgré systemctl enable ?
Le problème vient souvent de chemins hwmon instables entre les démarrages. Vérifier dans /etc/fancontrol que la directive DEVPATH pointe vers des chemins sysfs absolus et non vers des index dynamiques comme hwmon0. Consulter les logs via journalctl -u fancontrol pour identifier le message d'erreur précis.
Peut-on utiliser fancontrol avec un processeur AMD Ryzen récent ?
Oui. Les Ryzen 5000, 7000 et 9000 sont pleinement supportés via le module noyau k10temp. La température à utiliser dans la configuration est Tctl (temp1_input). Sur les Ryzen 7000 et plus récents, certains modèles affichent un offset de +10 °C qu'il convient de prendre en compte en relevant les seuils MAXTEMP d'autant.
Comment tester ma configuration fancontrol sans redémarrer ?
Lancer sudo fancontrol /etc/fancontrol en avant-plan dans un terminal pour observer le comportement en temps réel. Parallèlement, stresser le CPU avec stress-ng --cpu 4 --timeout 60s dans un second terminal et surveiller les RPM via watch sensors. Si tout est correct, activer le service systemd avec sudo systemctl enable --now fancontrol.
fancontrol fonctionne-t-il sur un NAS ou Raspberry Pi ?
fancontrol fonctionne sur tout système Linux exposant des noeuds hwmon avec support PWM. Sur Raspberry Pi 4 et 5, le ventilateur officiel est gérable via /sys/class/thermal/cooling_device0, mais pas via fancontrol directement. Pour les NAS sous TrueNAS ou OpenMediaVault, des modules spécifiques au chipset sont nécessaires, et le support varie selon le matériel.
Quelle valeur PWM correspond à quelle vitesse en pourcentage ?
Linux exprime les valeurs PWM sur une échelle de 0 à 255. La correspondance est linéaire : 0 = ventilateur arrêté, 128 = 50 % de la vitesse maximale, 255 = 100 %. Attention : la vitesse minimale de démarrage (MINSTART) est toujours supérieure à la vitesse minimale de maintien (MINSTOP), car il faut plus d'énergie pour démarrer un moteur que pour le maintenir en rotation.
Est-il risqué de configurer des seuils trop bas dans fancontrol ?
Oui, c'est le principal risque. Si MAXTEMP est trop élevé ou MAXPWM trop bas, le CPU peut dépasser sa température de jonction et déclencher le throttling thermique, voire un arrêt d'urgence. Il est conseillé de ne jamais dépasser 85 °C pour un CPU desktop comme seuil MAXTEMP, et de surveiller les températures pendant les premières sessions de jeu intensif après un changement de configuration.
Ce qu'il faut retenir pour piloter vos ventilateurs sous Linux
La gestion des ventilateurs sous Linux repose sur une chaîne simple et robuste : lm-sensors expose les capteurs, pwmconfig cartographie les canaux PWM, et fancontrol applique les règles en continu. La configuration prend moins de 30 minutes sur un PC desktop standard et offre un contrôle thermique plus fin que la plupart des solutions BIOS. Pour les plateformes AMD et Intel récentes, les profils doivent tenir compte des spécificités des capteurs k10temp et coretemp. En cas de matériel non supporté (AIO USB, laptop), des alternatives comme liquidctl ou nbfc-linux prennent le relais efficacement.
