Existem duas formas de maximizar a performance dos seus jogos no Linux, a primeira é colocar o sistema no modo performance, a segunda é certificar-se que a função unredirect fullscreen windows está ativada no seu DE.
Por padrão o controlador de frequência de CPU do kernel roda no modo ondemand, isso reduz o clock do processador afim de economizar energia, a diferença no consumo de energia em desktops é insignificante, sendo mais perceptível em notebooks. Jogos beneficiam-se de velocidades elevadas no clock do processador, tanto que o overclock é uma prática comum para extrair maior performance nos jogos, o problema reside no fato do modo ondemand não aumentar o clock do processador quando um jogo é lançado, causando assim stuttering e queda de FPS.
Existem algumas maneiras diferentes de se alterar o controlador de frequência, que variam de acordo com a distro utilizada, vou listar o procedimento para as distros mais populares.
Frequência de CPU
- Ubuntu e derivados
No Ubuntu basta parar e desabilitar o serviço ondemand
.
sudo systemctl stop ondemand.service
sudo systemctl disable ondemand.service
- Fedora
No Fedora é necessário instalar o pacote kernel-tools
e ativar o serviço correspondente.
sudo dnf install kernel-tools
sudo systemctl enable cpupower.service
sudo systemctl start cpupower.service
- Arch Linux e Debian
No Arch Linux é necessário instalar o pacote cpupower
.
sudo pacman -S cpupower
No Debian o pacote é chamado linux-cpupower
.
sudo apt install linux-cpupower
Após instalar o pacote é necessário criar manualmente um unit para o Systemd (possivelmente funciona para outras distros que utilizem o Systemd).
Crie um unit
para o Systemd chamado cpupower.service
.
sudo nano /etc/systemd/system/cpupower.service
Copie o conteúdo abaixo e cole no terminal com as teclas CTRL + SHIFT + V
.
[Unit]
Description=Performance CPU Governor
[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g performance
[Install]
WantedBy=multi-user.target
Para salvar pressione CTRL + X
, digite s
e pressione a tecla Enter
.
Agora é necessário inciar e habilitar o serviço.
sudo systemctl start cpupower.service
sudo systemctl enable cpupower.service
Unredirect fullscreen windows
A função unredirect fullscreen windows
basicamente permite que um jogo, ou aplicativo em tela cheia, renderize seus gráficos diretamente na GPU, evitando o compositor do sistema. Jogar com o compositor ativado reduz a performance dos jogos e causa input lag.
Plasma, Gnome e Unity tem esta função ativada por padrão, no Cinnamon é necessário ativá-la manualmente nas configurações do sistema, no XFCE é necessário desabilitar o compositor completamente. O Compton também suporta esta função, desde que a seguinte linha esteja presente no arquivo de configuração.
unredir-if-possible = true;