RDNA3 Powertarget unter Linux

Natriumchlorid schrieb:
Ich würde gern mein Verständnis bezüglich RDNA3 und dem einstellbaren Power-Target erweitern.

Sapphire selbst rät zu einem Netzteil mit mindestens 800W und beschreibt die maximale Leistungsaufnahme mit 420W. Mein Netzteil hat 850W, die GPU ist mit 3 seperaten PCIe-Kabeln verbunden und selbst mit massiv herab gesetzem PT, kann ich Werte von bis zu 441W beobachten (Abstürze mit wahrscheinlich höherer Leistungsaufnahme mal ausgenommen).

Ich bin mir bewusst, dass die langfristige und effektive Lösung hier ein stärkeres Netzteil ist und das ist auch geplant (auch wenns meiner Meinung nach absurd ist). Die massiv herab gesetzte Leistung diente zum eigenen Verständnis während des Testvorgangs. Mir geht es aber primär darum zu verstehen, weshalb die Grafikkarte nicht das eingestellte Power-Target respektiert, bzw. weshalb die Karte solch heftigen Leistungsspitzen ausgesetzt ist. Ist solch Verhalten auch unter Windows zu sehen?
Lies dich mal hier ein, vielleicht erklärt das dein Problem, und du kannst dir damit ein stärkeres Netzteil mit 1000Watt+, welches sehr viel mehr Geld kostet ersparen, indem du dir ein ATX 3.0 Netzteil besorgst mit derselben Leistung von ca. 800 Watt?

https://www.caseking.de/blog/atx-3-0/
Neuere Grafikkartenmodelle genehmigen sich gerne einmal das doppelte ihrer Total Board Power (TBP). Diese kurzzeitigen Leistungsspitzen (Transient-Loads) halten zwar nur Sekundenbruchteile an, fordern das Netzteil dafür aber extrem. Damit Hardwareschäden und nervige Abstürze vermieden werden können, ist einer der Kernpunkte von ATX 3.0 eine höhere Toleranz gegen solche Leistungsspitzen.
Kurz erklärt: Ein ATX-3.0-Netzteil muss für 0,1 ms die dreifache Nennleistung zur Verfügung stellen können und für 10 ms die doppelte.
 
  • Gefällt mir
Reaktionen: Tanzmusikus, drake23 und Natriumchlorid
Ist es eigentlich möglich anstatt das PT die Spannung zureduzieren unter Linux genauso wie bei Windows?. Ich fange gerade erst an mit Linux.

Die Peaks kommen häufig bei starken lastwechsel. Da könntest du gegensteuern in dem du den Min Takt der Karte anhebst und den maxtakt etwas reduziert. Mit dem PT erreichst bei diesem Problem nicht viel.
 
Northstar2710 schrieb:
Ist es eigentlich möglich anstatt das PT die Spannung zureduzieren unter Linux genauso wie bei Windows?
Ja, ab dem Kernel 6.7 ist das auch mit RDNA3 möglich. Siehe dazu #1.
Natriumchlorid schrieb:
Dank dem 6.7 Kernel hab ich nun die Möglichkeit das Voltageoffset und die Lüfter bei RDNA3 manuell zu konfiguieren.

Northstar2710 schrieb:
Da könntest du gegensteuern in dem du den Min Takt der Karte anhebst und den maxtakt etwas reduziert.
Das halte ich für keine gute Idee. Ich will nicht das Taktungsverhalten meiner Karte in dem Masse einschränken oder beeinflussen. Als ich mit dem Undervolting gespielt habe, hab ich gesehen, dass meine 7900 XTX auch mal gern bis 3180 MHz hochgeht. Während der Tests mit SotF hab ich mit einem Limit von 2400 MHz gespielt, also weit unter dem, was die Karte drauf hat. Trotzdem waren die Abstürze vorhanden.

Letztlich konnte ich mit einfachen technischen Massnahmen den enormen Lastspitzen nicht sinnvoll entgegen wirken. Deshalb hab ich ein neues Netzteil mit ATX 3.0 Standard gekauft und warte nun bis sie eintrifft.
 
Natriumchlorid schrieb:
Während der Tests mit SotF hab ich mit einem Limit von 2400 MHz gespielt, also weit unter dem, was die Karte drauf hat. Trotzdem waren die Abstürze vorhanden.
Du hast den min Takt aber nicht angehoben.

Peaks kommen bei starken Last Wechsel, 10-> 100 % geht ja in Millisekunde. Wenn der Takt aber nicht so stark abfällt, ist auch die Aufgewende Energie nicht mehr so stark. Rdna hat nunmal das Problem das der Takt sehr schnell abfällt.

Probier es mal aus. Mit meine 7800xt hatte ich unter Windows min.2300mhz max 2400 MHz. Spannung zusätzlich reduziert, und nur 1-2% Performance Verlust dafür stabilere Frametimes. Und weniger Verbrauch.

Das würde ich gerne unter Linux auch einstellen.
Ergänzung ()

Vor hin durch Zufall drüber gestolpert, Mesa 24 wird die RT Leistung teils verbessern https://www.phoronix.com/news/RADV-RT-Much-Faster-Mesa-24.0
 
Bisschen OT aber vielleicht hilft es ja wem:
Voltage Offset, GPU min/max und Speicher können jetzt auch für RDNA2 wieder eingestellt werden.
Das entsprechende Ticket ist zwar noch offen, der Fix hat es aber scheinbar trotzdem in Kernel 6.7.0 geschafft :daumen:
 
  • Gefällt mir
Reaktionen: drake23 und Natriumchlorid
Interessanter Thread. Erinnert mich stark an meine Erfahrungen mit meiner 5700XT damals, die musste ich auch mit den gängigen Tools etwas zähmen damit sie relativ stabil lief.

Bei meiner aktuellen 7900XT habe ich glücklicherweise noch keine Probleme, ich spiele allerdings auch eher mit fps limit und aktuell auch tendenziell weniger. Wobei ich das CP77 Addon durchgespielt hatte.
 
ownagi schrieb:
Voltage Offset, GPU min/max und Speicher können jetzt auch für RDNA2 wieder eingestellt werden.
Das entsprechende Ticket ist zwar noch offen, der Fix hat es aber scheinbar trotzdem in Kernel 6.7.0 geschafft :daumen:
Das geht mit RDNA2 doch schon lange (RX6600XT mit 6.6.11). Die Werte habe ich vor langem in CoreCtrl angepasst:
Bash:
> cat /sys/class/drm/card*/device/pp_od_clk_voltage
OD_SCLK:
0: 700Mhz
1: 2600Mhz # angepasst
OD_MCLK:
0: 97Mhz
1: 1050MHz # angepasst
OD_VDDGFX_OFFSET:
-50mV # angepasst
OD_RANGE:
SCLK:     500Mhz       3150Mhz
MCLK:     674Mhz       1200Mhz
Gab es da mit anderen RDNA2-Karten Probleme?
 
  • Gefällt mir
Reaktionen: Natriumchlorid und drake23
Jep, gab es, @rarp. Ich weiß allerdings nicht, ob alle Modelle/Hersteller betroffen waren.

Wundert mich auch, dass es bei dir läuft. Die Speicherfrequenz (State 0) ist auch in deiner Konfiguration außerhalb der zulässigen Range (OD_RANGE -> MCLK).

CoreCtrl hat mit gesetzter ppfeaturemask lange nur das Voltage Offset und die min. GPU-Frequenz und nicht noch die max. GPU-Frequenz und die Speicherfrequenz angezeigt.
Beim Ändern der Werte gabs sofort nen Freeze.

Ein Modifizieren der einzelnen Parameter gefolgt vom Anwenden (echo "c" > ...) hat direkt in bunt flackernden Artefakten geendet.

Hier das Ticket zu dem Thema: https://gitlab.freedesktop.org/drm/amd/-/issues/1706

Laut den Kommentaren dort ist so ziemlich jedes Modell der Serie betroffen. Heißt natürlich nicht, dass jede Karte in jeder Konstellation betroffen ist. Jemand hat sich auch die Mühe gemacht das Ganze mit verschiedenen Kerneln runter bis 5.11.0 zu testen und war nicht erfolgreich.
Bei mir lief es dann auch erst mit 6.7.0.

Nachtrag: Witzigerweise kommt noch immer die Meldung "Detected out of range state index 0 on control MCLK", aber übernommen werden die Werte trotzdem und diese (extrem niedrigen) Werte hatten auch Auswirkungen auf die Performance und das Spulenfiepen.
 
Zuletzt bearbeitet:
ownagi schrieb:
Wundert mich auch, dass es bei dir läuft. Die Speicherfrequenz (State 0) ist auch in deiner Konfiguration außerhalb der zulässigen Range (OD_RANGE -> MCLK).
Ich hoffe, wir bringen da jetzt nicht Dinge durcheinander:
Am Bogus-MIN-Wert von OD_MCLK: 0: 97Mhz hat sich nichts bei mir auch nichts geändert. Den Max-Wert OD_MCLK: 1 sowie weitere Werte kann ich problemlos anpassen.
Vor einem Jahr hat der Entwickler von CoreCtrl daran geschraubt (ganz unten):
I've added into master a workaround to ignore the bogus minimum memory frequency. Now, you should be able to also control the maximum memory frequency.
So sieht das bei mir aus:
Screenshot_20240116_201959-1.png
Die Grün umrandeten Felder habe ich angepasst.
 
  • Gefällt mir
Reaktionen: drake23
Ich nutze seit etlichen Kerneln das PowerTarget bei meiner rx6600. Das ging immer verlässlich. Aber jetzt werde ich auch mal an einzelnen Voltages rumprobieren.

Ist Corectl da das Tool/GUI der Wahl? War sonst immer auf der Konsole unterwegs
 
ownagi schrieb:
Nachtrag: Witzigerweise kommt noch immer die Meldung "Detected out of range state index 0 on control MCLK", aber übernommen werden die Werte trotzdem und diese (extrem niedrigen) Werte hatten auch Auswirkungen auf die Performance und das Spulenfiepen
Welche Werte hast du jetzt, und welchen Einfluss hatte das auf die Performance?
 
So sieht das bei mir seit 6.7.0 aus:
Bildschirmfoto vom 2024-01-16 21-48-04.png

Zuvor haben die rechten zwei Regler gefehlt.
Power Target (@drake23) kann ich z.B. noch immer nicht einstellen, ist aber nicht schlimm, da das ohnehin durch die Spannung indirekt beeinflusst wird.

@rarp: Einfluss auf die Performance: Minimal mehr FPS (rudimentär nach dem Start von D4 bei gleicher Szene im Kopf gemittelt) und das Fiepen ist deutlich zurückgegangen.
Standard sind: 0, 500/2514, 1000
Getestet habe ich auch mit deutlich niedrigeren Werten, um festzustellen, ob die Änderungen tatsächlich eine Auswirkung haben.

Zuvor konnte ich keinen der Werte ändern, weder über CoreCtrl noch direkt in den Files.
Das Problem, auf das ich anspiele, ist die OD_RANGE, die bei der Speicherfrequenz eigentlich min. 96/97MHz sein müsste, lt. Konfiguration aber 674Mhz ist.
 
  • Gefällt mir
Reaktionen: rarp und drake23
ownagi schrieb:
So sieht das bei mir seit 6.7.0 aus:
Mir fällt grad auf, dass deine Karte in CoreCtrl als GPU-0 angezeigt wird. Als ich damals die Bug Reports bei CoreCtrl und drm erstellte, war das bei mir auch noch so. Mittlerweile wird beinahe das richtige Modell angezeigt.

ownagi schrieb:
Das Problem, auf das ich anspiele, ist die OD_RANGE, die bei der Speicherfrequenz eigentlich min. 96/97MHz sein müsste, lt. Konfiguration aber 674Mhz ist.
Ja, aber in CoreCtrl wird im Widget oben links die korrekte Frequenz angezeigt, oder? Bei mir zurzeit 96 MHz.

Hattest du nach Installation von 6.7 nochmal sensors-detect ausgeführt? Keine Ahnung, ob's was bringen würde, kann ja nicht schaden.
 
  • Gefällt mir
Reaktionen: ownagi
Danke für die Idee mit sensors-detect, hatte ich nicht ausgeführt aber gerade nachgeholt.
Ergebnis bleibt identisch. Mit [GPU 0] habe ich mich irgendwie schon abgefunden aber vielleicht besteht da wirklich ein Zusammenhang!
Die korrekten Werte wurden schon immer angezeigt. Der Speicher hat bis unter 100MHz runter getaktet. Ebenso gingen die Taktraten (Speicher, GPU) bei Last entsprechend hoch. Es hat quasi alles funktioniert wie es standardmäßig sollte. Ich konnte lediglich die OC/UV-Features nicht nutzen.

Hier nochmal ein Screenshot nach sensors-detect (ausgeführt mit vorgegebenen Empfehlungen) inkl. anschließendem Neustart:
Bildschirmfoto vom 2024-01-17 00-13-37.png

PS: Danke für das ICODE-Beispiel, kannte ich noch nicht :D
 
  • Gefällt mir
Reaktionen: rarp
Snakeeater schrieb:
Interessanter Thread. Erinnert mich stark an meine Erfahrungen mit meiner 5700XT damals, die musste ich auch mit den gängigen Tools etwas zähmen damit sie relativ stabil lief.

Bei meiner aktuellen 7900XT habe ich glücklicherweise noch keine Probleme, ich spiele allerdings auch eher mit fps limit und aktuell auch tendenziell weniger. Wobei ich das CP77 Addon durchgespielt hatte.
Lustig das ich hier schonmal gespotet habe. Ich habe mittlerweile auch das Problem von sporadischen Abstürzen. Häufig auch wenn ich einfach nur ein Video in Freetube oder per MPV abspiele. Ich bin mir nicht zu 100% sicher ob Abstürze auch auftreten wenn ich nur auf dem Desktop idle.

Es gibt aber wohl auch dazu irgendwo nen Bugerepost bzgl. Videoencoding.

Ich bin mittlerweile auf Kernel 6.8 irgendwas. Ich würde übers Wochenende mal probieren nun meine Karte auch mit Corectl (oder ich schau mir mal LACT an) etwas zu bändigen und schauen ob es irgendwie dadurch stabiler wird, das tat es damals bei meiner 5700 XT.
 
Wie äussern sich deine Abstürze? Wird der Bildschirm schwarz und lässt sich dein Rechner nicht mehr über den Powerschalter bändigen? Gehen die GPU-Lüfter sofort aus? Welche RDNA3-Karte hast du im Einsatz?

Ich bin auch derzeit auf 6.8.2-zen unterwegs (mit CoreCtrl 1.4.0-2) und bin mittlerweile zufrieden.

Was etwas sauer aufstösst, ist der Fakt, dass wir bei RDNA3 grundsätzlich nicht mehr so viele Freiheiten haben, wie es bei RDNA1 noch der Fall gewesen ist.

Das Setzen der Lüfterkurve, Voltage Offset und Powertarget funktioniert mit CoreCtrl mittlerweile wieder nach es gepatched worden ist.
Aber der Lüfter geht automatisch aus, wenn der Hotspot <=50°C erreicht hat und springt wieder an wenn entweder der VRAM 75°C überschritten hat oder eine signifikante Belastung auf der Karte liegt. Der Lüfter kann leider nicht mehr permanent auf niedriger Drehzahl laufen, wie es bei RDNA1 (5700 XT) noch der Fall gewesen ist. :(

SotF hab ich seit den Abstürzen nicht mehr probiert, aber ich würd dem die nächsten Wochen nochmal eine Chance geben, da es zum einen aus dem Early Access raus ist und zum anderen interessierts mich auch, ob das Verhalten sich in irgendeiner Form geändert hat im Laufe der neueren Kernel-Versionen.
 
Natriumchlorid schrieb:
Wie äussern sich deine Abstürze? Wird der Bildschirm schwarz und lässt sich dein Rechner nicht mehr über den Powerschalter bändigen? Gehen die GPU-Lüfter sofort aus? Welche RDNA3-Karte hast du im Einsatz?
RX 7900 XT, Bildschirm wird nicht schwarz sondenr das Bild friert ein und der Sound looped sich bzw. geht weiter. Die Powertaste macht nichts, man muss schon richtig einen Reset machen, aber ich warte meist bis sich der PC selbst neustartet (Wayland). Was die GPU Lüfter machen weiß ich nicht, kann ich aber beim nächsten mal checken.

Gibts irgendwelche Werte die man mit Corectl testen sollte? Ich hab gelesen die factory defaults wären eine Anlaufstelle?

Edit:
Was ist SotF? :p
 
Snakeeater schrieb:
Bildschirm wird nicht schwarz sondenr das Bild friert ein und der Sound looped sich bzw. geht weiter.
Hab das unter 6.7 (stable) auch mehrfach beobachten dürfen. Hatte den Eindruck der Release war etwas buggy (ohne handfeste Evidenzen zu haben), wenn selbst unter geringer Last die GPU hängen bleibt. Mit 6.8 hab ich bis dato keine Probleme gehabt. Finds interessant, dass es bei dir noch mit 6.8 auftritt. Das würde das Argument des Zusammenhangs mit dem Kernel entkräftigen.

Snakeeater schrieb:
Gibts irgendwelche Werte die man mit Corectl testen sollte?
Kommt drauf an, was du erreichen willst.

Mit der 7900 XTX bin ich derzeit bei nem Voltageoffset von -58 mV, begrenze den maximalen Takt auf 3 GHz und hab das Powerlimit auf 291W stehen. Die Lüfterkurve hab ich derzeit ziemlich aggressiv eingestellt (70°C / 50%), da es in meinem Gehäuse zum Hitzestau kommt und ich derzeit noch keine Motivation hatte alles in ein Neues zu migrieren. :D

SotF = Sons of the Forest
Das ist der Spieltitel bei dem ich erstmalig so viele Crashes hatte, dass ich angefangen habe mich mit dem Powertarget, etc. zu beschäftigen, weshalb dieser Thread entstanden ist.
 
Natriumchlorid schrieb:
Hab das unter 6.7 (stable) auch mehrfach beobachten dürfen. Hatte den Eindruck der Release war etwas buggy (ohne handfeste Evidenzen zu haben), wenn selbst unter geringer Last die GPU hängen bleibt. Mit 6.8 hab ich bis dato keine Probleme gehabt. Finds interessant, dass es bei dir noch mit 6.8 auftritt. Das würde das Argument des Zusammenhangs mit dem Kernel entkräftigen.
Ja ich spiele aktuell nur Helldivers 2 und das hatte bis vor kurzem auch Probleme die zu crashes führten. Aber ich bin mir sicher das die Crashes ohne große Last auch unter 6.8 aufgetreten sind.
 
Zurück
Oben