Files
Blogv3/content/posts/Fix_Screen_Tear_xfce/index.md
2025-05-23 10:47:44 -03:00

2.0 KiB

title, date, tags, image, math, draft
title date tags image math draft
Fix Screen Tear x11 2024-11-09T13:28:17+08:00
Fix
cover.jpg false false

¿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