Se você usa teclado Bluetooth no Linux com Wayland (GNOME) e, quando a CPU bate 100% (renderizando páginas no Chrome/Firefox, compilando ou jogando), o seu teclado fica maluco repetindo letras (ex: aaaaaaa), não tente voltar para o Xorg. O Xorg foi descontinuado e forçá-lo pode quebrar sua tela de login.
O bug acontece porque o Wayland processa os gráficos da tela e os eventos de entrada no mesmo fluxo da CPU. Se a CPU engasga por milissegundos, o sinal de “soltar a tecla” enviado pelo Bluetooth se perde na fila do kernel.
A Solução Definitiva: Isolar o serviço de Bluetooth em um núcleo exclusivo do processador e dar a ele prioridade de Tempo Real (Real-Time).
Passo 1: Isolar o Bluetooth no Núcleo 0
Abra o terminal e edite o serviço de Bluetooth do sistema usando o systemd:
sudo systemctl edit bluetooth.service
Use o código com cuidado.
No topo do arquivo (nas linhas em branco antes dos comentários), cole exatamente este bloco:
[Service]
CPUAffinity=0
CPUSchedulingPolicy=rr
CPUSchedulingPriority=50
Use o código com cuidado.
Isto fixa o Bluetooth na CPU 0 e faz o kernel dar passe livre imediato para os sinais do teclado, ignorando gargalos de aplicativos pesados.
Salve o arquivo (Ctrl + O, Enter) e saia (Ctrl + X).
Passo 2: Aplicar as alterações
Recarregue as configurações do sistema e reinicie o Bluetooth:
sudo systemctl daemon-reload
sudo systemctl restart bluetooth.service
Use o código com cuidado.
Passo 3: Conferir se funcionou
Rode o comando abaixo para garantir que o processo mudou para o núcleo correto:
ps -eo pid,psr,comm | grep bluetoothd
Use o código com cuidado.
O número central no retorno deve ser 0, indicando que o Bluetooth agora roda em uma “pista exclusiva”. Pronto! Pode estressar a CPU com o navegador que o teclado não vai mais travar ou repetir letras.