Sapphire Pulse Radeon RX 570 4GB | Undervolting möglich?

  • Hallo,


    ich versuche seit einiger Zeit die Temperaturen meiner Grafikkarte runter zu regeln.


    Mein Case ist ein Macintosh SE 1/20. Die Öffnungen, die er hat sind alles was ich nutzen kann (und möchte) um die Abwärme abzuführen.

    Für die CPU klappt das ganz gut (max 80 °C - Stresstest CPU+GPU - 30 Min).

    Dabei war das Verringern der CPU Spannung entscheidend.



    Für die Grafikkarte habe ich schon das Case/Shroud neu aufgebaut.

    Mit zwei Ventilatoren und einer Art "Blowerstyle" Luftführung, die die warme Luft nach vorne und nach hinten raus abführt.


    Bei einem Stresstest der GPU via Luxmark steuert diese nach ca 30 Min auf 78 °C und idlet dort.

    Interessanterweise gilt das aber nur für bestimmte GPU Szenarien.

    Bei rechenintensiven 3D Darstellungen kommt die Karte viel schneller an die 79 °C und regelt die Performance von 1244 MHz um bis zu 200 MHz runter um den Temperatur threshold des Chips zu halten. Die Power-Angabe auf dem Screenshot bitte ignorieren. Zu dem Zeitpunkt hatte ich dort noch keine Werte in der Tabelle. Dort werden bei Vollast ca. 300 berechnete Watt angegeben...



    Jetzt bin ich über einen Beitrag von CMMChris "RADEON VII: MACOS BENCHMARKS, UNDERVOLTING, OVERCLOCKING, POWERPLAYTABLE & LÜFTERKURVE" gestossen und habe versucht rauszufinden, ob ich die Spannung auch bei meiner RX 570 via inject (oder anders) runter regeln kann um die Temperaturen zu senken.


    Ich habe derzeit keine Windows Partition auf meinem System.

    Wenn ich das ohne Windows lösen könnte wäre das super, wenn nicht, werde ich mir nach knapp zwei Jahrzehnten doch noch mal ein WinOS kaufen müssen...


    Danke,

    HDRI

    Edited once, last by HDRI ().

  • Erstmal sehr geile Idee und Top 3D Moddeling. Es werden ein Paar Top Leute aus dem Forum sich melden die dich an die Hand nehmen. Glaube ich ganz fest daran !!

    Next Hacki im Aufbau



    (Original) MacBook Pro 2018 Touch Bar mit vier Thunderbolt Anschlüssen, Core i5 - 8259U, 16GB DDR4, 512GB m.2 SSD Catalina 10.15


    Bitte keine Supportanfragen per PM bzw. auf meiner Pinnwand. Dafür ist das Forum da!

  • Die Polaris Karten haben auch eine PowerPlay Table, allerdings habe ich damit keiner Erfahrung und weiß auch nicht wie genau sich diese zusammensetzt. Die müsste man erstmal analysieren und zerpflücken um da was zu machen.


    Alternativ gibt es für Polaris Karten einen BIOS Editor. Das ganze ist halt aber insofern gefährlich als dass du die Karte damit killen kannst. Einmal z.B. zu wenig Spannung gesetzt und dann war es das.


    Für Linux gibt es ein paar Tools zum Editieren der PowerPlay Table. Dort liegt die PowerPlay Table dann unter "/sys/class/drm/card0/device/pp_table". Du kannst dir ja mal Ubuntu oder so mitsamt den AMD Treibern installieren und mal damit spielen.

    Ein Tool zum Editieren der PowerPlay Table das auch Polaris Karten unterstützt gibt es hier: https://github.com/amezin/powerplay-table-editor


    Rein theoretisch müsste man sich eine damit editierte PowerPlay Table auch in macOS reinladen können sofern das Format passt. Habe mich mit dem Linux Kram nie wirklich auseinandergesetzt.

    LG Chris


    Meine Hardware:

  • Danke CMMChris . Ich habe jetzt erstmal Windows 10 installiert um via AMD Wattmann die Vcore Anpassungen zu überprüfen. Ich habe die letzten 5 States um bis zu 125mV reduziert. Damit lief die Karte unter Last stabil und gute 7°C kühler.


    Original: 765, 950,1025, 1087, 1150, 1150, 1150

    Modded: 760, 925, 950, 1000, 1025, 1025, 1025


    Den zweiten Schritt, das Bios mit dem PolarisBiosEditor 1.7.2 zu editieren und via AMD/ATI ATIFlash zu flashen funktioniert so nicht. Und ja, am Anfang habe ich ziemlich geschwitzt. Vor allem als die Grafikkarte dann das erste mal nicht mehr lief. Bis jetzt konnte ich aber immer mit aktivierter iGPU in Windows booten und das original BIOS wieder aufspielen.


    Der Polaris Editor zeigt zwar die States und lässt mich die auch editieren, aber nachdem ich das BIOS mit diesen Einstellungen flashe bleibt die Karte danach tot. Ich kann durchaus das "originale" BIOS mit dem PBE öffnen, unter einem anderen Namen unverändert speichern und dieses "originale" BIOS erfolgreich flashen.


    Soweit habe ich gelernt, das ich die Einträge in einem Hex Editor vornehmen muss. Einige davon habe ich auch vermeintlich gefunden (z.B. Max Vcore hook - 0C 01 03 06 gefolgt von 38 C1 01 - den 115000 mVx100). Aber die Versuche die ich unternommen habe führten alle in die Sackgasse (Also mit dem Hex Editor ändern, dann mit dem PBE Checksum korrigieren und via ATIFlash aufspielen). Und ich bin mir überhaupt nicht sicher ob das überhaupt funktionieren kann ohne das mann die Driver patched (AMD/ATI Pixel Clock Patcher), was dann unter OSX eh für die Katz wäre...


    Nachdem ich jetzt also zu viele Foren Einträge in allen Farben des Webdings gelesen und alles Mögliche über Hash Werte und Bitcoinbums gelernt habe, hänge ich diesen Weg erstmal an den Nagel.


    Chris hatte wahrscheinlich recht, der Weg via Linux könnte erfolgreicher sein, da es dort Anhaltspunkte aus den "Definitons" bzw. dem "pp_table" gibt.


    Die verbesserten Temperatur Werte unter Last haben mich aber angefixt. Ich würde gene einen Haken hinter diesen Hackintosh machen und im Moment meine ich, das sei der eine Haken der noch fehlt...


    so long.

  • Lass das Gefummel am BIOS. Wie gesagt müsstest du theoretisch unter Linux eine passende PPT generieren können und die Daten dann nach macOS schieben - vorausgesetzt der Polaris Treiber unter macOS nimmt eine PowerPlay Table entgegen.

    LG Chris


    Meine Hardware:

  • Also bei mir hat das Undervolten mit der AMD 460 und em PBE einwandfrei funktioniert.

    Evtl. hast du was falsch gemacht.

    Bei den meisten Polaris BIOS kannst du nicht die mVolt Werte eingeben sondern must diese 652xx Werte (die einem entsprechenden Wert entsprechen) verändern. Und zwar in dem du diese Werte um 1 bis 3 reduzierst (weniger = weniger mV).

    Bei dem Bild als Beispiel 65288 auf 65287 oder 65286 bei der höchsten GPU CLK, die niedrigeren GPU CLK entsprechend auch etwas weniger (1-2 weniger) einstellen.

    PS: Das editieren des BIOS geht auch unter VMWARE, das Flashen mit ATIWinFlash natürlich nur unter Win nativ.

  • mitchde Die Veränderung der Referenz-Werte statt der konkreten Spannungsangaben hatte ich auch versucht. Ich habe bis jetzt aber keine einzige, editierte BIOS Version ans laufen bringen können. Sobald ich einen Wert ändere, z.B. nur die Lüfterleistung MED von 40% auf 50% oder den siebten Step von 65288 auf 65287, schluckt der ATIFlasher das zwar, aber die Grafikkarte wird danach nicht unterstützt, bzw. auch im BIOS nicht mehr erkannt. Bei ausgeschalteter iGPU krieg ich dan 5 BIOS Signaltöne und muss dann das CMOS flashen um via iGPU wieder Zugang zu bekommen.


    Bei meiner Recherche habe ich viele Beispiele gesehen bei denen das BIOS einer 470 oder 480 editiert und geflashed wurde. Konkret habe ich aber kein Beispiel für eine 570 oder 580 gesehen, wo die temp oder Vcore Angaben erfolgreich mit dem PBE editiert und mit dem ATIFlash aufgespielt wurden.


    Ich hänge noch mein original ROM mit dran.

    (Ich weiß ehrlich gesagt nicht wozu, but who knows, vielleicht fällt jemandem ja etwas auf)

  • Logbuch Nachtrag: Ende Gelände


    Ich habe in Ubuntu mit dem powerplay-table-editor den pp_Table meiner Karte auseinander gerupft, umgedreht, geschüttelt und mittlerweile resigniert aufgegeben. Wenn ich die editierte Hex Datei via sudo cp an Ihren Platz lege, schluckt Linux den pp_Table, die Karte verhält sich aber exakt wie vorher. Weder Fan noch VDDC Änderungen werden übernommen. Ich habe hierbei erstmal nur versucht einzelne Werte zu editieren deren Auswirkungen ich überprüfen kann.


    Beim Austauschen der pp_table sehe ich kurz eine horizontale Linie aufblitzen, was ich als Feedback interpretiere, das meine editierte pp_Table der Grafikkarte schon aufgefallen ist. Ich nehme aber an, das ihr das ganze auch ziemlich schnuppe ist.


    Ggf. ist das hier auch wie mit dem Zauberwörtchen, nur das ich das halt nicht kenne.

    Nebenbei finde ich zu RX570 Karten überhaupt keine Referenzen zum undervolting via pp_table oder VBios flashen. 4XX ja, 5xx eher so, nö.


    Ich habe trotz allem meinen pp_table in meiner Config.plist in den Properties Eingetragen. Aber auch hier gibt es, wie zu erwarte, keine Auswirkung auf das tatsächliche Verhalten der Karte.




    Ich nehme an, das ich diese Karte so nicht ändern kann. Obwohl es mit dem AMD Wattmann in Windows durchaus funktioniert hat. Aber der ist ja auch der hauseigene Kartenflüsterer....

  • Setze mal PP_DisableAutoWattman=1 und schau ob die PPT dann greift.

    LG Chris


    Meine Hardware:

  • CMMChris - leider nix - keine messbare Veränderung - spezifisch: Ventilations Stärke bei niedriger Temperatur, als Marker - aber Danke

  • Wechsele demnächst von meiner RX 460 auf eine RX 570 PowerColour Red Devil 4 GB.

    Daher wäre es natürlich supi wenn wir / irgendwer mal auch so ne PPT nutzen können.

    PS: Frage an die Profis ;)

    Gibt es denn so eine PPT auch ohne das man die manuell injected , also irgendwo im IOREG oder nur dann wenn man diese Dank toolem PPT Generator gneriert + mit Cöover einsetzt?

    Dachte dieses Clover PPT (editert) ersetzt dann die normal vorhandene (die wahrscheinlich auf dem VBIOS kommt).

    PS2: Ich guck mir mal das ROM der Shaphiere 570er an. HAst du denn auch so ein DUAL BIOS, also kannst per HW Switsch zw. OC-Normal und / Silent BIOS umschalten? Das Silent BIOS hat wohl etwas weniger GPU CLK Max aber ist meist nicht undervolted.

  • Polaris Karte unterstützen keine Soft PowerPlay Tables.

    LG Chris


    Meine Hardware:

  • Hast du denn auch so ein DUAL BIOS, also kannst per HW Switsch zw. OC-Normal und / Silent BIOS umschalten?

    Bei meiner Sapphire Pulse Radeon RX 570 4GB gibt es keinen Switch. Da ich den Spannungsverlauf der GPU nicht editieren kann, habe ich das Lüftergehäuse und die Steuerung verändert. Die Ventilatoren der Grafikkarte laufen durch einen Noctua NA FC1 PWM Controller der stetig >300 rpm anlegt, damit die Ventilatoren nicht immer eine Tal und Bergfahrt machen. Damit läuft die Karte unter mittlerer Last sehr Leise. Sollte ich das in Zukunft weiter so nutzen, wird den Job der Microcontroller übernehmen der jetz via PID die Gehäuselüftung und die "breathing" LED für den sleep Modus steuert.


    Alternativ habe ich auf eBay gerade eine AMD Radeon RX 480 8GB mit einem Arctic Monoblock für 60,- Euro erstanden. Die Karte sollte ich undervolten und flashen können und sie outperformed meine derzeitige RX 570. Wenn die dann dementsprechend kühler arbeitet bekommt sie noch ein vernünftiges Gehäuse aus ABS oder PETG um die Abluft entsprechend hinten und vorne rauszublasen.


    Fortsetzung folgt...

  • ... bin gespannt. Werde auch von meiner (kommt bald) Powercolour Red Devil berichten (was UV angeht).

    https://www.techpowerup.com/vg…color-rx570-4096-170330-2

    Die liegt mit der CLK 1320 MHZ am oder Ende der 570er Karten. Bei den TDP (GPU) und TDP /gemast Board) liegt sie auch ganz weit oben ;)

    Doch gerade dann lohnt sich UV - weil diese OC Karten meist besser selektierte GPUs haben, welche sich auch besser UV lassen. Noch mehr UV geht dann, wenn man denen paar % max. GPU CLK nimmt, was sich kaum auf die Speed auswirkt, aber beim UV mehr Spielraum lässt.

    Bei der ITX kompakt Karte RX 570 vom Sapphire sind die Watt Werte schon deutlich anders:

    https://www.techpowerup.com/vg…phire-rx570-4096-170317-1

    PS: Das obige GPU VBIOS Datenbank ist super um mal nachzusehen, fürs editieren des BIOS jedoch immer das eigene, selbst mit GPU-Z erzeugen lassen!!!

    PS 2:

    Sehr interessant ist das bei meiner Powercolour die Device ID und Vendor ID Werte im BIOS nicht der Norm entsprechen - nur bei der techpowerup Darstellung stimmt sie, aber nicht im BIOS selbst :) Mag sein, dass das unter Win wohl egal ist aber bei OS X sicher suboptimal...

    So siehts bei einer RX 470 Shappire aus (Dev ID und Vendor ID "normal")



    So bei der Powercolour REd Devil RX 570 (BIOS von Techpowerup, aber ich habs auch shcon so bei einem anderen Forum gesehen):



    Bei den Bildern siehts du diese GPU-Volt Tabels. Was man ändert sind diese 65288, 652887,... Werte. Diese verweisen auf die der Quali des ASCI entsprechend eigentliche mVolt Tabelle im BIOS. Einzig klar ist, je höher der 6528x Wert desto mehr mV. Bei meiner OC+ Karte werde ich jedoch nicht nur den 6528x Wert (jeweils) um 1-2 erniedrigen sondern auch die beiden höchsten CLK Werte etwas reduzieren. Max, wohl auf 1244 oder 1283 statt 1320 (die CLK Steps darunter auch entsprechend weniger, klar). Den Rest an editierbaren Werte im Polaris Bios editor rühre ich (erstmal) nicht an. So hats zumindest (CLK runter, UV ) bei meiner Powercolour RX 460 prima geklappt.

    Edited 2 times, last by mitchde ().

  • Sooo, meine RX 570 Red Devil ist gekommen. Gleich das Silent OC Bios ( meine Karte hat zwei BIOSe, auswählbar mit Schalter) in eine Silent BIOS ohne OC umgewandelt. Bissle noch den GPU CLK runter auf 1234 MHz (OC ist 1320, Silent OC 1270) und leicht untervoltet. Hat geklappt.

    Wobei die Karte bei, SIlent OC auch schon sparsamer in Watt war als OC im OC Mode.

  • Könntest du mal testen ob man die Karte auch per ROM Inject mit Clover anpassen kann?

    LG Chris


    Meine Hardware:

  • Hatte ich mal mit der Vorgäner Karte RX 460 probiert... keine Wirkung das VBIOS (etwas weniger CLK, UV) zu injekten. GPU CLK blieb wie im BIOS höher als das gemoddete BIOS üver Clover.

    Bei der RX 460 und nun auch RX 570 sehe ich jedoch in OS X die etwas geringere GPU CLK beim geflashten Mod Bios.

    Daher vermute ich, das Clover VBIOS nur ganz früher mit wesentlich älteren Karten (und älterem OS X ) eine Wirkung hatte.


    Luxmark mit der "neuen" RX 570 bei 1234 MHZ. (downclk / UV)


    RX 460:

    Edited once, last by mitchde ().

  • Und wie sieht es aus wenn du Whatevergreen drin hast und die device property "ATY,bin_image" auf die Karte injectest mit dem ROM? Der Grafiktreiber zieht sich nämlich die Daten aus dem bin_dump in der IORegistry. Wenn dieser ersetzt wird sollte das eigentlich greifen.

    Ggf. auch mal mit "ATY,ATY,bin_image" testen.

    LG Chris


    Meine Hardware:

  • Das werde ich mal pobieren (dazu das orig. Silent OC BIOS 1270 MHz nehmen) . Wenn nach dem device property "ATY,bin_image" Inject 1270 MHz max statt 1234 MHZ max. vorhanden wären, hätte das geklappt.

  • mitchde ich weiß nicht wie du das hinbekommst. Aber ich bin wieder auf die Nase gefallen, als ich das Bios meiner alten/neuen AMD RX 480 geflashed habe. Kannst du mir vielleicht den Polaris editor hochladen den du benutzt. Ich schreibe noch meine Schritte fürs flashen auf, vielleicht fällt dir ja noch etwas auf.


    Bzw. könntest du vielleicht mein ROM im Anhang bei dir editieren (Schritt 3) und nochmal hochladen?


    Meine Schritte

    1. UEFI Widows 10 auf eigener SSD (up to date)
    2. AMD/ATI ATIFlash 2.93
      VBIOS auslesen -> wegspeichern
    3. Polaris Editor 1.6.7 (https://github.com/vanities/PolarisBiosEditor-1.6.7)
      VBIOS ändern (die letzte drei Referenz Werte der mVolt Tabelle)
      65388->65287 | 65387->65286 | 65286->65285
    4. AMD/ATI ATIFlash 2.93
      VBIOS flashen
    5. Neustarten
    6. In die Röhre gucken

    kleiner Nachtrag

    • In diesem konkreten Fall hatte ich das CSM im Bios nicht deaktivert gehabt. evtl. hatte das Auswirkungen. Secure Boot war disabled.
    • Bei meinen frühreren Flash versuchen mit der RX 570 hatte ich CSM aktiviert und eine ntfs Windows EFI. (ich glaube das das ntfs war, aber auf jedenfall nicht UEFI)

    Kurzer Vergleich der beiden Karten


    Sapphire Pulse Radeon RX 570 4GB:

    AMD Radeon RX 480 8GB:


    Umbauarbeiten abseits des Undervolting: