LINUX.ORG.RU

История изменений

Исправление Kron4ek, (текущая версия) :

Видеокарту от AMD андервольчу вручную через обычный шелл скрипт, экспериментальным путем подобрал стабильные значения вольтажа, потом просто добавил скрипт в автозапуск.

Делается очень просто, в параметры ядра нужно прописать amdgpu.ppfeaturemask=0xfffd7fff, затем для каждого уровня P-state задать частоту и вольтаж для ядер, аналогично для видеопамяти. Например:

echo "s 0 214 715" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 1 387 721" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 2 843 725" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 3 995 756" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 4 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 5 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 6 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 7 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage

echo "m 0 300 705" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "m 1 800 750" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "m 2 1750 750" > /sys/class/drm/card0/device/pp_od_clk_voltage

echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage

Значения по умолчанию посмотреть так:

cat /sys/class/drm/card0/device/pp_od_clk_voltage

При более-менее ощутимой нагрузке на видеокарту (например, в играх) обычно используются только последние два уровня P-state, так что может быть вполне достаточно изменить только их.

Здесь неплохая статья на эту тему.

Исходная версия Kron4ek, :

Видеокарту от AMD андервольчу вручную через обычный шелл скрипт, экспериментальным путем подобрал стабильные значения вольтажа, потом просто добавил скрипт в автозапуск.

Делается очень просто, в параметры ядра нужно прописать amdgpu.ppfeaturemask=0xfffd7fff, затем для каждого уровня P-state задать частоту и вольтаж для ядер, аналогично для видеопамяти. Например:

echo "s 0 214 715" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 1 387 721" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 2 843 725" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 3 995 756" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 4 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 5 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 6 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 7 1100 810" > /sys/class/drm/card0/device/pp_od_clk_voltage

echo "m 0 300 705" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "m 1 800 750" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "m 2 1750 750" > /sys/class/drm/card0/device/pp_od_clk_voltage

echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage

Значения по умолчанию посмотреть так:

cat /sys/class/drm/card0/device/pp_od_clk_voltage

При более-менее ощутимой нагрузке на видеокарту (например, в играх) обычно используются только последние два уровня P-state, так что может быть вполне достаточно изменить только их.