Correções de Estabilidade para GPUs AMD e APUs Ryzen chegam ao Linux 6.19

Desenvolvedores da AMD e Red Hat fundem correções críticas para gestão de energia (SMU), falhas de HDMI e precisão de relógio em APUs.

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...
Destaques
  • A Mudança: Correções críticas de estabilidade em HDMI, gestão de energia e precisão de relógio.
  • Hardware Afetado: Placas Gráficas AMD Radeon Modernas e APUs Ryzen (SoC21).
  • Autores: Alex Deucher (AMD) & Dave Airlie (Red Hat).
  • Versão Prevista: Linux Kernel 6.19 (Série Stable/Fixes).

Um novo conjunto de correções para o subsistema gráfico do Linux (DRM) foi fundido na árvore principal, visando resolver instabilidades específicas em GPUs Radeon modernas e APUs Ryzen. O pedido de merge, assinado por Dave Airlie e contendo patches de Alex Deucher (AMD), aborda falhas que variam desde condições de corrida (race conditions) no gestão de energia até erros de ponteiro nulo ao desconectar cabos HDMI. As mudanças afetam o Kernel Linux 6.19 e versões posteriores.

O que isso significa na prática:

  • Para o utilizador de Portáteis (APUs): Se possui um portátil com processador Ryzen recente (arquitetura SoC21), o sistema “mentia” sobre a velocidade base do relógio interno (dizia 100MHz, mas a realidade física era 99.81MHz). Este patch ajusta o software à realidade, prevenindo erros de sincronização subtis que podiam causar soluços no sistema.
  • Para quem usa HDMI: Foi corrigido um erro que podia fazer o sistema gráfico bloquear ou fechar abruptamente ao desconectar um monitor HDMI, especialmente se o sistema estivesse a tentar “compensar” o sinal (debounce) naquele exato momento.
  • Estabilidade Geral: Correções na forma como a placa gráfica “adormece” e “acorda” (powergating) evitam que o computador bloqueie aleatoriamente durante o uso normal.

Detalhes da Implementação

As alterações concentram-se no controlador amdgpu, tocando em componentes vitais como o System Management Unit (SMU) e o Graphics Compute (GC).

  1. Precisão de Clock em SoC21 (Ryzen):No ficheiro drivers/gpu/drm/amd/amdgpu/soc21.c, foi introduzida uma lógica para detetar se o relógio de referência é reportado como 100MHz (10000 kHz) em APUs. Se for o caso, o driver agora força o valor para 99.81MHz. Esta correção de precisão é fundamental para o timing de áudio e vídeo.
  2. Powergating e Mutex:Foi identificada uma condição de corrida no ficheiro amdgpu_dpm.c. Anteriormente, o código verificava o estado de energia antes de adquirir o lock (bloqueio de segurança). O patch move a chamada mutex_lock(&adev->pm.mutex) para antes da verificação de estado, garantindo que o hardware não mude de estado enquanto o driver decide o que fazer, prevenindo falhas durante transições de energia.
  3. Segurança em Operações Atómicas (KGQ):Nos motores gráficos v10, v11 e v12 (gfx_v11_0.c, etc.), o reset do ponteiro de escrita do anel (ring write pointer) era feito através de uma atribuição direta. O código foi alterado para utilizar atomic64_set, garantindo que a operação é segura em ambientes multi-thread e prevenindo corrupção de memória nas filas de computação gráfica (KGQ).
  4. Correção de HDMI Debounce:No gestor de ecrãs (amdgpu_dm.c), foi adicionada uma verificação de segurança (if (aconnector->hdmi_hpd_debounce_delay_ms)) antes de tentar cancelar tarefas agendadas e libertar recursos do monitor anterior (hdmi_prev_sink). Isto evita desreferenciar ponteiros nulos se o cabo for removido num momento inoportuno.

Quando isso chega ao meu PC?

Este conjunto de correções está identificado com a tag amd-drm-fixes-6.19 e já foi fundido na árvore drm-fixes.

  • Utilizadores Arch/Rolling Release: Deverão receber estas correções na próxima atualização menor do kernel (ex: 6.19.x) nas próximas semanas.
  • Distribuições Estáveis (Ubuntu/Fedora/Debian): Dependendo da política de backports, estas correções chegarão como atualizações de manutenção e segurança num futuro próximo, dado que resolvem falhas de sistema (crashes).
Compartilhe este artigo