Finetuning Radeon 4870 HD: Over- und Underclocking

Eigentlich sollte mein Blog eher politische Themen behandeln, aber da ich die letzten Tage viel mit einem anderen, technischen Thema verbracht habe – nämlich dem hacken meines GPU BIOS – habe ich mich entschieden darüber einen Betrag zu verfassen.

Seitdem ich mir im September des letzten Jahres einen neuen Rechner mit einer Radeon 4870 gekauft habe, hatte ich stets ein Auge auf die Temperatur meiner Grafikkarte, welche selbst im Idle Zustand über 70° lag. Das sind Temperaturen, die nichtmal mein übertakteter Wolfdale mit Intel BurnTest erreicht. Vor kurzem berichtete mir dann ein Kommilitone, dass er das BIOS seiner 4870 erfolgreich angepasst habe und die Karte nun im Idle Betrieb weniger als 50° und unter Vollast keine 70° mehr erreiche. Ich wurde schnell hellhörig und ließ mir die Details erläutern.

Ich möchte euch hier erklären welche Schritteich vorgenommen habe um das BIOS meiner Radeon 4870 anzupassen und damit den thermalen Stress meiner Grafikkarte zu verringern. Zusätzlich habe ich die Karte ein wenig übertaktet um maximale Leistungsfähigkeit bei minimaler thermaler Belastung zu erreichen. Seid jedoch gewarnt: das überspielen vom BIOS bzw der Firmware ist immer ein riskantes Unterfangen und kann die Komponente (nahezu) zerstören. Ich übernehme keine Haftung für Schäden, die auftreten, weil ihr euch entscheided euch auch an eurer 4870 zu versuchen. Seid euch also bitte im Klaren darüber was ihr tut und welche Risiken ihr eingeht.

Folgendes solltet ihr bereit haben:

Die zusätzliche Grafikkarte ist eure “Lebensversicherung”. Sollte beim flashen des BIOS entwas schief gehen, sei es ein Stromausfall oder ein flasch konfiguriertes BIOS, dann wird eure Grafikkarte in einen “Scheintoten” Zustand verfallen und nichtmehr funktionieren bis ihr das Original BIOS wieder hergestellt habt, wozu ihr eine zweite Grafikkarte benötigt, aber dazu mehr im Abschnitt 6: Troubleshooting.

Schritt 0: Das richtige BIOS

Oben: falsches BIOS, Unten: richtiges, Sapphire BIOS

Oben: falsches BIOS, Unten: richtiges, Sapphire BIOS

Bevor wir mit dem eigentlichen Über- und Untertakten der Karte beginnen müssen wir erstmal prüfen welches Grafik BIOS ihr habt und dieses warscheinlich updaten. Dazu Startet ihr GPU-Z und speichert das BIOS eurer Grafikkarte mithilfe des Buttons neben dem BIOS Versionstring. Öffnet nun euer BIOS mit dem Radeon BIOS Editor. Wechselt auf den Clock Reiter und sucht das “Powerplay States Structure” Feld. Sollte hier “Power Saving for notebooks in battery mode” zweimal aufgelistet sein – und solltet ihr keine Sapphire Karte haben so ist das sehr warscheinlich der Fall – müsst ihr ein erweitertes BIOS von Sapphire aufspielen. Habt ihr bei den Powerplay States allerdings ein “Accelerated 3D” und ein “Thermal (GPU too hot)” Feld so habt ihr bereits das erweiterte BIOS.

WARNUNG: Das Sapphire BIOS ist laut Sapphire nur für P/N:188-01E85-001SA,SKU#11133-00-XXR Karten geeignet, allerdings bestätigt die Techpowerup Community, dass das BIOS auch auf allen Vers. 1 Referenz Boards anderer Hersteller einwandfrei läuft. Wenn ihr wissen wollt welches Board ihr habt guckt euch am besten diesen Bild an. Dennoch überhehme ich keine Haftung für evtl auftretende Schäden durch ein fehlerhaftes oder falsches BIOS und mache euch hiermit erneut ausdrücklich darauf aufmerksam, dass das aufspielen dieses BIOS eure Grafikkarte beschädigen oder sogar zerstören kann. Ich für meinen Teil betreibe meine Powercolor 4870 HD 500MB allerdings auch einwandfrei mit dem Sapphire BIOS.

Das Sapphire BIOS ist deswegen so wichtig, weil es im Gegensatz zu dem normalen BIOS der meisten anderen Hersteller zwei zusätzliche Powerplay States bietet von denen  vor allem der Accelerated 3D Mode besonders von Interesse ist. Dazu aber später mehr. Bevor wir uns ans übertakten der Karte machen müsst ihr das neue Sapphire BIOS aufspielen, da das BIOS Einfluss auf die Leistungsfähigkeit der Karte haben kann. Bootet dazu mithilfe einer Diskette, einer Boot-CD oder eines USB Sticks in eine DOS Umgebung und flasht mithilfe von atiflash euer Grafikkarten BIOS:

atiflash -f -p 0 sapphire-bios.rom

Details zum Erstellen eines bootfähigen USB Sticks findet ihr unter Schritt 5: BIOS flashen. Startet nun neu. Eure Grafikkarte wird nun mit dem neuen BIOS betrieben. Sollte irgendetwas schief gegangen sein, guckt im Abschnitt Troubleshooting nach was zu tun ist.

Schritt 1: Maximale Taktraten ausloten

Rivatuner

Rivatuner: Low-Level System Tweaks öffnen

Startet Riva Tuner und öffnet das Low-Level System Tweaks Menu. Klickt dazu auf den Button mit dem Pfeil neben dem “Customize…” Schiftzug und wählt den ersten Eintrag in der Liste, der aussieht wie eine Steckkarte. Im sich öffnenden Menu setzt ihr den Haken bei “Enable Low-Level Hardware overclocking”. Nun könnt ihr mithilfe der Regler die GPU und Speicher Clocks verändern. Eure 4870 sollte standardmäßig mit 750 MHz GPU Takt und 900 MHz Speichertakt betrieben werden. Wir fangen nun an die maximale GPU Taktung der Karte auszutesten. Dazu erhöhen wir die Taktrate der GPU (“Core Clock”) um 10 MHz und bestätigen dann mit Apply.

Nun starten wir FurMark, wählen Stability Test und die native Auflösung eures TFT (oder eine andere möglichst hohe) und klicken auf Go! Lasst FurMark für eine kurze Weile laufen und guckt ob ihr irgendwelche Artefakte im Bild findet. Findet ihr keine Artefakte beendet ihr Furmark und erhöht erneut den GPU Takt um 10 MHz. Diese Prozedur wiederholt ihr bis ihr zum erstenmal Artefakte im Bild findet. Sobald ihr Artefakte findet reduziert ihr den Takt wieder um 10 MHz und führt diesmal FurMark zusätzlich mit der Xtreme Buring Mode Option aus. Lasst Furmark eine Weile laufen (fünf Minuten sollten genügen). Findet ihr in dieser Zeit keine Artefakte habt ihr die maximal erreichbare Taktrate für eure GPU gefunden. Treten allerdings wieder Artefakte auf müsst ihr die Taktrate erneut um 10 MHz reduzieren und danach erneut mithilfe von FurMark auf Artefakte überprüfen. Wiederholt das bis keine Artefakte mehr im Bild zu finden sind.

Nachdem ihr die maximale mögliche Taktrate eurer GPU gefunden habt müssen wir die maximal mögliche Taktrate des Speichers bestimmen. Ihr geht genauso vor wie mit dem GPU Takt nur, dass ihr zu Anfang in 50 MHz Schritten erhöht. Sobald Artefakte auftreten reduziert ihr von dort aus in 10 MHz Schritten bis ihr keine Artefakte mehr findet. Wichtig ist, dass ihr beim austesten des maximalen Speichertaktes eure GPU auf dem übertakteten Wert stehen lasst. Sobald ihr beide Maximalwerte habt notiert sie euch.

Schritt 2: Minimale Spannungsversorgung ausloten

WICHTIG: Damit ihr diesen Schritt vollziehen könnt brauch eure 4870 einen Voltera VT1165 Spannungsregler. Die 4870 Reihe hat einen solchen, allerdings gilt das nur für die Vers. 1 Referenz Boards. Bei den Vers. 2 Referenz Boards fehlt der digitale Spannungsregler und smoit ist das verändern der Voltzahlen nicht bzw nicht ausreichend möglich. Sollte das VT Riva Tuner Plugin bei euch nicht funktionieren könnt ihr diesen Schritt getrost überspringen. Wir werden die Spannung eurer 4870 nicht deutlich bzw sicher reduzieren können.

Zunächsteinmal bringt ihr eure Karte auf den einen GPU Takt von 450 und einen Speichertakt von 250. Nutzt dazu wie gehabt die entsprechende Option im Riva Tuner. Diese Werte wird unsere Grafikkarte später im High Profile 2D Betrieb annehmen (das heißt bei hoher Auslastung aber ohne Fullscreen 3D Anwendung im Vordergrund). Nun öffnet das VT Plugin im Riva Tuner. Dazu öffnet ihr den Hardware Monitor und lasst euch den VRM Output Volateg Graph über Setup anzeigen. Klickt nun mit Rechts auf den Graphen und wählt Setup. Im sich öffnenden Fenster bringt euch “More” in das Menu zum justieren der GPU Spannung. Sie sollte zur Zeit bei 1.2625 oder einem ähnlichen Wert liegen. Durch einen Klick auf “Up” erhöht ihr die angelegte Spannung um ein wenig und durch einen Klick auf Down verringert ihr die angelegte Spannung. Änderungen werden sofort auf die Grafikkarte übertragen. Wir wollen die Spannung nun allerdings nur verringern. Ein erhöhen könnte eure Grafikkarte beschädigen, also seid äußerst vorsichtig beim bedienen des Plugins.

Bevor wir nun beginnen einen vernünftigen Spannungswert auszupegeln starten wir aber erneut den FurMark um später böse Überraschungen ausschließen zu können. Wir starten FurMark erneut im Stability Mode und aktivieren auch gleich den Xtreme Burning Mode. Aber im Gegensatz zu vorhin starten wir den FurMark diesmal als Fenster Anwendung. Sobald der FurMark läuft beginnen wir durch wiederholtes klicken auf “Down” im VT Plugin die an unsere Grafikkarte angelegte Spannung zu verringern. Die Änderung solltet ihr im Riva Tuner Hardware Monitor beoachten können. Dort solltet ihr auch sehen, dass eure Karte zur Zeit nur mit einem GPU Takt von 450 MHz und einem Speichertakt von 250 MHz betrieben wird. Wärend ihr die Spannung langsam senkt solltet ihr stets ein Auge auf den FurMark halten. Sollten dort Artefakte auftreten müsst ihr die Spannung wieder anheben und prüfen ob die Artefakte verschwunden sind. Es ist durchaus möglich, dass sich beim absenken der Spannung euer Rechner – zumindest aber die Grafikkarten-Treiber – abstürzt. Sollte das passieren müsst ihr einfach neu starten und den letzten Spannungswert vor dem Absturz nochmals ausgiebig mit FurMark auf Artefakte überprüfen.

Sobald ihr den geringsten Spannungswert mit dem eure Grafikkarte ohne Artefakte stabil läuft gefunden habt schreibt ihr diesen auf und reduziert mithilfe von Riva Tuner euren GPU Takt um weitere 100 MHz runter auf 350. Euren Speichertakt lasst ihr dabei auf 250. Wiederholt die Prozedur bis ihr auch für diese Taktung den niedrigsten möglichen Spannungswert gefunden habt und letztlich dann nochmal das ganze mit einem GPU Takt von 250. Auch diesmal den Speichertakt mit 250 unverändert belassen. Notiert euch eure Spannungsschranken und macht euch bereit für den nächsten Schritt: das modifizieren des BIOS.

Schritt 3: Anpassen des BIOS

Wir werden nun die zuvor ausgetesteten Werte in unser neues Sapphire BIOS übernehmen. Dazu öffnet ihr zunächst das neue BIOS im Radeon BIOS Editor und wechselt auf den “Clocks”-Reiter. Hier seht ihr die verschiedenen sog. Clock States, nummeriert von Clock Info 00 bis Clock Info 09 (bzw 12). Die Grafikkarte wechselt, abhängig von den ausgeführten Anwendungen, in die verschiedenen Clock Info States und kann somit auf die verschiedenen Ansprüche der Anwendungen reagieren. Zunächst eine Übersicht über die verschiedenen Powerplay States:

  • Clock Info 00: Boot-Up. Die Grafikkarte befindet sich wärend des Bootvorgangs in diesem Modus.
  • Clock Info 01, 02, 03: Low Profile / 2D. Die Grafikkarte befindet sich wärend Desktop Anwendungen in diesem Modus. Dabei Unterscheidet sie zwischen verschiedenen Stress-Leveln und wechselt entsprechend bei geringem Stress von 01 bis hoch auf 03 bei hohem Stress. Dieser Modus wird auch für 3D Anwendungen im Fenster Modus oder für Aero Glas unter Vista / Windows 7 benutzt.
  • Clock Info 04,05,06: UVD / Hardware Accelerated Video. Dieser Modus ist nur von interesse falls ihr hardwarebeschleunigt Video Formate codiert / decodiert.
  • Clock Info 07,08,09: Accelerated 3D / Fullscreen Mode. Dieser Modus wird für Fullscreen 3D Anwendungen genutzt – also vor allem Spiele. Auch hier gilt, dass die 3 verschiedenen Clock Infos verschiedene Stresslevel bedeuten.
  • Clock Info 10,11,12: Thermal. In diesen State geht die Grafikkarte wenn sie feststellt, dass sie überhitzt. In diesem Zustand sollte sich die Grafikkarte bei normalen Betrieb niemals befinden und warscheinlich ist euer Kühler kaputt, sollte sie doch einmal in diesen States gelangen.
Beispiel: Mein BIOS, wie ich es konfiguriert habe

Beispiel: Mein BIOS, wie ich es konfiguriert habe. Meine GPU sit auf 800 MHz (+50) übertaktet und mein Speicher auf 1000 MHz (+100). Meine Voltages für den Low Profile / 2D State stehen auf 0.85V (250/250), 0.9V (350/250) und 1.0V (450/250).

Für alle States gilt: innerhalb eine Tripples sollte der Speichertakt konstant bleiben, da sich das Wechseln des Speichertaktes durch Flackern bemerkbar macht. Beim Wechseln von Low Profile / 2D nach Accelerated 3D / Fullscreen ist das flackern allerdings nicht warnehmbar bzw vernachlässigbar, da ohnehin vom Fenster- in den Vollbildmodus gewechselt wird.

Als nächstes übernehmen wir die Werte, die wir vorher beim Über- und Untertakten ausgelotet haben in die entsprchenden Powerplay States. Die Werte aus dem Übertakten kommen nach Clock Info 00 (Boot) und von Clock Info 04 bis Clock Info 09 (Video de-/encoding + Accelerated 3D). Für den Low Profile / 2D Modus benutzen wir unsere Werte vom Untertakten der Karte: In Clock Info 01 kommen die Werte für GPU 250 / RAM 250, nach Clock Info 02 die Werte GPU 350 / RAM 250 und nach Clock Info 03 die Werte GPU 450 / RAM 250. Die Voltage stellt ihr mithilfe des Dropdown Menu bei allen Clock Infos auf den höchsten Wert. Nur für Clock Info 01 stellt ihr die Voltage auf den niedrigsten, für Clock Info 02 auf den zweit niedrigsten und für Clock Info 03 auf den dritt niedrigsten. Damit die Grafikkarte auch die von uns ausgeloteten Spannungszahlen nutzt müssen wir diese nun noch in die “Voltage Registers” eintragen. Klickt dazu auf den “View / Change voltage registers” Button. Das mit 0×15 beschriebene Register gibt dabei den Wert 0 des Voltage Tables an (haben wir für Clock Info 01 eingestellt), das mit 0×16 beschriebene Register den Wert 1 des Voltage Table (Clock Info 02) usw an. Wir ändern nun also den Wert von 0×15 auf den kleinsten Spannungswert den wir mit GPU 250 / RAM 250 Taktung erreicht haben. Den Wert von 0×16 auf den niedrigsten Spannungswert mit GPU 350 / RAM 250 und den Wert von 0×17 auf den niedrigsten Spannungswert mit GPU 450 / RAM 250. 0×18 lassen wir unverändert.

Schitt 4: Lüfter anpassen

Als letzte Anpassung im BIOS werden wir nun die Lüftersteuerung etwas anpassen und verbessern. Dazu wählen wir den Tabulator “Fan settings”. Im sich öffnenden Menu suchen wir die Option “Use transfer function (recommended)” und aktivieren sie, falls dies noch nicht der Fall ist. Als nächstes stellen wir den Wert für “Tmin(°C)” auf 55 und den Wert für “Tmax(°C)” auf 100. “Duty cycle min (%)” sollte auf 0 stehen. Diese Einstellungen sollten den Lüfter im Schnitt etwas schneller drehen lassen als die Default Konfiguration und somit die GPU auf einem niedrigerem Betriebsmittel halten.

Schritt 5: BIOS flashen

Im letzten Schritt werden wir das BIOS auf die Grafikkarte flashen. Dazu speichern wir zunächst unser modifiziertes BIOS, zB mit der Bezeichung VGA-BIOS.ROM. Als nächstes brauchen wir ein Boot-Medium, zB einen bootfähigen USB Stick. Wie ihr euren USB Stick bootfähig bekommt wird euch hier sehr gut beschrieben. Zusätzlich zum DOS System muss natürlich noch ATIFlash und sowohl euer modifiziertes als auch das original BIOS auf den USB Stick kopiert werden. Das original BIOS ist besonders wichtig, damit ihr im Fall von einem Fehler eure Grafikkarte vor dem tristen Zombiedasein retten könnt, also nicht vergessen! Bootet dann von eurem Stick und führt folgenden Befehl aus:

atiflash -f -p 0 VGA-BIOS.ROM

Natürlich unter der Voraussetzung, dass ihr euer BIOS VGA-BIOS.ROM genannt habt. Sollte alles geklappt haben könnt ihr nun euren Computer neu starten und kommt in den vollen Genuss euerer neu konfigurierten und optimierten 4870. Sollte nicht alles geklappt haben dann solltet ihr noch Schritt 6: Troubleshooting lesen.

Schritt 6: Troubleshooting

Ok, ihr habt also euer BIOS geflasht und nun macht euer Computer Ärger oder läuft garnicht mehr? Ich hab euch ja gewarnt – aber ich lass euch nicht allein. Zunächsteinmal ist es wichtig ob euer Computer garnicht mehr startet oder aber ob er wärend des Bootens, kurz danach oder irgendwann wärend des Betriebs ausfällt. Sollte ersteres der Fall sein (der Computer startet garnicht mehr) wird es etwas umständlicher – und ich hoffe ihr habt eure Ersatzgrafikkarte bereitliegen. Sollte euer Computer jedoch noch starten, aber wärend des Bootens oder dem regulären Betrieb abstürzen, Artefakte produzieren, oä könnt ihr einfach erneut von eurem USB Stick booten und mithilfe von dem ATIFlash Tool wieder euer original BIOS aufspielen. Vorausgesetzt das BIOS hat eure Grafikkarte nicht beschädigt sollte alles wieder beim alten sein. Alternativ könnt ihr auch noch versuchen die Details eurer BIOS Einstellungen anzupassen und dieses dann erneut zu flashen (zB das Overclocking etwas reduzieren oder die Volt zahlen beim Underclocking etwas anheben).

Startet euer Computer jedoch garnicht mehr müsst ihr eure Ersatzgrafikkarte einbauen. Dazu müsst ihr bei den meisten Boards eure normale Grafikkarte zunächst ausbauen und die Ersatzkarte an den ersten PCIe Slot hängen, damit der Computer diese für die Anzeige benutzt. Eure normale Grafikkarte baut ihr in den zweiten PCIe Slot eures Motherboards ein. Ihr habt keinen zweiten PCIe Slot? Dann müsst ihr euch eine PCI Grafikkarte besorgen. Sobald ihr mit eurer Ersatzkarte vom USB Sick gebootet habt könnt ihr euer original BIOS auf eure normale Karte zurückflashen indem ihr folgenden Befehl ausführt:

atiflash -f -p 1 VGA-ORIG.ROM

Wobei ihr naürlich VGA-ORIG.ROM durch den Namen eures original BIOS Files ersetzt, dass ihr hoffentlich mit auf den Stick kopiert habt. Wichtig ist auch, dass ihr hier -p 1 nutzt. Dies teilt dem Flash Tool mit, dass ihr die Karte am PCIe Slot 1 und nicht am Slot 0 flashen wollt. Solltet ihr hier die falsche Karte flashen müsst ihr euch warscheinlich eine weitere Ersatzkarte besorgen um das BIOS eurer Ersatzkarte wieder herzustellen ;)

Ich hoffe euch hat der Guide gefallen und euch einen kleinen Einblick in das 4870 Over- und Underclocking beschert ohne euch zuviel Frustration zu bereiten. Overclocking und BIOS Modifikationen sind aber nunmal heikle Themen – ich selbst habe mein BIOS fast 30 mal geflashed, bis es endlich lief, wie ich es wollte. Man sollte etwas geduld mitbringen und es ist keine Schande, wenn’s nicht gleich beim ersten mal funktioniert.