Se connecter / S'enregistrer
Votre question

[tuto - linux]Réguler la vitesse du ventilateur d'une carte nvidia

Tags :
  • linux
  • Système d'exploitation
Dernière réponse : dans Systèmes d'exploitation
1 Juillet 2007 16:44:02

Introduction

Certaines cartes graphiques ont la facheuse tendance faire un bruit assez désagréable à cause de leur ventilateur qui tourne à 100%. Comment réduire ce bruit : diminuer la tension d’alimentation du ventilateur (adieu la garantie, bonjour la chaleur), changer le ventilateur (parfois assez cher pour en avoir un silencieux), ou simplement faire varier la vitesse de rotation du ventilateur de manière logicielle (gratuit, contrôle facile, pas de modification du hardware)

Pour cela il existe un petit utilitaire : nvclock.

Comme son nom l’indique, il ne fonctionne que sur les cartes nvidia.

Remarque : nvclock permet aussi d’overclocker votre carte. Je n'ai pas réussi à la faire, et en même temps je n'ai pas trop insisté vu le peu d'intérêt que ce la représente sous linux.


Pré-requis

Il vous faut :

* une carte graphique Nvidia (sans blague !) Agp ou Pci-express
* les pilotes propriétaires de votre carte installés
* de quoi compiler
* installer cvs
* télécharger la dernière version de nvclock ici. N'hésitez pas à prendre la version beta s'il y en a une surtout si votre carte est récente.

Remarque : vérifiez avant si la dernière version de nvclock est disponible via le gestionnaire de paquet de votre distribution. Si c'est le cas préférez cette solution pour l'installation.



Installation de nvclock téléchargé en tar.gz

Une fois le dossier téléchargé, décompressez-le, placez vous dans le dossier, ouvrez-y un terminal en root et entrez :

* ./autogen.sh
* make
* make install

Voila c’est tout.


Afficher les informations de votre carte

La commande nvclock -i permet entre autre d’afficher les fréquences, les températures et la vitesse de votre ventilateur.


Contrôler la vitesse du ventilateur

Il est possible de faire varier la vitesse entre 10 et 100%. Rien ne sert de trop la réduire, contentez-vous de trouver la vitesse maximum pour laquelle vous n’entendez pas ou peu de bruit.

C’est trés simple à faire. Il vous suffit d’ouvrir une console et d’entrer :

nvclock -F 80
(dans ce cas le ventilateur tourne à 80%).

Dans certains cas, la commande ne passe pas : il faut alors “forcer”. Pour cela, il faut ajouter l’option -f :

nvclock -f -F 80




Je vous invite à surveiller la température de votre carte pour vous assurer qu’elle ne chauffe pas trop en affichant les informations de votre carte (nvclock -i). Attention : ce programme ne présente aucun risque si vous contrôlez régulièrement cette température : je ne suis pas responsable si vous cramez votre carte (en même temps il faut en vouloir hein ;) )

Vous n’avez plus qu’à faire un script au démarrage pour éviter de refaire la manip à chaque fois.

Autres pages sur : tuto linux reguler vitesse ventilateur carte nvidia

8 Juillet 2007 17:43:49

Un petit plus pour éviter de devoir surveiller continuellement la température, j'ai écrit un petit script qui modifie automatiquement la vitesse en fonction de la température.

Il est nécessaire d'avoir installé nvclock comme décrit au dessus

Description :

Le script récupère le résultat de nvclock -T,
en extrait la température GPU, la compare à des valeurs fixées et
modifie la vitesse du ventilateur avec nvclock -f -F vitesse.

Puis il est exécuté toutes les minutes à l'aide de crontab.

Remarque : - Les températures et vitesses sont des valeurs personnelles, adaptées à ma carte graphique Asus N6800 GT qui chauffe beaucoup trop, c'est pour cela que les températures sont élevées.
Je vous conseille de tester le comportement de votre carte à l'aide de nvclock et ensuite seulement d'adapter le script à votre matériel.


Installation :

Mon explication est valable sous Debian, et a priori je ne vois pas pourquoi ça ne marcherais pas ailleurs.

On va enregistrer le script dans le dossier /usr/bin :
Pourquoi ici ? Je sais pas, pourquoi pas ?

Ouvrez un terminal en root et exécutez la commande

gksu gedit /usr/bin/script_nvclock

puis collez le texte suivant dans la fenêtre qui s'est ouverte, enregistrez et quittez.

#!/bin/sh

#Récupère la température et la stocke dans "temp"

res=$(nvclock -T)
res_end=${res##*GPU temperature: }

temp=${res_end%%C*}

#Régule la vitesse en fonction de la température
# -ge signifie supérieur ou égal (>=)
# On peut sans problème ajouter/enlever des échellons
# en gardant la forme :
#
# elif test "$temp" -ge temperature
# then
# nvclock -f -F vitesse
#
# ou modifier les valeurs des vitesses/températures
# mais il faut les laisser classées dans l'ordre décroissant

if test "$temp" -ge 75
then
nvclock -f -F 100

elif test "$temp" -ge 70
then
nvclock -f -F 80

elif test "$temp" -ge 65
then
nvclock -f -F 60

elif test "$temp" -ge 62
then
nvclock -f -F 40
else
nvclock -f -F 30
fi



On va ensuite modifier le fichier de configuration de crontab pour lui faire exécuter le script toutes les minutes :

Dans le même terminal exécutez

gksu gedit /etc/crontab

et ajoutez la ligne suivante

* * * * * root sh /usr/bin/script_nvclock

Sauvegardez et quittez.

Normalement ça marche.

Je suis ouvert à toutes critiques et à tout conseils. C'est le premier script que j'ai réalisé pour Linux.
8 Juillet 2007 18:37:30

Merci Beaucoup pour cette astuce. Cela semble fonctionner chez moi avec une 6600GT.

A essayer au maximum pour avoir un max de retour d'expérience ;) 
13 Mai 2008 00:19:54

le paquet nvclock disponible dans les dépots ubuntu fonctionne. Préférez donc cette solution pour installer nvclock.
27 Juin 2008 13:28:38

Merci beaucoup pour ce tuto ! :) 
27 Juin 2008 14:42:33

de rien ;) 
28 Juin 2008 13:57:36

Pour overclocker, c'est assez simple.
Y'a deux conditions à donner à la commande nvclock:

Personnellement, je commence comme ça:
  1. nvclock -s

Il va vous donner la fréquence de l'horloge mémoire, ainsi que du GPU.

Après, il suffit d'augmenter petit à petit...
  1. nvclock -m
pour l'horloge mémoire

Et:
  1. nvclock -n
pour le GPU.

Mais faut faire gaffe à pas tout cramer. :p 
suseX, je suis pas trop d'accord avec toi, ma 6600GT ayant grillé, j'ai une Geforce 4 de remplacement, et sans l'overclocking, Compiz tourne un peu moins bien.
28 Juin 2008 14:01:34

merci pour l'overclock ;) 

mais il faut dire que lorsque j'ai écris ce tuto, il y a quelques temps déjà, bien avant la publication sur idn, compiz & co n'en était qu'au début d'une utilisation à peu prés stable.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS