La pantalla (lentamente) se vuelve negra después de las aplicaciones de pantalla completa

13

Cada vez que visualizo ciertas aplicaciones en pantalla completa, mi pantalla completa comenzará a cubrirse lentamente con un filtro negro de arriba hacia abajo (vea este video de YouTube ).

Al intentar actualizar la pantalla (por ejemplo, mover el cursor del mouse o un juego que dibuja un nuevo marco), la barra negra comenzará desde la parte superior nuevamente. Hacer esto también puede causar parpadeo y decoloración en la pantalla.

Ciertas aplicaciones (como Firefox y el terminal) no exhibirán este comportamiento, pero otras (como Google Chrome, Discord y varios juegos) lo harán. Ninguna aplicación exhibe este comportamiento cuando se ejecuta en el controlador Nouveau.

Volver a una aplicación que se redibuja constantemente (como el escritorio de Unity) hará que la pantalla negra ya no avance, pero también causará un ligero parpadeo que se desvanecerá con el tiempo.

No puedo tomar una captura de pantalla o grabarla. Esto me sugiere que esto es algo de nivel inferior que el servidor X o mi administrador de pantalla.

Este error no parece ocurrir en una sesión de invitado (o aún no he podido reproducirlo allí), lo que sugiere que algo relacionado con una configuración incorrecta está en juego. Sin embargo, la creación de una nueva cuenta será llevar este error con él.

Que esta pasando? ¿Es esto solo un error del controlador? ¿Es este un error de configuración que solo necesita repararse de alguna manera?

Lista actual de cosas probadas (que no funcionó):

  • Restablecer todas las configuraciones de Unity
  • Eliminar el archivo de configuración de NVIDIA y regenerar
  • Desinstalar / reinstalar controladores NVIDIA
  • Usar controladores NVIDIA más antiguos
  • Usar un administrador de pantalla alternativo ( xdm)

Deshabilitar la aceleración de hardware en Chrome permite que funcione sin este problema, pero esto aún no resuelve el problema subyacente: no siempre es una opción para deshabilitar la aceleración de hardware.

Si es posible, prefiero evitar restablecer un perfil o volver a utilizar controladores de código abierto. Estos son los dos últimos recursos en mi mente y todavía no sabré por qué sucedió esto, lo que significa que no puedo informar un error o evitar activarlo accidentalmente en mi nuevo perfil si sigo esa ruta.


Sistema operativo: Ubuntu 16.04 LTS
Kernel: 4.10.0-36-generic, 4.11.0-14-generic
Tarjeta gráfica: Nvidia GTX 1080 (no Optimus)
Controlador GC: NVIDIA 387.12, repro con 384.90 y 381.22

Kaz Wolfe
fuente
Entonces, el problema no ocurre cuando lo usas nouveauy no ocurre cuando lo usas nvidiao nouveaucon un usuario invitado, ¿estoy ahí? No tiene idea de cuándo comenzó esto y qué pudo haber hecho en ese entonces, ¿verdad?
postre
1
No lo noté con Nouveau, aunque admito que no lo probé a fondo. Tampoco pude reproducirlo en la sesión de invitado. Iré y probaré eso solo para estar seguro.
Kaz Wolfe el
Respuesta eliminada ya que no parece funcionar. Hazme un ping si nadie puede encontrar una solución. También hágame ping en el chat en algún momento cuando esté en línea para que podamos investigar más a fondo ...
Fabby
@Fabby Por favor, siéntase libre de unirse al postre de sala de chat vinculado anteriormente, y responderé todas y cada una de las preguntas lo antes posible.
Kaz Wolfe el

Respuestas:

6

Habilite Force Composition Pipeline o Force Full Composition Pipeline en la pantalla afectada desde la nvidia-settingsaplicación.

Cosa para hacer clic

Después de esto, haga clic en Aplicar . La pantalla puede parpadear momentáneamente, pero el problema se resolverá inmediatamente después.


Alternativamente, si prefiere no tener un Xorg.confarchivo verdadero (generalmente una buena idea), simplemente coloque lo siguiente en /usr/share/X11/xorg.conf.d/20-nvidia.conf(crear si no existe):

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
EndSection

Reinicie su administrador de pantalla usando systemctl restart lightdm.servicey funcionará perfectamente.


Descargo de responsabilidad: no tengo idea de cómo esto soluciona el problema. Simplemente lo hace.

Kaz Wolfe
fuente