Tutorial | linux

Configurando modos de energia na inicialização em GPUs Intel e AMD (Linux)

Por quê?

Isso é útil para quem quer evitar depender de ferramentas gráficas como o CoreCtrl e prefere uma configuração automática desde a inicialização.

Requisitos

Hardware

  • AMD: GPU GCN ou mais recente (driver amdgpu). Qualquer modelo lançado desde 2012.
  • Intel: GPU Gen6 ou mais recente (driver i915). Qualquer modelo lançado desde 2012.

Sistema

  • Linux com suporte a udev.
  • Acesso root.

Configuração básica

Níveis de desempenho

AMD

Edite ou crie o arquivo /etc/udev/rules.d/amdgpu.rules com o seguinte conteúdo:

ACTION=="add", SUBSYSTEM=="drm", DRIVERS=="amdgpu", ATTR{device/power_dpm_force_performance_level}="low"

Valores possíveis para power_dpm_force_performance_level:

  • auto : a GPU se ajusta dinamicamente (valor padrão).
  • low : consumo mínimo de energia.
  • high : desempenho máximo.
  • manual : o usuário define frequências específicas.

Configuração avançada

Controle granular de frequência

Arquivos pp_*

Em /sys/class/drm/cardX/device/ você encontrará parâmetros para ajustar SCLK, MCLK e perfis de energia.

Arquivos principais:

  • pp_dpm_sclk : frequências do núcleo.
  • pp_dpm_mclk : frequências da memória.
  • pp_power_profile_mode : perfis predefinidos.
  • pp_od_clk_voltage : overclock/undervolt manual.
  • pp_od_support : indica se o OverDrive é suportado.

Exemplo de regra udev:

ACTION=="add", SUBSYSTEM=="drm", DRIVERS=="amdgpu", \
ATTR{device/power_dpm_force_performance_level}="manual", \
ATTR{device/pp_dpm_sclk}="7", ATTR{device/pp_dpm_mclk}="2"

Notas

  • Os números (7, 2, etc.) são estados DPM visíveis com:

    cat /sys/class/drm/card0/device/pp_dpm_sclk
    
  • Use manual para que as frequências permaneçam fixas.

Intel

Arquivos gt_*_freq_mhz

Na Intel, em /sys/class/drm/card0/, você pode definir as frequências mínima, máxima e de boost (esta última em GPUs mais novas).

Exemplo de regra udev em /etc/udev/rules.d/i915.rules:

ACTION=="add", SUBSYSTEM=="drm", DRIVERS=="i915", \
ATTR{gt_min_freq_mhz}="300", ATTR{gt_max_freq_mhz}="1100", ATTR{gt_boost_freq_mhz}="1100"

Notas:

  • Os valores estão em MHz e dependem do modelo.
  • Verifique as frequências atuais:
cat /sys/class/drm/card0/gt_*_freq_mhz

Aplicar as alterações sem reiniciar

Depois de modificar ou criar as regras, execute os seguintes comandos:

sudo udevadm control --reload-rules
sudo udevadm trigger

Considerações importantes

  • Definir frequências altas aumenta o consumo de energia e a temperatura.
  • Em notebooks, pode reduzir drasticamente a duração da bateria.
  • Algumas configurações exigem parâmetros especiais ao carregar o amdgpu ou o i915.
  • Se ocorrer instabilidade, recomenda-se voltar aos valores padrão (auto).


Avatar

ItsZariep

YouTuber e programador, utiliza Linux desde 2015

Sobre mim


© 2026 ItsZariep

Powered by Tessera for Hugo