...
hier noch zur anregung eine gui, die mir gerade eben über den weg gelaufen ist. ich werde sie dann aber erst nach der arbeit tedten können. heute nachmittag.
https://www.gamingonlinux.com/2020/06/amd-wattman-like-open-source-app-corectrl-adds-navi-support
...
Danke für den Hinweis Alexander! Ich habe kurz in den Source Code von CoreCtrl geschaut. Dort wird auch das SysFs amdgpu Kernel Module Interface benutzt für das Monitoring und das Voltage/Clock Tweaking (man muss ja nicht nur immer Overclocken ;-)) (was ja eigentlich nicht überrascht...)
Freut mich das es nun was für den Ottonormal User gibt. Ich hatte auch schon überlegt ein solches Projekt zu starten und eine GUI für eine "Scripte" (also diese 10-Zeiler...) zu schreiben. Aber das hat sich wohl jetzt erledigt! :-D Da bin ich wohl eindeutig zu spät dran. *lach*
Mich würde mal interessieren ob die Lüftersteuerung im CoreCtrl was taugt... Im Zweifelsfall kann man ja mit Python oder der Bash ein kleines Tool schreiben was aktiv die Temperatur überwacht und laufend das Fan PWM Signal anpasst.
@Igor Wallossek
für das verwenden der SysFs amdgpu Schnittstelle muss eigentlich nicht viel gemacht werden im System. Es muss ein Kernel Module Parameter beim Boot gesetzt werden, mit einer Bitmaske welche PP_OD Features aktiviert werden (Im Zweifel einfach alle ;-) ). Aber ja... das ist ein Systemeingriff wie aber eigentlich jedes OC/UV ;-)
Die "Scripte" (wenn man das so nennen will) um das Tweaking dann wirklich vorzunehmen sind ziemlich trivial. Hier ein Beispiel:
#!/bin/bash
cd <böser_pfad>;
echo "MagieZumAktivieren" > musst_du_selbst_nachlesen &&
echo "s 1 991 900" > pp_od_clk_voltage &&
echo "s 2 1138 950" > pp_od_clk_voltage &&
echo "s 3 1269 1000" > pp_od_clk_voltage &&
echo "s 4 1312 1050" > pp_od_clk_voltage &&
echo "s 5 1455 1100" > pp_od_clk_voltage &&
echo "s 6 1520 1150" > pp_od_clk_voltage &&
echo "s 7 1590 1200" > pp_od_clk_voltage &&
echo "m 3 800 950" > pp_od_clk_voltage &&
echo "c" > pp_od_clk_voltage;
echo "165000000" > .<selbst_nachlesen_;-)>/power1_cap;
cd <anderer_böser_pfad>;
echo "1" > pwm1_enable &&
echo "95" > pwm1;
Das Beispiel setzt auf einer Vega GPU das Power State 1 bis 7, deren Takt [MHz] und Spannung [mV], sowie den letzten Memory Clock State (auch mit Takt und Spannung). Wer es nicht gemerkt hat, im Beispiel sind die Standardwerte für eine Vega 56
Dann wird noch das PowerLimit auf 165 W bzw. 165000000 Micro Watt festgelegt sowie die Lüftersteuerung auf einen konstanten Wert gesetzt 95/255 also etwas weniger als 50% Maximale Drehzahl.
Das Ganze ist eigentlich so trivial das man eigentlich gar kein weiteres Tool benötigt.
Was die Kernel Module/Treiber Beschränkungen angeht kann ich dich nun bestätigen. AMD war fleißig und hat wohl im amdgpu Module jetzt Checks eingebaut. Zumindest kann ich nicht mehr die 395 Watt Powerlimit setzen, was vor ca. 1,5 Jahren funktionierte! :-D Jetzt ist bei 249W bei meiner Sapphire Vega 56 Pulse Schluss. Das Risiko dass man sich die Karte Ausglüht ist also deutlich niedriger geworden, was mich freut.
Aber nicht das Du mich falsch verstehst: Ich finde es richtig Klasse das Du einen Artikel/ein Video zum Thema Linux Tweaking gemacht hast! Ich hoffe ja immer noch das z.B. Ubuntu irgendwann so Mainstream geworden ist wie Windows und alle Anwendungen Betriebssystem agnostisch laufen *träum*