Fix Screen Tear x11

Fix Screen Tear x11

Publicado el: Nov 9, 2024
#Fix

¿Que es el screen tear?

buenas, Si alguna vez instalaron un wm liviano en linux que no use wayland seguramente habrán notado que al momento de mover una ventana en el escritorio o ver un video sucede algo de este estilo.

Imagen sacada de google donde se demuestra el screen tear

Donde la imagen se ve recortada por algunos milisegundos. A mi se me hace muy molesto a la vista cuando estoy mucho tiempo (relativamente) delante de la pantalla.

Solucion

Esto Parece suceder porque muchos WindowManagers de linux muestran un frame nuevo independientemente de si la gpu logró terminar de dibujar el proximo frame(buffer).

Encontré un parametro que se le puede pasar al X11 para evitar que se muestre un frame que la gpu aun no termino de actualizar.

Cosas que necesitamos

  1. Tener inxi instalado

En Arch se puede instalar con un

sudo pacman -S inxi

y supongo que lo mismo pero reemplazando pacman -S por apt install en distros debian-base.

  1. Necesitamos editar uno(o dos) archivos en el /usr/share/

Asi que verifica que tengas permisos para poder escribir en ese path.

Paso a Paso

  1. Executamos inxi -G.

Con esto nos daremos cuenta de que tipo de grafica tenemos. En mi caso es una integrada amd

i ➜  ~ inxi -G
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Lucienne driver: amdgpu v: kernel

Por lo que el archivo que tengo que editar es “/usr/share/X11/xorg.conf.d/10-amdgpu.conf”

Section "OutputClass"
	Identifier "AMDgpu"
	MatchDriver "amdgpu"
	Driver "amdgpu"
	Option "HotplugDriver" "amdgpu"
EndSection

Donde añado la opcion “TearFree” “on”

Section "OutputClass"
	Identifier "AMDgpu"
	MatchDriver "amdgpu"
	Driver "amdgpu"
	Option "HotplugDriver" "amdgpu"
	Option "TearFree" "on"
EndSection

Demostracion de como queda

demo tear resuelto

← Volver