Introdução

Esse post é direcionado à usuários AMD com Arch ou CachyOS. As configurações a seguir vão ajudar seus jogos a extraírem o máximo de desempenho de suas peças.


1. Atualiza Tudo Primeiro (Sério, Não Pula Essa Etapa)

Antes de qualquer coisa, garante que o sistema está completamente atualizado:

sudo pacman -Syu

Depois, instala os pacotes essenciais pra AMD:

# Drivers e ferramentas da GPU
sudo pacman -S mesa lib32-mesa libva-mesa-driver lib32-libva-mesa-driver mesa-utils rocm-smi-lib

# Suporte Vulkan (essencial pra jogos modernos e Proton)
sudo pacman -S vulkan-radeon lib32-vulkan-radeon mesa lib32-mesa

# GameMode (otimizações automáticas durante o jogo)
sudo pacman -S gamemode lib32-gamemode

# MangoHud (overlay de estatísticas em tempo real)
sudo pacman -S mangohud lib32-mangohud

O lib32-* é necessário pra jogos 32-bit e alguns títulos via Proton. Não economiza aqui.

Quer conferir qual versão do Mesa está rodando?

pacman -Q mesa

2. Desbloqueando a GPU: O Parâmetro do GRUB

Aqui começa a parte boa. Por padrão, o kernel Linux restringe algumas funcionalidades do driver amdgpu - incluindo o controle total de clocks e voltagens. O amdgpu.ppfeaturemask=0xffffffff desbloqueia todas essas funcionalidades.

Sem isso, o CoreCtrl (que vamos instalar logo mais) não consegue controlar os clocks da GPU corretamente em GPUs RX modernas.

Editando o GRUB

Abre o arquivo de configuração:

sudo nano /etc/default/grub

Procura a linha GRUB_CMDLINE_LINUX_DEFAULT e adiciona o parâmetro dentro das aspas, junto com o que já existir:

pra mim ficou assim, só adicionei amdgpu.ppfeaturemask=0xffffffff no final:

GRUB_CMDLINE_LINUX_DEFAULT='nowatchdog nvme_load=YES splash loglevel=3 amdgpu.ppfeaturemask=0xffffffff'

⚠️ Não apaga os outros parâmetros que já estavam lá! Só adiciona o amdgpu.ppfeaturemask=0xffffffff no final.

Salva o arquivo (Ctrl+O, depois Enter, depois Ctrl+X) e aplica a mudança:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Reinicia o PC. Sem reiniciar, não adianta.


3. CoreCtrl: O Painel de Controle da Sua GPU

O CoreCtrl é uma ferramenta gráfica que permite controlar clocks, voltagens e perfis de desempenho da GPU de forma visual - sem precisar mexer em arquivos do sistema manualmente.

Instalação

sudo pacman -Ss corectrl

Se não encontrar, verifique se os repositórios estão atualizados (sudo pacman -Sy) ou procure nos repos do AUR com yay -S corectrl.

Configurando o Perfil de Gaming

Depois de abrir o CoreCtrl:

  1. Cria um novo perfil chamado Gaming
  2. Na aba GPU, muda o modo para Avançado - isso libera os controles de clock e voltagem

🚨 Aviso sério: Modo Avançado te dá acesso a configurações que podem danificar a GPU se você sair mexendo em tudo sem saber o que está fazendo. Foca apenas no que o guia indica.

Ajustando a GPU ( RX 6600 )

A minha GPU é a RX6600, então eu vou fazer as seguintes alterações nela:

Clock mínimo da GPU → 1900 MHz Clock máximo da GPU → 2500 MHz

Por padrão, a GPU “dorme” em clocks baixíssimos (tipo 500 MHz) quando percebe que o jogo não está exigindo 100% do tempo - o que acontece constantemente em jogos com hitches, carregamentos ou momentos menos intensos. O problema é que a transição de 500 MHz → 2750 MHz leva tempo, causando stutters perceptíveis.

Fixar o mínimo em 1900 MHz garante que a GPU nunca cai pra clocks baixos demais, eliminando esses solavancos sem aumentar significativamente o consumo médio.

  1. Na aba CPU, verifica se o governador de frequência está em Performance
  2. Ativa o perfil Gaming

Verificando se Funcionou

Depois de aplicar, testa com:

watch -n 0.5 cat /sys/class/drm/card0/device/pp_dpm_sclk

(Se não funcionar, tenta com card1)

A saída vai mostrar os estados de clock disponíveis. O * indica o estado atual. Se o asterisco aparecer em 2100 ou 2750 - e não ficar preso em 500 - então o clock mínimo está funcionando corretamente.


4. MangoHud: Seu Overlay de Estatísticas

O MangoHud é um overlay que aparece no canto da tela durante o jogo mostrando FPS, temperatura, uso de GPU/CPU, VRAM e muito mais - similar ao MSI Afterburner do Windows, mas nativo e sem frescura.

Configuração

Edita o arquivo de config:

nano ~/.config/MangoHud/MangoHud.conf

Apaga o que tiver e cola isso:

# ╔══════════════════════════════════════╗
# ║         MangoHud Configuration       ║
# ║  Salve em: ~/.config/MangoHud/       ║
# ╚══════════════════════════════════════╝

legacy_layout=false

# ── Visual & Posição ──────────────────
position=top-left
width=220
font_size=14
background_alpha=0.4
alpha=0.5
round_corners=8
table_columns=2

# Cores dos textos (hex RGB)
gpu_color=2e9762
cpu_color=2e97cb
ram_color=c2a13b
fps_color=e06464
text_color=ffffff

# ── FPS ───────────────────────────────
fps
# fps_metrics: avg = FPS médio | 0.01 = 1% Low
fps_metrics=avg,0.01

# ── GPU ───────────────────────────────
gpu_stats        # Uso em %
gpu_temp         # Temperatura
gpu_core_clock   # Clock do núcleo
vram             # VRAM utilizada
gpu_power        # Consumo em Watts

# ── CPU ───────────────────────────────
cpu_stats        # Uso em %
cpu_temp         # Temperatura
cpu_mhz          # Clock (MHz)

# ── RAM ───────────────────────────────
ram

# ── Atalhos ───────────────────────────
toggle_hud=Shift_R+F12
toggle_logging=Shift_L+F2

Testando

Antes de abrir qualquer jogo, testa se o overlay aparece:

# Teste com OpenGL
mangohud glxgears

# Teste com Vulkan
mangohud vkcube

Se aparecer o overlay no canto superior esquerdo com as estatísticas, está funcionando.


5. Opções de Inicialização na Steam

Com tudo configurado, vai nas propriedades do jogo na Steam → Opções de Inicialização e coloca:

gamemoderun mangohud %command%
# gamemoderun RADV_PERFTEST=sam RADV_DEBUG=syncshaders mangohud %command%

O Que Cada Coisa Faz

  • gamemoderun - Ativa o GameMode enquanto o jogo está rodando. O GameMode é um daemon do Feral Interactive que faz uma série de otimizações automáticas no sistema: muda o governador de CPU pra performance, reduz processos em background, aplica otimizações de scheduler, e pode interagir com jogos compatíveis via API. Basicamente, diz pro Linux: “estou jogando, prioriza isso”.
  • mangohud - Injeta o overlay do MangoHud no jogo para mostrar as estatísticas configuradas.
  • %command% - É o placeholder do Steam pro executável do jogo. Tudo que vem antes dele são variáveis de ambiente e wrappers que serão aplicados.

Resumo Rápido

O QuePor Que
mesa atualizadoMelhorias de desempenho e correção de bugs no driver
amdgpu.ppfeaturemask=0xffffffffDesbloqueia controle total de clocks pra o CoreCtrl
CoreCtrl clock min 2100 MHzElimina stutters por transição de clock
CoreCtrl -25 mV offsetMenos calor e consumo sem perder desempenho
MangoHudVisibilidade total do que está acontecendo na GPU
GameModeOtimizações automáticas do sistema durante o jogo

Dúvidas? Problemas?

Se o CoreCtrl não estiver aplicando os clocks, confirma que:

  1. O amdgpu.ppfeaturemask=0xffffffff foi adicionado e o grub-mkconfig foi rodado
  2. O PC foi reiniciado depois
  3. O perfil Gaming está ativo no CoreCtrl

Bons jogos! 🎮