Como ativar o recurso de gerenciamento dinâmico de energia Radeon?

16

Então, recentemente, os RC's do Linux Kernel 3.11 foram lançados. Como você deve saber, este novo kernel vem com gerenciamento dinâmico de energia para usuários do driver Radeon de código aberto. Como eu tenho problemas de gerenciamento de energia com o kernel padrão do Ubuntu 13.04, eu queria testar isso.

Alguém sabe como habilitar esse novo recurso depois que eu baixei e instalei o último kernel RC do Kernel Testing PPA?

EDIT: Mais especificamente, eu estou falando sobre isso: link

    
por Gladen 26.07.2013 / 09:02

5 respostas

14

Atualização (8-05-2014): Como esperado, no Ubuntu 14.04 o DPM é habilitado por padrão para todas as modernas GPUs da AMD (séries HD 4000 a HD 7000). Se você está executando este lançamento junto com uma placa gráfica suportada, você não precisa fazer nada para usar este recurso.

Atualização (28-11-2013): O Ubuntu 13.10 vem com o kernel 3.11 por padrão. Então, se você estiver usando esta versão, tudo o que você precisa fazer é adicionar o parâmetro ao Kernel do Linux. Eu atualizei o guia de acordo. Além disso, parece que pelo Ubuntu 14.04, o DPM será habilitado por padrão, então esperamos que este guia esteja obsoleto até lá! ;)

Ok, nos últimos dias experimentei um pouco e consegui ativá-lo! Na verdade, é muito fácil quando você descobre como fazer isso. Para as pessoas que também querem experimentar, eu explico cada passo. Começando com a instalação do novo kernel.

Antes de tudo, alguns pontos a serem considerados. O suporte do Radeon DPM é apenas para as placas gráficas da série Radeon HD 2000 (R600) e mais recentes. Se você estiver usando uma placa de vídeo ATI Radeon muito antiga, o suporte ao gerenciamento de energia já está ativado no driver de código aberto.

Somente para o Ubuntu 13.04 ou abaixo:

Para usar o Radeon DPM, você precisa do kernel Linux 3.11 ou mais recente. Você pode usar o PPA do kernel da linha principal do Ubuntu e fazer o download da mais recente imagem estável do kernel do Linux 3.11 de este diretório kernel.ubuntu.com . Quaisquer atualizações futuras do kernel são boas também e podem também ser encontradas neste diretório.

O uso do recurso de gerenciamento dinâmico de energia requer um firmware atualizado para a placa gráfica. O microcódigo / firmware Radeon mais recente pode ser baixado da deste diretório . Você precisa dos arquivos * _ smc.bin de junho. Se você não tiver certeza do nome de código da sua placa gráfica específica, você pode geralmente encontrá-lo olhando para a saída de lspci -v | less ... Os arquivos precisam ser colocados dentro de / lib / firmware / radeon . Se você tentar usar o Radeon DPM sem o firmware, a aceleração será desativada para a GPU. Você também precisa ter certeza de ter o firmware atualizado em / lib / firmware / radeon antes de instalar o kernel > 3.11 - ele será automaticamente puxado para a imagem instalada.

Ubuntu 13.10 ou inferior, ou usuários da Radeon HD 3000 ou abaixo:

O suporte do Radeon DPM não está habilitado por padrão abaixo do kernel do Linux 3.13, ou para GPUs mais antigas. Você deve adicionar o parâmetro radeon.dpm = 1 ao kernel do Linux para ativá-lo nesses casos. Para conhecer as etapas no Ubuntu, consulte o Wiki do Ubuntu sobre as diferentes maneiras.

Com o novo kernel instalado, firmware atualizado e parâmetro do Kernel habilitado, você deve estar pronto. Você deve agora reiniciar o seu sistema e você pode verificar se tudo está funcionando depois disso, fazendo

cat / sys / kernel / depuração / dri / 64 / radeon_pm_info

Nota: @ luca992 apontou que o arquivo radeon_pm_info poderia estar em um diretório diferente (por exemplo em / sys / kernel / debug / dri / 1 / em vez de dri / 64 /). Se você tem certeza absoluta de que seguiu todas as etapas corretamente, pode verificar se isso pode acontecer em sua situação.

Você deve ver algo assim:

uvd    vclk: 0 dclk: 0
power level 0    sclk: 22000 mclk: 25000 vddc: 900

Você ainda pode configurar o DPM abrindo /etc/rc.local e adicionando a seguinte linha:

echo parameter > /sys/class/drm/card0/device/power_dpm_state

Onde "parâmetro" pode ser:

  • bateria (um conjunto de níveis de desempenho direcionados para operação ideal com bateria)
  • equilibrado (um conjunto de níveis de desempenho direcionados para o uso diário ideal)
  • performance (um conjunto de níveis de desempenho direcionados para o maior desempenho da GPU)

Fontes: link

    
por Gladen 31.07.2013 / 09:54
6

Ok, vou partir do pressuposto de que você já tem o kernel 3.11-GIT e tem uma placa A6 r6xx-SI ou mais recente. A partir daí, você só precisa adicionar radeom.dpm=1 como parâmetro do módulo do kernel e o DPM deve ser ativado.

Pode estar no parâmetro GRUB, no arquivo /etc/default/grub write

GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.dpm=1"
sudo update-grub

Ou em um arquivo .conf sob o diretório /etc/modprobe :

sudo su -
touch /etc/modprobe.d/radeon-dpm.conf
echo options radeon dpm=1 > /etc/modprobe.d/radeon-dpm.conf 
cat /etc/modprobe.d/radeon-dpm.conf 
# will output "options radeon dpm=1"

Citação das fontes:

% bl0ck_qu0te%

Fontes:

por Braiam 02.08.2013 / 20:11
1

Além da resposta de Gladen, pensei em fazer um commit adicional para verificar se o dpm está funcionando para poupar os outros de alguma frustração.

No meu caso

cat /sys/kernel/debug/dri/64/radeon_pm_info

não existe, então achei que o dpm não estava funcionando.

No entanto, aparentemente, esse arquivo é apenas em pastas diferentes para mim.

cat /sys/kernel/debug/dri/65/radeon_pm_info

ou

cat /sys/kernel/debug/dri/1/radeon_pm_info

existem e listam as mesmas informações.

    
por luca992 02.02.2014 / 22:06
1

Caso o tlp atenda às suas intenções:

% bl0ck_qu0te%

Para thinkpads, é:

% bl0ck_qu0te%

Quando não estou errado - o tlp não depende da versão do kernel - depende mais do hardware. Entre o Kernel 3.11 e o Kernel 3.10 não há grandes diferenças.

No artigo de phoronix está listado sobre as novas mudanças no Kernel 3.11:

link

Mas em 3.11 não há alterações sobre o gerenciamento de energia em geral.

Acho que as mudanças dinâmicas no gerenciamento de energia da Radeon afetam apenas o suporte com a fonte de alimentação da placa gráfica.

Após a instalação, o tlp deve começar com:

% bl0ck_qu0te%     
por dschinn1001 28.07.2013 / 18:15
0

Respondendo à resposta do @Gladen, descobri que

echo parameter > /sys/class/drm/card0/device/power_dpm_state

não funcionou. Um rápido ls -l /sys/class/drm/ me mostrou que o card0 se refere ao cartão integrado & amp; card1 para o cartão discreto. Então, o seguinte funciona para mim no card1:

$ sudo -i

# cat /sys/class/drm/card1/device/power_dpm_state
balanced
# cat /sys/class/drm/card1/device/power_dpm_force_performance_level  
auto
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
#
# echo "battery" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
#
# echo "low" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# echo "performance" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# echo "high" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
-bash: echo: write error: Invalid argument
# # Not sure why the above happened!?
#
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 2    sclk: 75000 mclk: 80000 vddc: 1120 vddci: 0
# echo "high" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
#
# echo "battery" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# 
    
por Danimal 20.11.2014 / 11:58

Tags