Anleitung BIOS einer Radeon-HD-7000-GPU modifizieren

Tapion3388

Lt. Commander
Dabei seit
Nov. 2007
Beiträge
1.438
#1
Hallo Community!
Nachdem es nach Release der HD7000-Reihe zunächst kein Tool gab, um das BIOS (basic input output system) nach eigenen Vorstellungen zu modifizieren, möchte ich euch mit dieser Anleitung einen recht einfachen Weg präsentieren, um das auf eurer Karte befindliche BIOS zu verändern. Hier gehts zum Diskussionsthread.

Inhaltsverzeichnis

1) Motivation
2) Warnhinweise und benötigte Tools
3) Durchführung
4) Verhalten im Fehlerfall
5) Fazit
6) Quellen



1) Motivation

Die Gründe, warum ich mich mit dem Modden meiner HD 7950 beschäftigt habe, sind schnell gefunden. Das Übertakten wird, je nach Modell und BIOS-Version, durch das Power-Limit und voreingestellte Maximalwerte stark beeinträchtigt. So ist bei meiner GPU ein maximaler Chiptakt von 1100 MHz erlaubt, obwohl die GPU sicherlich noch zu mehr in der Lage ist.
Außerdem lässt sich das Power-Limit lediglich im Bereich -20 % bis +20 % einstellen. Bei starker Übertaktung ist die Grafikkarte dann nicht mehr in der Lage, den eingestellten Chiptakt zu halten und taktet herunter.

Ein weiterer Aspekt ist eine Problematik, die auch in den Tests von Computerbase immer wieder zur Sprache gebracht wird: Bei hardwarebeschleunigter Videoausgabe, bspw. der Blu-Ray-Wiedergabe, läuft der Grafikkarten-VRAM auf der maximalen Frequenz und taktet nicht herunter. Das hat einen, im Vergleich zur Konkurrenz von Nvidia, erhöhten Stromverbrauch zur Folge.
Um dies abzumildern, werde ich unter Punkt 3) zeigen, wie man den Takt für diesen Modus senken kann. Vorneweg: Ganz nach Belieben konnte ich den Takt nicht absenken. Es hat schon seinen Grund, warum die Karten nicht im "Idle"-Modus laufen, dazu aber später mehr.

Viele dieser Punkte lassen sich auch mit dem bekannten Tool Afterburner umsetzen. Dafür muss man allerdings den "inoffiziellen Overclocking-Modus" aktivieren. Dieser ist jedoch dafür bekannt, für Flackern und andere Fehler (kein ZeroCore-Power) zu sorgen, so auch bei mir. Das Modifizieren des BIOS hat den Vorteil, dass es im laufenden Betrieb zu keinen Nachteilen kommt (zumindest sind mir noch keine aufgefallen) und man mehr Möglichkeiten als mit dem Afterburner hat. Außerdem haben viele Karten der HD 7000-Serie (alle?) ein Dual-BIOS und so ist selbst ein Fehler während des Flashens noch nicht der Todesstoß für die Grafikkarte.


2) Warnhinweise und benötigte Tools

Bevor ihr mit dem Modden beginnt, einige Warnhinweise: Durch das Modifizieren des BIOS erlischt eure Garantie unwiderruflich!
Das Modifizieren des BIOS erfolgt auf eigene Gefahr, ich übernehme keine Haftung für Schäden an eurer Hardware!
Ich rate dringend vom Modifizieren ab, sollte eure Grafikkarte nicht mit einem Dual-BIOS ausgestattet sein (Schalter zum Wechseln befindet sich auf der Karte). Diese Anleitung bezieht sich auf das Flashen bei einer verbauten GPU. Wenn ihr euch nicht sicher seid was ihr tut, lasst es sein.

Für die Durchführung benötigt ihr die folgenden Tools:

3) Durchführung


3.1) GPU-Z

Zunächst ladet ihr alle aufgelisteten Programme herunter. Öffnet nun GPU-Z und speichert euer BIOS, indem ihr auf den Button "Save BIOS" (Chip mit grünem Pfeil) rechts neben der BIOS Version klickt und "Save to file" auswählt.
Wichtig: Nachdem ihr das BIOS gespeichert habt legt sofort eine Kopie an! Diese dient als Backup, falls das Modden fehlschlägt!

GPU-Z.png

3.2) VBE7

Startet nun das Kernstück, den VBE7 und öffnet das abgespeicherte BIOS. Im Reiter "PowerPlay" könnt ihr die Taktraten und Chipspannungen für die verschiedenen "states", also Idle, Videowiedergabe (= UVD) und Last, verändern. Beachtet, dass es nicht möglich ist, die Spannungen für die Modi Idle und UVD zu verändern (ist aber auch nicht nötig). Außerdem ist es nicht möglich, die Taktraten für Idle und UVD höher einzustellen als bereits im BIOS eingetragen, da Powerplay sonst nicht mehr funktionieren würde.
Ich empfehle dringend, keine zu hohen Werte für Spannung oder Taktraten einzutragen und jede Änderung vorher mit einem Tool wie Afterburner auf Stabilität zu überprüfen, sonst zerstört ihr im Handumdrehen eure Karte!

VBE7-1.png

Ich persönlich benutze weiterhin den Afterburner und habe deswegen keinerlei Änderungen am Lastzustand vorgenommen. Um den Stromverbrauch zu reduzieren, müsst ihr den Speichertakt unter "State 2 - UVD" #5 verringern. Mit meiner Karte war es mir möglich, den Speicher auf 800 MHz zu untertakten, darunter traten allerdings Instabilitäten (Flackern während der Wiedergabe, Resets des Treibers) auf. Da ich keine Erfahrungswerte habe, müsst ihr den für euch passenden Wert selbst ermitteln.

Im Reiter Overdrive & PowerTune lassen sich nun die Beschränkungen, die für das Übertakten gelten, erweitern. Ihr könnt hier den maximalen Takt für Chip und VRAM sowie das TDP-Limit erweitern, um stärker übertakten zu können.
Hinweis: Eine Änderung des TDP-Limits überträgt sich automatisch auf das verwendete Power-Limit:

VBE7-2.png

Zu guter Letzt lässt sich noch eine eigene Lüfterkurve erstellen, falls ihr dies nicht mit einem Tool wie Afterburner machen möchtet. Das ist nützlich, da sich sogar die minimale Lüfterdrehzahl ändern lässt. Da die Lüfter bei einer zu geringen Spannung allerdings gar nicht erst anlaufen, muss eine Änderung hier unbedingt auf Funktionsfähigkeit getestet werden!

VBE7-3.png

Seid ihr nun fertig mit den Änderungen, speichert das BIOS unter einem aussagekräftigen Namen ab und weiter gehts.


3.3) HP Tool + unetbootin

Für den nächsten Schritt braucht ihr einen leeren USB-Stick. Verbindet diesen mit dem PC und startet das HP USB Disk Storage Format Tool als Administrator. Wählt den Stick aus und formatiert ihn (FAT32 und "quick format" auswählen). Achtung: Dies löscht alle Daten auf dem Stick! Nachdem das Formatieren erfolgreich war, könnt ihr das Tool wieder schließen.
Der nächste Schritt ist entweder mit "unetbootin" oder "YUMI" durchzuführen. Zu letzterem gibt es hier im Forum bereits einen guten Thread. Im weiteren Verlauf werde ich allerdings nur auf unetbootin weiter eingehen, da ich mit dessen Verwendung geübter bin.

Startet also unetbootin und wählt als Distribution "FreeDOS" aus. Am unteren Rand des Programms wählt ihr euren Stick aus, falls nicht automatisch geschehen. Mit "OK" wird der Stick bootfähig gemacht.

unet.png

Ist die Installation beendet, startet nicht neu und klickt auf Beenden. Kopiert nun sowohl die "atiflash.exe", als auch das von euch bearbeitete BIOS und das als Backup dienende BIOS in das Hauptverzeichnis des Sticks.
Um euch Ärger zu ersparen bennent die verschiedenen BIOS-Versionen aussagekräftig und benutzt keine Sonderzeichen und Umlaute, da FreeDOS mit diesen Schwierigkeiten hat (-> Meine beiden Versionen tragen den Namen "Bios.rom" und "Backup.rom").


3.4) Der Flashvorgang

Nun könnt ihr den PC neustarten und vom USB-Stick booten. Solltet ihr nicht wissen wie das geht, solltet ihr besser die Finger vom Modden lassen oder Google bemühen ;).
Im FreeDOS wählt ihr "5. FreeDOS Live CD only" aus.
Hinweis: Die nächsten Befehle müssen im amerikanischem Tastaturlayout eingegeben werden.
Navigiert in der Eingabeaufforderung auf euren Stick (C: ) und vergewissert euch mit "dir", dass alle erforderlichen Dateien auf dem Stick sind. Gebt nun
Code:
atiflash -ai
ein (ohne "1."). Eure Karte muss als Adapter 0 erkannt werden.
Jetzt flasht ihr das neue BIOS mit dem Befehl
Code:
atiflash -p 0 biosname.rom
auf eure Karte, "biosname" ist dabei der Name eures bearbeiteten BIOS'. Gebt also bspw.
Code:
atiflash -p 0 BIOS.rom
ein, wenn eure Datei "BIOS.rom" heisst.
Ist der Flashvorgang beendet, könnt ihr den PC neustarten und den USB-Stick entfernen (vergesst nicht, eure HDD/SSD als First Boot Device festzulegen).
Ist alles glatt gegangen, bootet euer PC wie gewohnt und im Afterburner etc könnt ihr nun prüfen, ob die von euch getroffenen Änderungen greifen.
Solltet ihr mit den Änderungen nicht zufrieden sein, könnt ihr die Schritte wiederholen und euer altes BIOS wieder auf die Karte flashen.

Hinweis: Da ich selber kein Crossfire-System habe und ein mögliches Vorgehen deswegen nicht selber testen kann, schlage ich bei einem solchen System folgendes vor: Karten ausbauen, einzeln anschließen, wie beschrieben flashen, PC wieder ausschalten und Schritt wiederholen.
Alternativ zitiere ich meine Quelle [2]:
"Hinweis: Beim flashen von X2 Karten oder jeglichen Karten mit zwei GPUs sollte zuerst der Slaveadapter geflasht werden, danach die Masterkarte...
Welcher Adapter Master/Slave ist, lässt sich ebenso aus der erzeugten Übersicht von "ATIFLASH -ai" rauslesen.
Ebenso müssen bei X2 und Dual Karten beide Adapter in einem Zug geflasht werden, der Rechner sollte dazwischen nicht neugestartet werden (auch wenn das Tool eine derartige Meldung ausgibt!)"


4) Verhalten im Fehlerfall

Sollte eure Karte nach dem Flashvorgang nicht mehr funktionieren oder der Monitor kein Bild mehr anzeigen, bewahrt Ruhe. Schaltet den PC aus und wechselt auf das zweite BIOS, indem ihr den Schalter an eurer Karte betätigt. Startet den PC nun, der Monitor sollte wieder ein Bild anzeigen. Bootet wieder in das FreeDOS, betätigt direkt vor dem Flashvorgang den Schalter an eurer Karte (das defekte BIOS ist nun wieder geladen) und flasht (wie oben beschrieben) das Backup eures Original-BIOS auf die Karte. Startet den PC anschließend neu, die Grafikkarte ist wieder im ursprünglichen Zustand.


5) Fazit

Ihr solltet nun in der Lage sein, eure Grafikkarte nach euren Wünschen zu modifizieren, so dass ihr bspw. höher Übertakten könnt und eure Karte weniger Strom bei der Wiedergabe von Blu-Rays verbraucht.
Aufgrund fehlender Hardware kann ich momentan leider nicht prüfen, ob dieser Vorgang auch auf den neuen R7/9-GPUs inkl. GCN1.1-GPUs funktioniert. Ich werde die Anleitung ggf. aktualisieren, sobald ich mehr weiss.

Über Anregungen und Fragen bin ich sehr dankbar, schreibt dazu einfach in den passenden Diskussionsthread.


Viele Grüße
Michael


6) Quellen

 
Zuletzt bearbeitet:
Top