maybeageek hast du die Spannung an deinem i7-9700k schon reduziert? Sprich via BIOS Einstellungen undervolted. Je nach Chip und Stabilität kannst du die Wärme Entwicklung stark reduzieren. Bei meinem i7-8700k habe ich die Temperaturen um gute 20C droppen können...
Beiträge von HDRI
-
-
korrekt, es geht dabei aber um die Anpassung der Einträge in den Properties. roqueeee hat mir dazu anhand eines Beispiels die Verwendung von Hex und Ascii erklärt. Die Werte darin sind unverändert und entsprechen denen, die auch im RadeonBoost enthalten sind...
Bist du jetzt eigentlich zufrieden, wie die Karte nur mit PP_EnableLoadFalconSmcFirmware läuft? Ansonsten kannst du für CFG_PTPL2_TBL die Werte aus der RadeonBoost.kext nehmen, die Apple für eine Radon Pro 580X verwendet. Diese Werte kannst du dann einfach nach oben hin deckeln. Wenn du z.B. 110 anstatt 130 probieren willst wird:
82000000 7C000000 76000000 70000000 6A000000 64000000 5E000000 58000000 52000000 4C000000 46000000 40000000 3A000000 34000000 2E000000 28000000
zu:
6E000000 6E000000 6E000000 6E000000 6A000000 64000000 5E000000 58000000 52000000 4C000000 46000000 40000000 3A000000 34000000 2E000000 28000000
Bei welchem Wert du einen guten Kompromiss aus MHz/FPS und Leistungsaufnahme/Temperatur erreichst musst du selber testen!
-
roqueeee uff - ich bin ein bisschen neben er Piste gefahren - In all diesem Hex/Kext/Benchmark loop bin ich nochmal in das VBIOS modden eingestiegen. Dabei habe ich endlich die Ressourcen gefunden die nötig waren um mein VBIOS zu editieren, zu flashen und zu booten.
Kurzum: Ich habe meine RX480 zu einer RX580 konvertiert, die Steps der RX580 zurück auf die der Stock Rx480 editiert und den GPU Vcore Offset um -75mV verschoben. Damit läuft meine Karte jetzt unter Volllast über einen Zeitraum von 20min rund 8°C kühler bei 72°C statt bei 80°C.
Durch den Flash auf die RX580 sind meine OpenGl Wake Issues auch beseitigt. Interessant fand ich aber folgende Benchmarks:
Mit RadeonBoost v1.5 ( CMMChris Danke dafür) oder SMC und Table Property unter Devices taktet die Karte im Valley Benchmark konstant auf 1266 MHz. Valley läuft sauber durch und die Leistungsaufnahme liegt mit RadeonBoost v1.5 bei 85 Watt und mit SMC und Table bei 88 Watt (hier jetzt immer schon mit 0.3333 multipliziert, da der PerformaceStatistics Wert 330 statt den zu erwartenden 110 Watt ausspuckt).
Wenn ich jedoch ohne SMC edit fahre, also ohne RadeonBoost oder Property inject, passiert folgendes: Beim Laden von Valley verliere ich kurz den Displayport connect, der Monitor idled und bekommt dann wieder ein Signal. Der Benchmark läuft danach mit durchschnittlich 1232 MHz durch (1226-1265 MHz). Und obwohl der Takt niedriger ist, ist die Leistungsaufnahme höher und liegt im Schnitt bei 92 Watt (92-94 Watt). Es scheint mir fast also ob die Powerproperties noch einmal ausgehandelt worde wären. Erklären kann ich mir das jedenfalls nicht.
Die LuxMark Ergebnisse sind bei allen drei Test gleich (1395-13926)
Die ValleyBenchmarks im groben auch (1362-1377)):
Im großen und ganzen bin ich jetzt erstmal ganz zufrieden mit dem Ergebnis. Auch wenn ich lieber ohne einen VBIOS mod ausgekommen wäre. Aber da unter OSX keine PowerPlayTables greifen, war dies meine einzige Möglichkeit bei gleicher Leistung weniger Wärme zu produzieren. Btw. Mit den original RX580 Steps und einem Vcore Offset von -25mV ist die Karte ganz nett gelaufen. Aber dann halt wieder bei 80 °C angekommen...
RX580 (RX480 Stock -75mV offset 1266MHz, 1150mV, 110W
918302 iMacPro1,1AMD Radeon RX 580 Metal macOS 64-bit 46357 918297 iMacPro1,1AMD Radeon RX 580 Compute Engine OpenCL macOS 64-bit 41923 RX580 (RX 580 Stock -25mV offset 1340MHz
915826 iMacPro1,1AMD Radeon RX 580 Metal macOS 64-bit 49591 915821 iMacPro1,1AMD Radeon RX 580 Compute Engine OpenCL macOS 64-bit 42691 Der kleine Leistungszuwachs kommt aber mit einer deutlich höheren Wärmeentwicklung, die ich nun unbedingt vermeiden will. Daher der Rückschritt auf die Steps der RX480.
roqueeee und jetzt Butter bei die Fische - ich verstehe einfach nicht wie du das machst:
Bist du jetzt eigentlich zufrieden, wie die Karte nur mit PP_EnableLoadFalconSmcFirmware läuft? Ansonsten kannst du für CFG_PTPL2_TBL die Werte aus der RadeonBoost.kext nehmen, die Apple für eine Radon Pro 580X verwendet. Diese Werte kannst du dann einfach nach oben hin deckeln. Wenn du z.B. 110 anstatt 130 probieren willst wird:
82000000 7C000000 76000000 70000000 6A000000 64000000 5E000000 58000000 52000000 4C000000 46000000 40000000 3A000000 34000000 2E000000 28000000
zu:
6E000000 6E000000 6E000000 6E000000 6A000000 64000000 5E000000 58000000 52000000 4C000000 46000000 40000000 3A000000 34000000 2E000000 28000000
Irgendwo muss ich da noch etwas konvertieren, mein CFG,CFG_PTPL2_TBL Entry sah so aus:
00AA0A00 AAB2AAAA CAAA0A00 AA0BAAAA 00AAAF00 AA0BAAAA 00AAAE00 AABAAAAA 00AAAD00 AA0AAAAA 00AAAA00
Ich nehme an, das Deine HexDezimalDinger irgendwie noch in diesen Allahu Akbar Code übersetzt werden müssen...
Kleine Nachhilfe bitte. Dann würde ich das gerne mal Implementieren, und zwar mit den Einstellungen für die RX480.
Hmm. mein use case ist jetzt irgendwie ein bisschen wirr geworden...
__________________
Dreckiges Lachen go:
Während ich all das hier eintippte, passierte folgendes:
(Update: VCore Offset betrifft natürlich auch den niedrigsten State. So lag im idle einfach zu wenig Spannung an. Das lässt aber sich leicht korrigieren in dem man den minimalen Vcore um 50mV hoch setzt...
Hmmm... Also vielleicht überdenke ich meine RX580 Conversion nochmal. das ganze läuft erst seit gestern Abend und ist noch nicht wirklich getestet. Aber das war gerade ein Abschuss abseits jeglicher Last oder erkennbarer Prozessanläufe...
Randnotiz: Mit dem PolarisEditor kann man nicht Undervolten (Definitiv nicht bei einer RX480, RX570 oder RX580). Die Einträge müssen im Hexeditor bei dem VCore Offset erfolgen.
Kenn jemand den richtigen HEX Pfad/Eintrag bei einer Stock RX480 um den VCore zu verschieben? Die Resourcen die ich fand beziehen sich alle auf die RX580. -
roqueeee CMMChris Könne wir damit vielleicht doch noch auf die Spannung der verschiedene Stages Einfluß nehmen (MHz, mV)?
Beim letzten Versuch einen PowerPlayTable einzufügen scheiterte dies. Ggf. lag das auch an dem PP, Prefix für WhateverGreen?
-
mitchde Korrekt, bei den beiden Tests habe ich einmal den RadeonBoost v1.4 verwendet (zzgl. PP, und. CFG, edit) und das andere mal nur die Device Property PP,PP_EnableLoadFalconSmcFirmware 0x1 ohne RadeonKext genutzt.
zu Geekbench (one time pass)
RadeonBoost v1.4 (edit PP, und CFG,):
903085 iMacPro1,1AMD Radeon RX 480 Metal macOS 64-bit 48304 903080 iMacPro1,1AMD Radeon RX 480 Compute Engine OpenCL macOS 64-bit 41729 RadeonBoos v1.4 (no edit):
903064 iMacPro1,1AMD Radeon RX 480 Metal macOS 64-bit 47280 903060 iMacPro1,1AMD Radeon RX 480 Compute Engine OpenCL macOS 64-bit 41354 Device Properties PP,PP_EnableLoadFalconSmcFirmware 0x1:
-
roqueeee Ich bin Deiner "Versuchsreihe" noch nicht nachgekommen. Ich lasse dich da mal Ackern und setzte nachher nur noch ein paar Zahlen ein...
Wohl aber, habe ich den Fix für das Stottern für meine Konfiguration nageln können:
PP,PP_EnableLoadFalconSmcFirmware 0x1
Interessant sind die folgenden (wiederholbaren) Benchmarks nach dem wake.
RadeonBoost v1.4 (edit PP, und CFG,)
Valley Metrics: Core Clock 1266 MHz, 330 Watt (relativer Murkswert), Temp GPU Avg 79 °C
Device Properties PP,PP_EnableLoadFalconSmcFirmware 0x1
Valley Metrics: Core Clock 1940-1256 MHz, 280 Watt (relativer Murkswert) , Temp GPU Avg 75 °C
So, jetzt bitte noch undervolting via Powerplay table and happiness has a name...
Zum Undervolting mitchde: Verstehe ich das richtig, das ein editiertes VBIOS dazu führt das die Karte nur noch mit Anpassungen der Treiber unter Windows läuft? Müssen die BIOS Einstellungen spezifisch sein, damit die Kiste bootet und die Grafikkarte mit dem "custom" Bios nicht rejected wird? Ggf. könntest du mir dazu in diesem Thread noch einmal kurz antworten:
-
mitchde Du musst dem Eintrag PP, oder CFG, voranstellen (mit dem Komma):
Zum Beispiel bei PP_EnableLoadFalconSmcFirmware -> PP,PP_EnableLoadFalconSmcFirmware
Dann werden die Porperties korrekt injected.
Häng mal bei PP_ Properties ein "PP," davor und bei CFG_ Properties ein "CFG,"
Vielleicht rafft es WEG dann.
-
Update 11.05.2020:
Anstelle des CSV Servers, der den kompletten Datensatz an Grafana weiterleitet, unabhängig vom Querry, gehe ich jetzt den Weg via Telegraf und InfluxDB. Das läuft sehr sauber und ist relativ einfach einzurichten.
Telegraf liest die CSV Datei via tail aus und sendet sie dan an influxDB
[
agent]
debug = true
[[outputs.influxdb]]
database = "telegraf"
#[[outputs.file]]
# files = ["/Volumes/UserHD/Documents/Metrics/csv/telegraf"]
[[processors.date]]
timezone = "Local"
[[inputs.tail]]
files = ["/Volumes/UserHD/Documents/Metrics/csv/Arduino-Serial.csv"]
from_beginning = true
data_format = "csv"
csv_header_row_count = 1
csv_trim_space = true
csv_tag_columns = ["GPU Heatsink(C),GPU Fan(RPM),Ambient(C),Exhaust(RPM)"]
csv_timestamp_column = "Date"
csv_timestamp_format = "2006-01-02 15:04:05"
[[inputs.tail]]
files = ["/Volumes/UserHD/Documents/Metrics/csv/GPUPerformanceStatistics.csv"]
from_beginning = true
data_format = "csv"
csv_header_row_count = 1
csv_trim_space = true
csv_tag_columns = ["Fan Speed(%),Core Clock(MHz),Memory Clock(MHz),Fan Speed(RPM),Temperature(C),Power(W)"]
csv_timestamp_column = "Date"
csv_timestamp_format = "2006-01-02 15:04:05"
InfluxDB stellt seine Datenbank dann Grafana zur Verfügung.
Den einzigen Hänger den ich hier habe, sind meine Zeitstempel. Ich nutze screen via Terminal um die Messwerte des Arduino über die Serielle Schnittstelle zu loggen. Dabei kann ich in Screen ausschliesslich meine Systemzeit CET (UTC+2) als timestamp nutzen.
Datenbanken wollen aber mit UTC Time gefüttert werden, unter anderem damit man keine Sommer/Winterzeit Löcher/Überlappungen bekommt. Leider habe ich bis dato keinen Weg gefunden das in Telegraf oder InfluxDB anzupassen. Das scheint auch dem Datenbank handling zu wider. Daher lasse ich den Zeitstempel meiner GPUPerformanceStatistics auch in CET und setze bei Grafana meine Timequerries auf now+2h...
Folgender Link hat mir geholfen den TIG stack (Telegraf, InfluxDB, Grafana) einzurichten:
How to install TIG stack (Telegraf, Influx and Grafana) on Mac OS
-
-
Hmm... mit dem RadeonBoost v1.4 Kext steht bei mir der Eintrag unter GFX@0 bei PP_EnabledLoadFalconSmcFirmaware auf 0x0 wie bei revunix. Werde morgen nochmal nachschauen ob ich den Ruckel Fix für meinem System in diesem Kext identifizieren kann....
-
hmm... mit folgender RadeonBoost.kext ruckelt OpenGL nach dem Sleep:
XML- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>German</string>
- <key>CFBundleGetInfoString</key>
- <string>1.4 Copyright © 2020 chinamobilemag.de. All rights reserved.</string>
- <key>CFBundleIdentifier</key>
- <string>de.chinamobilemag.RadeonBoost</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>RadeonBoost</string>
- <key>CFBundlePackageType</key>
- <string>KEXT</string>
- <key>CFBundleShortVersionString</key>
- <string>1.4</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>IOKitPersonalities</key>
- <dict>
- <key>RX480580590Boost</key>
- <dict>
- <key>IOPCITunnelCompatible</key>
- <true/>
- <key>IOClass</key>
- <string>AppleUSBMergeNub</string>
- <key>CFBundleIdentifier</key>
- <string>com.apple.driver.AppleUSBMergeNub</string>
- <key>IOPCIPrimaryMatch</key>
- <string>0x67DF1002</string>
- <key>IOProviderClass</key>
- <string>IOPCIDevice</string>
- <key>IOProviderMergeProperties</key>
- <dict>
- <key>PP_EnableLoadFalconSmcFirmware</key>
- <integer>1</integer>
- <key>ATY,EFIVersionB</key>
- <string>RadeonBoost</string>
- </dict>
- </dict>
- </dict>
- <key>OSBundleLibraries</key>
- <dict>
- <key>com.apple.kpi.bsd</key>
- <string>15.3</string>
- <key>com.apple.kpi.iokit</key>
- <string>15.3</string>
- <key>com.apple.kpi.libkern</key>
- <string>15.3</string>
- <key>com.apple.kpi.mach</key>
- <string>15.3</string>
- <key>com.apple.kpi.unsupported</key>
- <string>15.3</string>
- </dict>
- </dict>
- </plist>
Kann es sein, das ich den Syntax hier zerpflückt habe?
-
revunix htop ist sofort da und updated jede Sekunde. Alles in Ordnung.
Config getestet: RX480 - Powercolor - Sapphire(etc.) BIOS (015.050.000.000.006785)
-
Ich habe jetzt eine RX480 8GB von Powercolor eingesetzt und jeweils Luxmark und Valley zum Vergleich laufen lassen. Dabei habe ich unterschiedliche BIOS Versionen mit und ohne RadeonBoost getestet.
GPU Vendor | BIOS | Kext Luxmark Valley RX480_PowerColor | BIOS-Visiontek 14144 1381 RX480_PowerColor | BIOS-Visiontek | RadeonBoost 13926 1381 RX480_PowerColor | BIOS-Sapphire 14155 1313 RX480_PowerColor | BIOS-Sapphire | RadeonBoost 14072 1373 die Unterschiede sind marginal. Es gibt aber einen großen Unterschied in der Leistungsaufnahme zwischen RadeonBoost on/off. CMMChris - ich nehme an, das Leistungsangaben aus der GPUPerformanceStatistics zumindest relativ sind.
RX480-PowerColor-Sapphire-Valley
RX480-PowercColor-Sapphire-Valley-RadeonBoost
Mit RadeonBoost ist der Takt konstant auf 1266 Mhz und damit auch die GPU Temperatur um gut 5 ℃ höher. Was in meinem Case (pun intended) eher nicht so geil ist.
Wenn ich roqueeee richtig verstehe könnte ich den Kext auf PP_EnableLoadFalconSmcFirmware und CFG_PTPL2_TBL strippen um das Ruckeln zu beheben. Das würde ich gerne tun um dann zu Testen ob die erhöhte Leistungsaufnahme dabei wegfällt.
Kann ich zum Anpassen der RadeonBoost Kext "einfach" die anderen Einträge innerhalb der IOKitPersonalities/RX480580590Boost/IOProviderMergeProperties löschen?
Btw, das hier ist der GPU Temp Sensor an der Heatpipe:
Und das hier der custom Blower Case:
revunix Bei mir tritt das Ruckeln ausschliesslich in Verbindung mit OpenGL auf.
-
gnah, mein Fehler. Ich verwende effektiv V1.4 und hatte davor auch keine andere Version installiert. Die Versions-Reihenfolge am Anfang des Radeon-Kext Threads läuft von unten nach oben. Da hat mein Corona Hirn dann Beta Versionen draus gemacht und angenommen V1.0 sei aktuell das, was ich geladen hatte... my bad
-
Ich bin erst bei v1.0 eingestiegen. Wenn es für dich interessant ist, kann ich aber auch noch andere Versionen Testen...
-
CMMChris Der RadeonBoost.kext v1.4 (ursprünglich schrieb ich hier fälschlicherweise v1.0) hat das OpenGl Stottern nach dem Ruhezustand behoben.
Momentan habe ich Ersatzweise die HP AMD RX 580 4G wieder eingebaut. Ich wollte eigentlich die RX480 mit meinem gerade gefertigten GPU Blower Case verheiraten. Leider sind beim entfernen des Arctic Accelero Mono Plus nicht die aufgeklebten Kühlkörper vom VRAM runtergekommen sonder der gesamte RAM mit den board traces (#Fuck). Durch das erzwungene Umsatteln auf die RX580 bin ich aber auf den RadeonBoos Fix gestossen.
(getestet - > definitely fixed by kext). Dafür ist der also auch gut...
-
...trommelwirbel... (verlorener Schlägel segelt quer durch den Raum)
Das OpenGl stottern nach dem Ruhezustand konnte ich durch das flashen eines anderen VBios beheben.
Auf der Seite The It Stage gab es ein "How to: Install AMD RX 480 & RX 580 in macOS Sierra" auf originalen Mac Pro´s. In dem Artikel wurden RX480er empfohlen die gut mit den originalen Mac Pro´s zusammenspielen. Eine davon ist die VisionTek RX 480 8 GB, die mit der AMD RX 480 8 GB Referenz Karte baugleich ist.
Folgendes BIOS läuft jetzt auf meiner Karte: VisionTek RX 480 8 GB BIOS
Das stottern ist weg und die Karte performed in OpenCl/OpenGl Benchmarks sogar besser als vorher.
Beide Benchmarks nach zweimaligem sleep/wake:
roqueeee -> danke für dein feedback - damit war die Richtung klar
-
Danke für Deinen Input.
Ich habe jetzt die RX 480 wieder eingesetzt und werde den Rechner ausschalten anstatt ihn in den Ruhezustand zu schicken.
Es irritiert mich zwar immer noch, das nicht mehr User über dieses Problem gestolpert sind, da die RX 480 Referenzkarte zumindest eine Zeitlang relativ häufig in Hackintosh Systemen vorgekommen sein dürfte. Und wie gesagt, habe ich diesen Fehler über ein halbes Jahr überhaupt nicht bemerkt. Dieses Fehlerbild könnte also auch für viele andere Nutzer unentdeckt geblieben sein..
Bis dahin, halbe Kraft voraus, or no sleep till upgrade...
-
Gnah,
ich habe gestern die HP AMD RX 580 4GB erhalten und heute Abend eingebaut.
Nicht nur performed die schlechter als die AMD RX 480 8GB, sie stottert auch noch genauso nach dem Ruhezustand in OpenGL.
Die HP AMD RX 580 4G ist ansonsten mit der AMD RX 480 8GB, bis auf den eingesetzten RAM, hardwareseitig identisch.
Wenn es an meinem SMBIOS iMacPro1,1 liegen würde, müsste es hier mindestens eine andere Person mit dem selben Problem geben.
Ggf. liegt es an meinem BIOS Settings.
Ich bin ein bisschen Ratlos.
Ich werde später noch eine Sapphire Pulse AMD RX 570 4GB auf dieses Fehlerbild hin testen.
Logbuch Nachtrag:
Mit der AMD RX 570 4GB tritt der OpenGL Fehler nach dem Ruhezustand nicht auf.
Ich muss derzeit davon ausgehen, das dieses Fehlerbild mit der Referenz Karte der RX480 und meinen Komponenten zusammenhängt.
Die AMD RX 580 von HP ist exakt identisch mit der AMD RX 480 von Radeon. (Bis auf BIOS, Gehäuse und Kühlkörper)
Das würde erklären, warum beide Karten den selben Fehler aufweisen.
DSM2 hättest du vielleicht noch einen Tip für mich, oder kann ich das Thema abhaken?
Ich habe online anderweitig keinen ähnlichen Fehler Beschrieb finden können...
-
Danke für den Followup.
An meinem Hackintosh hängt ein Eizo FlexScan EV2780 der FreeSync nicht unterstütz.
Wahrscheinlich wird mich dieser Fehler in der kommenden Woche auch schon wieder verlassen. Gegeben, das die HP AMD RX 580 4GB, die aus zweiter Hand gerade zu mir rüber schippert, vernünftig läuft und in meinem everyday use der AMD RX480 8GB nicht hinterher läuft.
In meinen Hackintosh SE 30 kann ich keine PCI Karte mit mehr als 210mm länge einbauen. Die HP Karte war ein Glücksfall und der Kauf unabhängig von dem OpenGl Stottern...