227 lines
8.2 KiB
HTML
227 lines
8.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="es">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Fix Screen Tear x11</title>
|
|
<link rel="stylesheet" href="/css/main.css">
|
|
<link rel="stylesheet" href="/css/styles.css">
|
|
|
|
</head>
|
|
<body>
|
|
<main>
|
|
|
|
<nav class="bg-gray-800 fixed w-full top-0 z-3">
|
|
<div class="mx-auto px-4">
|
|
<div class="flex items-center justify-between h-16">
|
|
<div class="flex items-center">
|
|
<a href="/" class="text-white font-bold text-xl"
|
|
>Fede Landing Site</a
|
|
>
|
|
</div>
|
|
|
|
<div class="hidden md:flex">
|
|
<a
|
|
href="/git"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>Git</a
|
|
>
|
|
<a
|
|
class="text-gray-300 hover:text-white px-3 py-2 muted"
|
|
href="https://fedesrv.ddns.net/git/fede/CV/media/branch/master/AltaCV_Template.pdf"
|
|
target="_blank"
|
|
>CV</a
|
|
>
|
|
<a
|
|
href="https://github.com/fedpo2"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>GitHub</a
|
|
>
|
|
<a
|
|
href="mailto:federico.nicolas.polidoro@gmail.com"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>Email</a
|
|
>
|
|
<a
|
|
href="https://www.linkedin.com/in/federico-polidoro-40137a25b/"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>LinkedIn</a
|
|
>
|
|
</div>
|
|
|
|
<div class="md:hidden cursor-context-menu">
|
|
<button
|
|
onclick="toggleOffCanvas()"
|
|
class="border px-2 py-1 rounded text-white"
|
|
>
|
|
<svg
|
|
class="h-6 w-6"
|
|
fill="none"
|
|
viewBox="0 0 24 24"
|
|
stroke="currentColor"
|
|
>
|
|
<path
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
stroke-width="2"
|
|
d="M0 6h25M0 12h25M0 18h25"
|
|
/>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div
|
|
id="offCanvas"
|
|
class="fixed top-16 right-0 w-64 h-screen bg-gray-800 transform translate-x-full transition-transform duration-200 ease-in-out"
|
|
>
|
|
<div class="flex flex-col p-4">
|
|
<a
|
|
href="/git"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>Git</a
|
|
>
|
|
<a
|
|
class="text-gray-300 hover:text-white px-3 py-2 muted"
|
|
title="Under Construction 🚧👷♂️🏗️"
|
|
target="_blank"
|
|
>CV</a
|
|
>
|
|
<a
|
|
href="https://github.com/fedpo2"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>GitHub</a
|
|
>
|
|
<a
|
|
href="mailto:federico.nicolas.polidoro@gmail.com"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>Email</a
|
|
>
|
|
<a
|
|
href="https://www.linkedin.com/in/federico-polidoro-40137a25b/"
|
|
target="_blank"
|
|
class="text-gray-300 hover:text-white px-3 py-2"
|
|
>LinkedIn</a
|
|
>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<script>
|
|
function toggleOffCanvas() {
|
|
const offCanvas = document.getElementById("offCanvas");
|
|
offCanvas.classList.toggle("translate-x-full");
|
|
}
|
|
</script>
|
|
|
|
<div class="bg-blue-300 p-12"></div>
|
|
<div class="bg-blue-300">
|
|
<div class="bg-white rounded-md flex flex-col items-center px-2 py-6 max-w-4xl mx-auto">
|
|
|
|
<div class="w-full mb-8 overflow-hidden rounded-lg shadow-xl border-4 border-black">
|
|
|
|
<img
|
|
src="/cover.jpg"
|
|
alt="Fix Screen Tear x11"
|
|
class="w-full h-auto object-cover"
|
|
/>
|
|
|
|
</div>
|
|
|
|
|
|
<h1 class="text-4xl font-bold mb-4 text-center">Fix Screen Tear x11</h1>
|
|
|
|
|
|
<div class="text-sm text-gray-600 mb-6 font-mono flex gap-4 justify-center">
|
|
<span>Publicado el: Nov 9, 2024</span>
|
|
|
|
<div class="flex gap-2">
|
|
|
|
<span class="px-2 py-1 bg-gray-200 rounded-full">#Fix</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<article>
|
|
<h1 id="que-es-el-screen-tear">¿Que es el screen tear?</h1>
|
|
<p>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.</p>
|
|
<p><img src="https://qph.cf2.quoracdn.net/main-qimg-4994dca8fc9979e8a10d3422cb5f7bcb" alt="Imagen sacada de google donde se demuestra el screen tear"></p>
|
|
<p>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.</p>
|
|
<h1 id="solucion">Solucion</h1>
|
|
<p>Esto Parece suceder porque muchos <a href="https://en.wikipedia.org/wiki/X_window_manager">WindowManagers</a> de linux muestran un frame nuevo independientemente de si la gpu logró terminar de dibujar el proximo frame(buffer).</p>
|
|
<p>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.</p>
|
|
<h2 id="cosas-que-necesitamos">Cosas que necesitamos</h2>
|
|
<ol>
|
|
<li>Tener <code>inxi</code> instalado</li>
|
|
</ol>
|
|
<p>En Arch se puede instalar con un</p>
|
|
<pre tabindex="0"><code>sudo pacman -S inxi
|
|
</code></pre><p>y supongo que lo mismo pero reemplazando <code>pacman -S</code> por <code>apt install</code> en distros debian-base.</p>
|
|
<ol start="2">
|
|
<li>Necesitamos editar uno(o dos) archivos en el <strong>/usr/share/</strong></li>
|
|
</ol>
|
|
<p>Asi que verifica que tengas permisos para poder escribir en ese path.</p>
|
|
<h2 id="paso-a-paso">Paso a Paso</h2>
|
|
<ol>
|
|
<li>Executamos <code>inxi -G</code>.</li>
|
|
</ol>
|
|
<p>Con esto nos daremos cuenta de que tipo de grafica tenemos. En mi caso es una integrada amd</p>
|
|
<pre tabindex="0"><code>i ➜ ~ inxi -G
|
|
Graphics:
|
|
Device-1: Advanced Micro Devices [AMD/ATI] Lucienne driver: amdgpu v: kernel
|
|
</code></pre><p>Por lo que el archivo que tengo que editar es “/usr/share/X11/xorg.conf.d/10-amdgpu.conf”</p>
|
|
<pre tabindex="0"><code>Section "OutputClass"
|
|
Identifier "AMDgpu"
|
|
MatchDriver "amdgpu"
|
|
Driver "amdgpu"
|
|
Option "HotplugDriver" "amdgpu"
|
|
EndSection
|
|
</code></pre><p>Donde añado la opcion “TearFree” “on”</p>
|
|
<pre tabindex="0"><code>Section "OutputClass"
|
|
Identifier "AMDgpu"
|
|
MatchDriver "amdgpu"
|
|
Driver "amdgpu"
|
|
Option "HotplugDriver" "amdgpu"
|
|
Option "TearFree" "on"
|
|
EndSection
|
|
</code></pre><p>Demostracion de como queda</p>
|
|
<p><img src="./tear.gif" alt="demo tear resuelto"></p>
|
|
|
|
</article>
|
|
|
|
|
|
<a
|
|
href="/"
|
|
class="
|
|
inline-block mt-6
|
|
border-2 border-black bg-white px-6 py-2
|
|
shadow-[0_4px_0_black]
|
|
hover:shadow-[0_8px_0_black]
|
|
hover:-translate-y-1
|
|
transition-all duration-100 ease-linear
|
|
font-medium
|
|
"
|
|
>
|
|
← Volver
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="bg-blue-300 p-5"></div>
|
|
|
|
</main>
|
|
<br>
|
|
<footer class="text-center text-sm text-gray-500 mt-12 py-6 border-t">
|
|
© 2025 Federico Polidoro
|
|
</footer>
|
|
</body>
|
|
</html>
|