Fix Screen Tear x11
¿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.
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
- Tener
inxiinstalado
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.
- 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
- 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
