Conecta con nosotros

Hola, ¿qué estás buscando?

Prácticos

Acaba con el tearing presente por culpa del driver privativo de NVIDIA

Acaba con el tearing presente por culpa del driver privativo de NVIDIA

NVIDIA es la compañía que ofrece la opción más potente en cuanto a gráficos para GNU/Linux. Sin embargo, todos los que conocemos y hemos usado el blob privativo para las gráficas de dicha compañía sabemos que su integración es casi inversamente proporcional a la potencia.

No es la primera vez que publico ciertas soluciones para este problema. En 2014 expliqué cómo corregir el tearing y la falta de sincronización vertical en KDE, que hasta donde yo probé también funciona en Plasma 5. Si usáis KDE, recomiendo esta vía antes que utilizar la publicada hoy (que solo he probado con Unity). Más tarde, en 2015, publiqué un tutorial un poco complejo sobre cómo resolver los problemas de tearing presentes en Pillars of Eternity a través de la utilización del gestor de ventanas Openbox.

Hoy publico una vía diferente que no se si funciona con KDE, ya que ahora no tengo dicho entorno de escritorio instalado, pero sí me ha servido como alternativa a la solución que publiqué para Pillars of Eternity, aunque para aplicarla habrá que manipular el fichero de configuración de X11 directamente.

Si tenéis ya instalado el blob privativo de NVDIA, los suyo es editar el fichero /etc/X11/xorg.conf, pero posiblemente este no se encuentre, por lo que hay que generarlo a través del siguiente comando en Ubuntu (requiere tener instalado el blob privativo de NVIDIA):

sudo nvidia-xconfig

Esto tendría que generar el fichero /etc/X11/xorg.conf con una configuración por defecto. Una vez lo tengamos, hay que abrirlo con algún editor de texto con permisos de administrador. Tratándose de Ubuntu con Unity, vamos a usar Gedit, aunque igualmente podéis usar Kate, Nano, Vim o el que más os guste.

sudo gedit /etc/X11/xorg.conf

Ya con el fichero abierto, hay que poner la línea resaltada en negrita en la sección Screen:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 361.42 (buildmeister@swio-display-x64-rhel04-13) Tue Mar 22 18:37:28 PDT 2016

Section "ServerLayout"
 Identifier "Layout0"
 Screen 0 "Screen0"
 InputDevice "Keyboard0" "CoreKeyboard"
 InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
 # generated from default
 Identifier "Mouse0"
 Driver "mouse"
 Option "Protocol" "auto"
 Option "Device" "/dev/psaux"
 Option "Emulate3Buttons" "no"
 Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
 # generated from default
 Identifier "Keyboard0"
 Driver "kbd"
EndSection

Section "Monitor"
 Identifier "Monitor0"
 VendorName "Unknown"
 ModelName "Unknown"
 HorizSync 28.0 - 33.0
 VertRefresh 43.0 - 72.0
 Option "DPMS"
EndSection

Section "Device"
 Identifier "Device0"
 Driver "nvidia"
 VendorName "NVIDIA Corporation"
EndSection

Section "Screen"
 Identifier "Screen0"
 Device "Device0"
 Monitor "Monitor0"
 DefaultDepth 24
 Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"
 SubSection "Display"
 Depth 24
 EndSubSection
EndSection

Según los monitores que tengáis montados, podéis configurarlos uno a uno. Aquí tenemos un ejemplo de una gráfica que tiene conectados un monitor DVI y otro HDMI, habiendo asignado una resolución por defecto al monitor DVI.

Option "metamodes" "DVI-I-1: 1920x1200 +1920+0, HDMI-0: nvidia-auto-select +0+120 { ForceCompositionPipeline = On }"

Esta línea se tendría que colocar en el mismo lugar donde está ubicada la resaltada en negrita en /etc/X11/xorg.conf.

Recuerdo una vez más que los usuarios de KDE pueden optar por otra solución que en mi opinión es mejor, ya que es el gestor de ventanas el que pone fin a los problemas de tearing y sincronización vertical, mejorando así la integración y además es más sencilla de aplicar que la explicada aquí.

Advertencia, desplázate para continuar leyendo

Sin embargo, a pesar de que he conseguido eliminar el tearing en los juegos, no parece que este termine de desaparecer cuando hago un screencast. A día de hoy sigo investigando para ver cómo elimino los problemas de tearing y sincronización vertical cuando hago un screencast a un juego sobre Unity, ya que en KDE conseguí resolverlo usando XRender como compositor, no permitiendo el Flipping en la configuración de NVIDIA. Parece que esta configuración hecha a través de la manipulación de Compiz ha conseguido mitigar un poco los problemas, pero sin grandes resultados.

Configuración de NVIDIA para mitigar el tearing del driver privativo de NVIDIA

Configuración de Compiz para mitigar el tearing del driver privativo de NVIDIA 1

Configuración de Compiz para mitigar el tearing del driver privativo de NVIDIA 2

Fuente | The Linux Rain

81 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

Collabora ha anunciado que NVK, el driver de Vulkan de código abierto para Nouveau y que forma parte de Mesa, ya está listo para...

Actualidad

NVIDIA ejerce un fuerte dominio en el sector de la computación de propósito general sobre la unidad de procesamiento de gráficos (GPGPU) con CUDA,...

Actualidad

Mesa 24.0 ya ha sido publicada como la nueva versión mayor de la pila que se encarga de suministrar los soportes de OpenGL, Vulkan...

Actualidad

Mesa 23.3 ha sido anunciada como la nueva versión estable de la pila gráfica encargada de suministrar los drivers del espacio de usuario, los...