Minden ami megy amdgpu driverrel (rx580 is ilyen), mellesleg ez az alapértelmezett, nagyon szépen szabályozható. Boot paraméternek meg kell adni a következőt: "amdgpu.ppfeaturemask=0xffffffff" ezek után lehet feszültségeket, órajelet, ventilátort is szabályozni.
(nálam pl Sapphire Radeon RX470 esetében)
Aktuális beállítások lekérdezése:
cat /sys/class/drm/card0/device/pp_od_clk_voltage
OD_SCLK:
0: 300MHz 800mV
1: 466MHz 818mV
2: 751MHz 824mV
3: 1019MHz 837mV
4: 1074MHz 881mV
5: 1126MHz 925mV
6: 1169MHz 962mV
7: 1216MHz 1012mV
OD_MCLK:
0: 300MHz 800mV
1: 1750MHz 1000mV
OD_RANGE:
SCLK: 300MHz 2000MHz
MCLK: 300MHz 2100MHz
VDDC: 800mV 1175mV
shader illetve memory órajel állítása:
echo "s 7 1216 920" >> /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 6 1180 910" >> /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 5 1150 900" >> /sys/class/drm/card0/device/pp_od_clk_voltage
echo "m 1 1750 980" >> /sys/class/drm/card0/device/pp_od_clk_voltage
ha változtatsz az órajeleken azt még érvényesíttetni is kell:
echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage
alapbeállítások visszaállítása:
echo "r" > /sys/class/drm/card0/device/pp_od_clk_voltage
Azt is meg lehet csinálni, hogy csak bizonyos szinteket engedélyezel:
echo "manual" > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo "0 1 2 3" > /sys/class/drm/card0/device/pp_dpm_sclk
A ventilátor fordulatszámát PWM ciklusokkal lehet szabályozni, (100% fordulatszám 255, 50% 128, stb), itt is be kell kapcsolni a kézi vezérlést.
echo "1" > /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
echo "128" > /sys/class/drm/card0/device/hwmon/hwmon1/pwm1
Ventilátort visszakapcsolni automatába, ami egy driver hiba miatt nem biztos, hogy működik, szóval egy újraindítás erősen ajánlott.
echo "2" > /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
Szerintem, egy jól irányzott alulfeszeléssel sokkal jobb hatásfokot, hűvösebb működést lehet elérni mintha csak a ventilátor fordulatát szabályoznánk.
Természetesen mindenki csak saját felelősségére használja a fentieket.