O Que É Screen Tearing e Como Se Livrar Disso no Linux

Infelizmente para os fãs do Linux, o screen tearing é, e tem sido, uma irritação persistente que não parece estar indo a lugar nenhum. Existem alguns fatores que possibilitam a longevidade do problema de screen tearing.
Primeiro, e provavelmente mais óbvio, é o servidor X desatualizado, quebrado e inchado. Mesmo com o progresso do Wayland, o X está aqui para ficar no futuro imediato. Em seguida, está a estranha e inconsistente situação dos drivers gráficos. Um dos maiores culpados por causar screen tearing é também o fabricante de GPU mais popular no Linux, a NVIDIA. Junte diferentes ambientes de desktop com suas próprias configurações de exibição e compositores, e você tem uma verdadeira bagunça.
Esses métodos, esperançosamente, eliminarão o screen tearing na maioria das situações, mas é impossível fornecer uma solução única para todos, graças à quantidade de variáveis envolvidas. Tente o que se aplica ao seu sistema e tenha em mente que pode haver novos fatores envolvidos.
Leia também: Você Precisa de um Monitor de 360 Hz? Taxas de Atualização Ultra-Alta Explicadas
NVIDIA
Esta não é a única solução para a NVIDIA, e certamente existem situações em que não se aplica, mas é uma das melhores opções, e não depende da utilidade gráfica da NVIDIA que nem sempre funciona bem com as configurações do ambiente de desktop.
Para começar, você precisará habilitar a configuração para o módulo DRM da NVIDIA (modsetting). Comece criando um arquivo de configuração no diretório modprobe.
sudotouch/etc/modprobe.d/nvidia-nomodset.confAbra esse arquivo com seu editor de texto favorito e insira a seguinte linha:
options nvidia-drm modset=1
Atualize o initramfs do seu kernel para aplicar sua alteração.
sudo update-initramfs -uQuando isso estiver feito, reinicie. Seu computador será reiniciado e tudo deve estar mais suave, mas você ainda não terminou.
A troca pode salvar você em um aperto, mas para algo como gráficos, é bastante terrível. A melhor coisa que você pode fazer aqui para aumentar o desempenho é reduzir a tendência do seu computador de usar espaço de swap. Comece verificando sua “swappiness” atual.
cat/proc/sys/vm/swappiness
Isso provavelmente retornará “60.” Esse é o valor padrão, mas você pode configurá-lo muito mais baixo. Abra “/etc/sysctl.conf” e adicione a seguinte linha no final do arquivo:
vm.swappiness=15Você pode definir o valor com base na quantidade de RAM que você tem. De 5 a 15 é geralmente a faixa com a qual você pode trabalhar com segurança. Reinicie seu computador e tudo deve estar mais suave.
Intel
Gráficos Intel no Linux geralmente não são um grande problema. Isso provavelmente se deve ao fato de que gráficos integrados geralmente têm menos recursos, e a pilha de drivers da Intel é principalmente de código aberto. Para screen tearing na Intel, a solução geralmente vem na forma de alguma configuração adicional.
Como a Intel usa drivers de código aberto, a configuração do Xorg será seu caminho mais direto. Crie um arquivo em “/etc/X11/xorg.conf.d/20-intel.conf,” e coloque o seguinte bloco de código dentro:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSectionQuando você terminar, salve e reinicie.
VSYNC
Vsync é uma tentativa de sincronizar sua taxa de atualização de software com a taxa de atualização padrão do hardware do seu monitor. Em teoria, é uma ótima ideia para tornar tudo o mais suave possível. Na prática, às vezes atende ao seu potencial, e outras vezes, torna seus gráficos uma bagunça instável. Se você estiver usando Vsync e estiver experimentando screen tearing, tente desativá-lo. Se você não estiver usando Vsync, pode ser exatamente o que alinha as coisas.
KDE

O KDE tem alguns controles fantásticos, então tudo isso pode ser feito através das Configurações do KDE Plasma. Abra o aplicativo de Configurações e encontre “Hardware” na lateral. Sob esse título, você encontrará as configurações de exibição. Clique nelas. O corpo principal da janela será preenchido com as configurações de exibição. As abas na lateral mudarão. Escolha “Compositor.” Localize a opção “Prevenção de Tearing” e defina-a como “Repaint de tela cheia.” Quando terminar, aplique a alteração.
Kwin, o compositor do KDE, às vezes também é parte do problema. Ele segue suas próprias regras. Há uma configuração simples que você pode adicionar para tornar o Kwin mais suave.
Crie um novo arquivo em “/etc/profile.d/kwin.sh.” Abra esse arquivo e coloque a linha abaixo nele:
export KWIN_TRIPLE_BUFFER=1Desconecte-se do KDE e faça login novamente para que a alteração tenha efeito.
GNOME
Esta é uma resposta bastante terrível, mas não há uma configuração diretamente no GNOME para gerenciar vsync, mas ainda pode ajudar muito. Se você estiver executando o GNOME com gráficos Intel ou NVIDIA, siga as instruções acima. Se você estiver usando AMD, adicione a seguinte linha à sua configuração do Xorg:
Option "TearFree" "true"XFCE
XFCE é notório por screen tearing. Sempre foi um problema e pode realmente atrapalhar. No entanto, há uma solução bastante simples. Tudo o que você precisa fazer é remover o compositor do XFCE e substituí-lo por outro, neste caso, o Compton.

Abra as configurações do XFCE, depois localize as configurações do gerenciador de janelas. Clique na aba “Compositor” e desmarque a caixa para “Habilitar composição de exibição.” Aplique as configurações.
Em seguida, instale o Compton. É um compositor independente que funciona muito bem com desktops leves. O comando aqui é para distribuições baseadas em Debian, mas o Compton está disponível em quase todas as distribuições populares.
sudo apt install compton
Volte para as configurações do XFCE. Desta vez, clique em “Sessão e Inicialização.” Adicione um novo aplicativo para ser executado na inicialização. Caso você não tenha adivinhado, esse aplicativo é o Compton. Cole o seguinte como seu comando. Ele contém várias opções-chave para executar o Compton de forma ideal.
/usr/bin/compton --backend glx --paint-on-overlay --vsync opengl-swcSalve e saia. Você pode sair e entrar novamente ou executar o comando para iniciar o Compton.
Esses métodos são todas excelentes maneiras de tentar resolver seus problemas de screen tearing no Linux. Eles podem não funcionar para todos, mas com sorte, funcionarão para você. Esperançosamente, à medida que mais progresso for feito nos drivers gráficos do Linux, ambientes de desktop e Wayland, o problema de screen tearing será finalmente resolvido permanentemente.