Grafikkarten-Lüfterregelung mit RivaTuner

19. Juni 2009 · Hardware · andreas · Kein Kommentar

Zwar ist die Palit GTX260 Sonic 216SP dank des vom Referenzdesign abweichenden Kühlers halbwegs leise, im 2D-Betrieb nervt der Lüfter mit seiner Standardeinstellung von 40% aber trotzdem deutlich mehr, als er eigentlich müsste.

Wird die Lüftergeschwindigkeit mittels RivaTuner auf 25% gedrosselt, so bleibt selbst im Sommer die Core-Temperatur bei normaler Desktop-Arbeit unter 50°C und die Karte ist fast unhörbar - das Problem ist nur, den Lüfter im Bedarfsfall wieder automatisch auf die benötigte Geschwindigkeit zu beschleunigen.

Während bei den älteren RivaTuner-Versionen die Steuerung über den “Launcher” mit Hilfe von Schwellenwerten noch wunderbar funktionierte, tritt bei der neuen Steuerung über den “Scheduler”, bei der Temperaturbereiche angegeben werden, folgendes Verhalten auf:

  • Die Karte wird belastet und die GPU erwärmt sich.

  • Die Temperatur steigt in den nächsthöheren Temperaturbereich, der Lüfter dreht schneller und die GPU-Temperatur sinkt.

  • Die Temperatur sinkt in den nächst niederen Bereich und der Lüfter dreht langsamer.

  • Die Temperatur steigt wieder an und das Spiel beginnt von vorne.

Zwar kann mit Hilfe der “Data sampling period” und “Task freezing period” einem ständigen Hin- und Herschalten etwas entgegenwirkt werden - zur nervenschonenden Funktion sind aber eine Menge Tasks in kleinen Abständen notwendig, was jede Menge Handarbeit und Fehlerquellen bedeutet.

Bei RivaTuner handelt es sich um ein mächtiges Werkzeug, mit dessen Hilfe tiefgreifende Manipulationen möglich sind, die - wenn falsch eingesetzt - durchaus auch zu einer Beschädigung der Hardware führen können!

Glücklicherweise gibt es eine Alternative, denn unter “Low-level sytem tweaks” bietet RivaTuner auch eine direkte, temperaturabhängige Lüftersteuerung.

Bevor überhaupt Änderungen in der “Low level fan control” vorgenommen werden können, ist die entsprechende Funktionalität freizuschalten.

Hierzu auf die Registerkarte “Power user” wechseln und die Einstellung “RivaTuner / Fan” suchen. Den Wert “AutoFanSpeedControl” auf “3” (=“full access”) setzen.

Nach der Freischaltung kann aus der Registerkarte “Main” durch Klick auf “Target adapter / Customize / Low-level system settings” der entsprechenden Schirm aufrufen werden.

Bevor es an das Ändern der vorhandenen Werte geht, ist das Häkchen bei “Enable low-level fan control” zu setzen, und “Auto” anzuwählen.

Anschließend können die gewünschten Werte für die Lüftersteuerung eingetragen werden. Diese setzen sich wie folgt zusammen:

  • Duty cycle min: Die Mindestdrehzahl der Lüfter. Palit gibt hier standardmäßig “40” vor, der Wert kann aber auf z.B. “25” gesetzt werden (s.o.)

  • Duty cycle max: Die maximale Drehzahl der Lüfter. Da Palit 2 Lüfter verbaut, die für frischen Wind sorgen, sind hier 60% ausreichend.

  • T min: Die Temperatur, ab der die Drehzahl der Lüfter erhöht wird. Diese Temperatur ist nicht die Temperatur des GPU-Sensors, sondern die der Lüftersteuerung. Damit hier ein sinnvoller Wert eingetragen werden kann, muß erst die Differenz zwiwchen den beiden Sensoren ermittelt werden. Hierzu auf der Registerkarte “Main” die Funktion “Target adapter / Customize / Hardware monitoring” wählen und den unter “Core temperature” angezeigten Wert merken.
    Anschließend mit der rechten Maustaste in das “Core temperature”-Diagramm klicken und “Setup” wählen. Im sich nun öffnenden Fenster unter “General settings / Data provider” von “” auf den “ADT7473” umstellen, mit “OK” bestätigen. Die nun angezeigte Temperatur von der vorher gemerkten abziehen - dies ist die Differenz, die für die Lüftersteuerung benötigt wird.
    Soll die Lüftersteuerung z.B. ab 65° beschleunigen, so ist der Wert für “T min” auf 65-ermittelte Differenz zu setzen.

  • T range: Statt einer Maximaltemperatur wird ein Temperaturbereich beginnend ab “T min” angegeben, in dessen Verlauf die Lüftergeschwindigkeit von “Duty cycle min” linear bis zu “Duty cycle max” angehoben wird.

Für die Berechung von “T range” findet sich im ADT7473 Data Sheet folgende Formel

Tmax = T min + (Duty cyle max - Duty cycle min) * T range / 170

wobei zu beachten ist, daß “Duty cycle max” und “Duty cyle min” jeweils als prozentualer Anteil von 255 anzugeben sind. Aufgelöst nach “T range” und zum einfachen Eintragen der Lüfterwerte (25% als 25) ergibt sich folgende Formel:

T range = (T max - T min) / (2.55 * Duty cycle max - 2.55 * Duty cycle min) * 170

Zu beachten ist allerdings, daß - wie im Data Sheet angegeben - nur bestimmte Werte für “T range” zulässig sind.

Die restlichen Werte sind normalerweise für den “dynamic T min control mode” verantwortlich, der für die vorgesehene Steuerung deaktiviert werden muß. Ein Forenbeitrag im RivaTuner Forum schlägt folgende Werte vor:

  • T operating = 110

  • T low
    limit = 0

  • T high limit = 110

Eine genaue Beschreibung der Werte findet sich ebenfalls im Data Sheet.

Anschließend das gerade erstellte Profil speichern und einen Haken bei “Apply fan settings at Windows startup” und ggf. auch bei “Restore fan settings after suspend mode” setzen. Nach einem Klick auf “OK” fängt die Lüftersteuerung nun an zu arbeiten.

Nicht vergessen werden sollte ein Lasttest unter ständiger Beobachtung. Eine Möglichkeit hierfür bietet FurMark, der die Graphikkarte bis zum Anschlag auslastet und der entweder im Fenster neben dem geöffneten “Hardware monitoring” laufen kann oder auch direkt die GPU-Temperatur in Vollbilddarstellung anzeigt.

Funktioniert die Regelung, sollte sich dies recht gut in den entsprechenden Diagrammen ablesen lassen:

rivatuner05