Encontrei a solução, existem alguns arquivos em /sys/class/drm/card0/device
, o arquivo pp_dpm_mclk
indica o clock da memória da GPU, e o arquivo pp_dpm_sclk
indica o clock do núcleo da GPU, meu:
$ egrep -H . /sys/class/drm/card0/device/pp_dpm_*
/sys/class/drm/card0/device/pp_dpm_mclk:0: 300Mhz
/sys/class/drm/card0/device/pp_dpm_mclk:1: 1500Mhz *
/sys/class/drm/card0/device/pp_dpm_pcie:0: 2.5GB, x8 *
/sys/class/drm/card0/device/pp_dpm_pcie:1: 8.0GB, x16
/sys/class/drm/card0/device/pp_dpm_sclk:0: 214Mhz *
/sys/class/drm/card0/device/pp_dpm_sclk:1: 481Mhz
/sys/class/drm/card0/device/pp_dpm_sclk:2: 760Mhz
/sys/class/drm/card0/device/pp_dpm_sclk:3: 1000Mhz
/sys/class/drm/card0/device/pp_dpm_sclk:4: 1050Mhz
/sys/class/drm/card0/device/pp_dpm_sclk:5: 1100Mhz
/sys/class/drm/card0/device/pp_dpm_sclk:6: 1150Mhz
/sys/class/drm/card0/device/pp_dpm_sclk:7: 1196Mhz
E o arquivo power_dpm_force_performance_level
indica o perfil, que pode ser low
, auto
ou manual
, o padrão é auto
, quando low
é executado sempre no menor relógio, o que não é exatamente o que eu quero, então eu configurei para manual
e fiz um script que continua mudando o relógio de acordo com a temperatura da GPU, voilà, deu certo!
Para alterar o relógio no perfil manual
, basta escrever um número no arquivo pp_dpm_sclk
que representa a linha, começando com 0
, no meu caso até 7
.
Se você está interessado no meu script aqui está .