Isso tudo se deve ao fato de o servidor X estar desatualizado, inadequado para o hardware gráfico de hoje e, basicamente, toda a comunicação direta da placa de vídeo é feita como uma extensão ("patch") do antigo núcleo inchado. O servidor X não fornece meios embutidos de sincronização entre o usuário renderizando a janela e a tela exibindo uma janela, de modo que o conteúdo muda no meio da renderização. Este é um dos problemas mais conhecidos do servidor X (tem muitos, todo o modelo do que o servidor faz e está desatualizado - manipulação de eventos em sub-janelas, metadados sobre janelas, primitivos gráficos para desenho direto ...). Os toolkits de widgets, na maioria das vezes, querem encobrir tudo isso, mas rasgar ainda é um problema, porque não há mecanismo para lidar com isso. Problemas adicionais surgem quando você tem vários cartões que requerem drivers diferentes, e além de tudo isso, a biblioteca opengl tem uma dependência de hard-wired no xlib, então você não pode realmente usá-lo independentemente sem passar pelo X.
O Wayland, que tenta de alguma forma substituir o X, suporta uma sinonização pedante vsync em seu núcleo e é anunciado para ter todos os quadros perfeitamente perfeitos.
Se você rapidamente google wayland video tearing
, encontrará mais informações sobre tudo.