Extraños artefactos a lo largo de los bordes de las ventanas después de activar la computadora desde el modo de suspensión

118

NB: Nvidia ha lanzado una solución oficial; vea la respuesta de ByteCommander , mi propia respuesta y / o la respuesta de Kaz Wolfe .


Al activar Ubuntu 16.04 desde Suspend, aparecen las siguientes fallas gráficas en todas las ventanas, menús contextuales y similares:

ingrese la descripción de la imagen aquí


Actualmente se sabe que esto afecta las siguientes tarjetas NVIDIA que ejecutan los controladores propietarios:

  • NVIDIA GeForce 610M, versión del controlador 375.39, 340.102
  • NVIDIA GT 630M, versión del controlador 375.39
  • NVIDIA GTX 650, versión del controlador 375.39
  • NVIDIA GT 740M, versión del controlador 378.13
  • NVIDIA GTX 745, versión desconocida del controlador
  • NVIDIA GTX 850M, versión del controlador 375.39, 378.13
  • NVIDIA GT 940M, versión del controlador 375.39
  • NVIDIA GTX 950M, versión desconocida del controlador
  • NVIDIA GTX 960M, versión del controlador 378.13
  • NVIDIA GTX 970, versión del controlador 375.39
  • NVIDIA GTX 970M, versión del controlador 375.39
  • NVIDIA GTX 980 TI, versión desconocida del controlador
  • NVIDIA GTX 1060, versión del controlador 375.26, 375.39, 378.09
  • NVIDIA GTX 1070, versión del controlador 378.09

La lista anterior se ha obtenido de informes de otros usuarios aquí en AU, este hilo y este hilo.

NB: Esto no significa una lista exclusiva. Probablemente afecta a casi todas las tarjetas de Nvidia.

Además, este problema se ha replicado en una instalación limpia donde el único cambio fue una actualización de software y la instalación de los últimos controladores NVIDIA.


¿Qué está pasando y cómo se puede resolver?

Android Dev
fuente
¿Qué controlador de gráficos está utilizando y qué modelo de tarjeta gráfica tiene? Recientemente tuve el mismo problema con mi tarjeta 940M y algunas versiones del controlador propietario de nvidia después de suspender y volver a encender la computadora portátil. Por favor, editar la pregunta y añadir la salida de lspci -k | grep -iEA3 '3d|vga'la cual contiene toda la información solicitada. Gracias.
Byte Commander
1
Oh, en realidad también estoy teniendo este problema nuevamente , porque el nvidia-367controlador que utilicé se convirtió en un paquete de transición que se actualiza automáticamente nvidia-375, que era una de las versiones que causaban este error. Es hora de regañar a nvidia y escribir informes de errores.
Byte Commander
2
de hecho es un doblaje, pero intenta buscar en Google algo así como 'cosas extrañas en las esquinas' ... De todos modos, esas preguntas tienen respuestas pobres, mientras que la solución a continuación funciona como un encanto.
Ivan
1
@taylorswift - Parece que al menos otros 41 también tienen este problema: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/... Creo que tendremos que esperar a que Nvidia lo arregle.
Android Dev
También afecta GeForce GTX 950M.
conualfy

Respuestas:

77

NB: Esta fue una solución temporal hasta que Nvidia lanzó un controlador parcheado. Desplácese hacia abajo para encontrar las otras respuestas con la solución real. - Android Dev


Tengo el mismo problema con la GPU: Nvidia GTX 970 con el controlador nvidia 375.39 en Ubuntu 16.04.2 LTS

He observado esto desde una actualización reciente del controlador nvidia. Por lo tanto, sospecho que es un error en el controlador.

Encontré una respuesta en la pizarra de nvidia . Es un error confirmado en el controlador y, aparentemente, nvidia ya está trabajando en ello. Mientras tanto, uno puede reiniciar compiz con

compiz --replace

para deshacerse de los artefactos.

El error se encuentra en el sistema de seguimiento de errores de Ubuntu, que incluye una secuencia de comandos de solución alternativa para reiniciar automáticamente compiz después de reanudar.

Stefan
fuente
Otra solución sería degradar a la versión anterior del controlador: askubuntu.com/a/896544/657603
Antoine Dusséaux el
Gracias por la solución. No estoy seguro, pero dado que tengo este problema y también tengo otro problema: mi computadora portátil no siempre se suspende correctamente después de una hora como se configuró.
Skalár Wag
Cuando regresa de la suspensión, se inicia sesión automáticamente, antes de que solicite la contraseña, de todos modos, ¿para solucionarlo?
Hatem Jaber
2
compiz --replaceno se comporta bien con espacios de trabajo. Pone todas las ventanas de todos los espacios de trabajo en el primer espacio de trabajo :(
AlikElzin-kilaka
1
Tienes que mantener la terminal abierta con este comando. Si cierra el terminal, reiniciará compiz nuevamente. Esto funcionará hasta la próxima suspensión, no es una solución real, realmente no puedo ser funcional al ejecutar este comando varias veces al día. Fui a la solución anterior, cambiando el controlador.
conualfy
58

ACTUALIZACIÓN 2:

Nvidia ahora también actualizó sus nvidia-375controladores a la versión 375.66 , que está disponible en los repositorios estándar de Ubuntu de todas las versiones compatibles actualmente .

Eso significa que, de ahora en adelante, ya no debería tener que realizar ninguna acción especial , excepto hacer las actualizaciones normales del sistema como siempre. No necesita el paquete de controladores del graphics-driversPPA si no los quiere.

Aquí está el extracto del registro de cambios para el paquete de los repositorios principales en 16.04 con respecto a este error:

$ apt changelog nvidia-375=375.66-0ubuntu0.16.04.1

  [...]
    - Fixed a regression that caused corruption in certain
      applications, such as window border shadows in Unity, after
      resuming from suspend.
  [...]

ACTUALIZAR:

Nvidia finalmente ha solucionado este problema y lanzó una nueva versión de controlador que funciona: nvidia-381

La solución descrita en esta respuesta también se ha actualizado y ahora sugiere actualizar a esta versión fija en lugar de degradar a la última versión antes del error. Sin embargo, sigue siendo el mismo procedimiento, solo cambia los nombres de los paquetes.


Causa del problema:

Algunos de los paquetes de controladores gráficos de Nvidia patentados para Ubuntu (a saber, nvidia-375y nvidia-378) tienen errores y producen los artefactos blancos alrededor de los bordes de las ventanas que se muestran en las capturas de pantalla de la pregunta. Esto sucede de manera reproducible cada vez que suspende y despierta de nuevo.

Hasta hace unos días, el nvidia-367paquete en el repositorio de Xenial funcionaba bien y de manera confiable, pero ahora lo actualizaron y lo convirtieron en un paquete de transición que instala automáticamente la nvidia-375versión con errores .

Solución (actualizada después del lanzamiento de corrección de errores de Nvidia):

Asegúrese de que realmente tiene una tarjeta gráfica Nvidia, que está causando el problema, y ​​no una de una marca diferente que casualmente se comporta mal de una manera similar. La instalación de controladores Nvidia para tarjetas gráficas que no sean Nvidia no servirá de nada.

Puede verificar esto comprobando la salida del comando a continuación:

lspci -k | grep -iEA3 '3d|vga'

Mi solución por ahora es degradar desde nvidia-375o nvidia-378hacia nvidia-370, lo que parece funcionar bien hasta ahora.
Como Nvidia lanzó una nueva versión mejorada del controlador nvidia-381con este error corregido, podemos (y deberíamos) instalarlo en lugar de degradarlo.

Este paquete no está disponible en los repositorios estándar, pero puede obtenerlo fácilmente de un PPA y reemplazar su controlador actual con él ejecutando los siguientes comandos:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt purge nvidia*

sudo apt install nvidia-370

sudo apt install nvidia-381

Después de que termine ese procedimiento, reinicie su computadora y pruebe si todavía tiene algún problema. Para mí se habían ido. Buena suerte.

Byte Commander
fuente
1
Para los usuarios generales, preferiría la solución rápida que no cambia el controlador aquí en lugar de degradar los controladores. Dado que se lanzará una solución (y presumiblemente no muy lejos de ahora), en realidad es solo una incomodidad temporal. Sin embargo, si degrada los controladores, deberá recordar volver apta un estado en el que las actualizaciones adicionales se reciban automáticamente nuevamente. También tendrá que seguir buscando activamente la nueva versión correctamente reparada que se lanzará en lugar de solo esperar para obtenerla automáticamente: problema propenso e inconveniente.
Jason C
1
@JasonC No. Es nvidia-370muy probable que también se convierta en un paquete de transición como nvidia-367ya lo es, y por lo tanto esa actualización instalará automáticamente la versión del controlador nvidia / el equipo de controladores de gráficos considera el sucesor adecuado. El 370 es el controlador más reciente (y tal vez solo) actualmente compatible que no se ve afectado por este error, entonces, ¿por qué no usarlo? En comparación con el 367 que estaba en uso antes de la actualización que presenta este error, sigue siendo una actualización. Además, no estamos reteniendo ningún paquete ni anulando ninguna configuración adecuada, como parece pensar.
Byte Commander
1
@ByteCommander Eliminaré mi comentario en dos condiciones. 1) Mientras que esté 100% seguro de que se va a convertir en un paquete de transición, yo creo que (no estoy 100% seguro de mi declaración); o si no está 100% seguro, agregue una mención del riesgo a la respuesta, y 2) Si agrega una mención de cómo esto no afectará las actualizaciones futuras si se convierte en un paquete de transición, y qué hacer una vez La solución se publica, a la respuesta.
Jason C
1
@JasonC No es necesario eliminar tu comentario. Por razones obvias, no puedo garantizar lo que graphics-driversharán los encargados del mantenimiento de la PPA con sus paquetes en el futuro, solo puedo hacer suposiciones basadas en lo que hicieron en el pasado. Y mientras el 370 sea compatible, no hay necesidad de actuar, incluso cuando arreglen el 375 y el 378. Mi fuerte conjetura es que una vez que NVIDIA desaproveche el 370 (como lo hicieron recientemente con el 367), los encargados del mantenimiento de la PPA lo cambiarán. en un paquete de transición, lo que significa que la versión actualizada no contendrá más código, sino que agregará una dependencia al controlador más nuevo.
Byte Commander
2
@ Mattsmath no lo sé. Sólo el tiempo dirá. Tal vez nunca se agregará a los repositorios de versiones "anteriores" de Ubuntu que se lanzaron antes de ese paquete de controladores. No creo que sea posible dar una respuesta precisa a eso antes de que realmente haya sucedido.
Byte Commander
36

Esto se fue un error de los controladores de Nvidia.

Nvidia ha podido reproducir el problema, y están trabajando en una solución, que se incluirá en su próxima versión del controlador. (La solución se ha lanzado ahora, consulte la sección a continuación).

Consulte este hilo en los foros de desarrolladores de Nvidia para obtener más información. Este error también se ha informado en Launchpad .

¡Gracias a @Stefan por sus excelentes habilidades para descubrir esta información !


¡Nvidia finalmente ha lanzado una solución oficial!

  • La solución viene por cortesía del controlador beta 381.09 Captura de pantalla relevante del registro de cambios : ingrese la descripción de la imagen aquí

  • Este controlador no está actualmente en ningún repositorio

  • Hasta que cambie lo anterior, deberá instalar el nuevo controlador manualmente. Actualización: el controlador 381.09 ahora está en un repositorio no oficial. Puede instalar el controlador parcheado desde el PPA no oficial, o puede instalarlo manualmente.

  • ACTUALIZACIÓN - ARREGLAR AHORA EN REPO OFICIAL:

    ¡Felicitaciones a @ ubfan1 por informar de esto ! Vea la sección a continuación para más detalles.


1. Instalación del controlador parcheado [lanzamiento] desde el repositorio oficial (recomendado):

Nvidia lanzó una actualización de su controlador de lanzamiento el 05/04/2017, que contiene, entre otras cosas, la corrección de errores que está buscando. La versión actualizada del controlador recibió la versión375.66

Como se 375.66encuentra en el repositorio oficial, cargar el controlador parcheado es bastante simple.

  • Si actualmente está en la 375.39versión con errores , todo lo que se debe requerir es simple:

    sudo apt-get update
    sudo apt-get upgrade
    

  • Si está en el controlador heredado, entonces debe realizar:

    sudo apt-get update
    

    Luego, cambie a la nueva versión del controlador en Controladores adicionales:

    ingrese la descripción de la imagen aquí


  • Si actualmente está utilizando un controlador instalado manualmente, debe desinstalarlo, reiniciarlo y luego realizar los pasos descritos anteriormente.

Después de reiniciar, debería encontrar que su controlador Nvidia ha sido actualizado 375.66.


2. Si no necesita el controlador más nuevo para la compatibilidad con su GPU: *

* Tenga en cuenta que esta sección ha sido reemplazada por la sección # 1

Si su tarjeta gráfica es lo suficientemente antigua como para que sea compatible con la v340 del controlador, no es necesario instalar una versión más nueva de un PPA no oficial. Sin embargo, para las personas con tarjetas más nuevas como la serie GTX 9 o 10, necesitará un controlador más nuevo.

Para mayor comodidad, aquí hay una lista completa de las tarjetas compatibles con la versión 340 del controlador:

GeForce 800M Series (Notebooks):
GeForce GTX 880M, GeForce GTX 870M, GeForce GTX 860M, GeForce GTX 850M, GeForce 845M, GeForce 840M, GeForce 830M, GeForce 825M, GeForce 820M, GeForce 810M

GeForce 700 Series:
GeForce GTX TITAN Z, GeForce GTX TITAN Black, GeForce GTX TITAN, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 705

GeForce 700M Series (Notebooks):
GeForce GTX 780M, GeForce GTX 770M, GeForce GTX 765M, GeForce GTX 760M, GeForce GT 755M, GeForce GT 750M, GeForce GT 745M, GeForce GT 740M, GeForce GT 735M, GeForce GT 730M, GeForce GT 720M, GeForce GT 710M, GeForce 720M, GeForce 710M, GeForce 705M

GeForce 600 Series:
GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 635, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605

GeForce 600M Series (Notebooks):
GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 675M, GeForce GTX 670MX, GeForce GTX 670M, GeForce GTX 660M, GeForce GT 650M, GeForce GT 645M, GeForce GT 640M, GeForce GT 640M LE, GeForce GT 635M, GeForce GT 630M, GeForce GT 625M, GeForce GT 620M, GeForce 610M

GeForce 500 Series:
GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510

GeForce 500M Series (Notebooks):
GeForce GTX 580M, GeForce GTX 570M, GeForce GTX 560M, GeForce GT 555M, GeForce GT 550M, GeForce GT 540M, GeForce GT 525M, GeForce GT 520M, GeForce GT 520MX

GeForce 400 Series:
GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420, GeForce 405

GeForce 400M Series (Notebooks):
GeForce GTX 485M, GeForce GTX 480M, GeForce GTX 470M, GeForce GTX 460M, GeForce GT 445M, GeForce GT 435M, GeForce GT 425M, GeForce GT 420M, GeForce GT 415M, GeForce 410M, GeForce 405M

GeForce 300 Series:
GeForce GT 340, GeForce GT 330, GeForce GT 320, GeForce 315, GeForce 310

GeForce 300M Series (Notebooks):
GeForce GTS 360M, GeForce GTS 350M, GeForce GT 335M, GeForce GT 330M, GeForce GT 325M, GeForce GT 320M, GeForce 320M, GeForce 315M, GeForce 310M, GeForce 305M

GeForce 200 Series:
GeForce GTX 295, GeForce GTX 285, GeForce GTX 280, GeForce GTX 275, GeForce GTX 260, GeForce GTS 250, GeForce GTS 240, GeForce GT 230, GeForce GT 240, GeForce GT 220, GeForce G210, GeForce 210, GeForce 205

GeForce 200M Series (Notebooks):
GeForce GTX 285M, GeForce GTX 280M, GeForce GTX 260M, GeForce GTS 260M, GeForce GTS 250M, GeForce GT 240M, GeForce GT 230M, GeForce GT 220M, GeForce G210M, GeForce G205M

GeForce 100 Series:
GeForce GT 140, GeForce GT 130, GeForce GT 120, GeForce G100

GeForce 100M Series (Notebooks):
GeForce GTS 160M, GeForce GTS 150M, GeForce GT 130M, GeForce GT 120M, GeForce G 110M, GeForce G 105M, GeForce G 103M, GeForce G 102M

GeForce 9 Series:
GeForce 9800 GX2, GeForce 9800 GTX/GTX+, GeForce 9800 GT, GeForce 9600 GT, GeForce 9600 GSO, GeForce 9600 GSO 512, GeForce 9600 GS, GeForce 9500 GT, GeForce 9500 GS, GeForce 9400 GT, GeForce 9400, GeForce 9300 GS, GeForce 9300 GE, GeForce 9300 SE, GeForce 9300, GeForce 9200, GeForce 9100

GeForce 9M Series (Notebooks):
GeForce 9800M GTX, GeForce 9800M GTS, GeForce 9800M GT, GeForce 9800M GS, GeForce 9700M GTS, GeForce 9700M GT, GeForce 9650M GT, GeForce 9650M GS, GeForce 9600M GT, GeForce 9600M GS, GeForce 9500M GS, GeForce 9500M G, GeForce 9400M G, GeForce 9400M, GeForce 9300M GS, GeForce 9300M G, GeForce 9200M GS, GeForce 9100M G

GeForce 8 Series:
GeForce 8800 Ultra, GeForce 8800 GTX, GeForce 8800 GTS 512, GeForce 8800 GTS, GeForce 8800 GT, GeForce 8800 GS, GeForce 8600 GTS, GeForce 8600 GT, GeForce 8600 GS, GeForce 8500 GT, GeForce 8400 GS, GeForce 8400 SE, GeForce 8400, GeForce 8300 GS, GeForce 8300, GeForce 8200, GeForce 8100 /nForce 720a

GeForce 8M Series (Notebooks):
GeForce 8800M GTX, GeForce 8800M GTS, GeForce 8700M GT, GeForce 8600M GT, GeForce 8600M GS, GeForce 8400M GT, GeForce 8400M GS, GeForce 8400M G, GeForce 8200M G, GeForce 8200M

Quadro Series:
Quadro K6000, Quadro K5200, Quadro K5000, Quadro K4000, Quadro K4200, Quadro K2200, Quadro K2000, Quadro K2000D, Quadro K620, Quadro K600, Quadro K420, Quadro 6000, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 2000D, Quadro 600, Quadro 410, Quadro 400

Quadro Series (Notebooks):
Quadro K5100M, Quadro K5000M, Quadro K4100M, Quadro K4000M, Quadro K3100M, Quadro K2100M, Quadro K3000M, Quadro K2000M, Quadro K1100M, Quadro K1000M, Quadro K610M, Quadro K510M, Quadro K500M, Quadro 5010M, Quadro 5000M, Quadro 4000M, Quadro 3000M, Quadro 2000M, Quadro 1000M

Quadro FX Series:
Quadro CX, Quadro FX 370, Quadro FX 370 Low Profile, Quadro FX 380, Quadro FX 380 Low Profile, Quadro FX 570, Quadro FX 580, Quadro FX 1700, Quadro FX 1800, Quadro FX 3700, Quadro FX 3800, Quadro FX 4600, Quadro FX 4700 X2, Quadro FX 4800, Quadro FX 5600, Quadro FX 5800

Quadro FX Series (Notebooks):
Quadro FX 3800M, Quadro FX 3700M, Quadro FX 3600M, Quadro FX 2800M, Quadro FX 2700M, Quadro FX 1800M, Quadro FX 1700M, Quadro FX 1600M, Quadro FX 880M, Quadro FX 770M, Quadro FX 570M, Quadro FX 380M, Quadro FX 370M, Quadro FX 360M

Quadro NVS Series:
Quadro NVS 290, Quadro NVS 295, NVS 510, NVS 315, NVS 310, NVS 300, Quadro NVS 420, Quadro NVS 450

Quadro NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 5100M, NVS 4200M, NVS 3100M, NVS 2100M, Quadro NVS 320M, Quadro NVS 160M, Quadro NVS 150M, Quadro NVS 140M, Quadro NVS 135M, Quadro NVS 130M

Quadro Plex Series:
Quadro Plex Model II, Quadro Plex D Series, Quadro Plex Model IV, Quadro Plex 7000

Quadro Sync Series:
Quadro Sync, Quadro G-Sync II

Quadro SDI:
Quadro SDI

GRID Series:
GRID K2, GRID K520

NVS Series:
Quadro NVS 290, Quadro NVS 295, NVS 510, NVS 315, NVS 310, NVS 300, Quadro NVS 420, Quadro NVS 450

NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 5100M, NVS 4200M, NVS 3100M, NVS 2100M, Quadro NVS 320M, Quadro NVS 160M, Quadro NVS 150M, Quadro NVS 140M, Quadro NVS 135M, Quadro NVS 130M

ION (Desktops):
ION

ION (Notebooks):
ION

ION LE (Desktops):
ION LE

ION LE (Notebooks):
ION LE

Entonces, si su GPU es compatible con 340, simplemente puede cambiar a la versión 340 en Controladores adicionales. (La versión 340 no tiene este error).

ingrese la descripción de la imagen aquí

Asegúrese de reiniciar después de cambiar la versión del controlador.


3. Para instalar el controlador parcheado [beta] desde un PPA no oficial ( recomendado ):

  1. Enciende una terminal con CTRL+ ALT+T

  2. Ejecute estos comandos:

    sudo -i
    add-apt-repository ppa:graphics-drivers/ppa
    apt-get update
    apt-get install nvidia-381
    
  3. Reinicie su computadora, ¡y debería estar listo! Después de que tu computadora se reinicie, abre la Configuración del servidor Nvidia X. Con suerte, verá la nueva versión del controlador:

    ingrese la descripción de la imagen aquí


4. Para instalar manualmente el controlador parcheado [beta] ( NO recomendado):

Instalar los controladores de Nvidia desde el *.runarchivo generalmente no es una muy buena idea. Tiende a romper cosas. Por lo tanto, es mejor instalarlos desde un PPA, como se describió anteriormente. Sin embargo, si eres aventurero y quieres instalarlo manualmente, este es el proceso que funcionó para mí con Ubuntu 16.04 y una GTX650.

Antes de instalar el controlador parcheado, DEBE desinstalar su controlador propietario actual y cambiar al controlador Nouveau:

ingrese la descripción de la imagen aquí

Asegúrese de reiniciar después de cambiar. ¡SI NO DESINSTALA SU CONDUCTOR PROPIETARIO ACTUAL, EL NUEVO CONDUCTOR CONFLICTARÁ CON EL ANTIGUO Y USTED ROMPERÁ LAS COSAS!

  1. Descargue el archivo del controlador parcheado de Nvidia. Aquí hay un enlace directo.

  2. Guarde el archivo en su carpeta de descargas

  3. Cierre sesión en su sesión de GUI (debe terminar en la pantalla de inicio de sesión antes de continuar)

  4. Arranca tty1con CTRL+ ALT+F1

  5. Inicie sesión con sus credenciales normales

  6. Ejecute estos comandos:

    sudo service lightdm stop
    cd Downloads
    chmod +x NVIDIA-Linux-x86_64-381.09.run
    sudo ./NVIDIA-Linux-x86_64-381.09.run
    
  7. Acepte el acuerdo de licencia:

    ingrese la descripción de la imagen aquí

  8. Se quejará de que el script de preinstalador proporcionado por la distribución falló. De todas maneras, continúe:

    ingrese la descripción de la imagen aquí

  9. Seleccione Yescuando se le pregunte si desea registrar el módulo del núcleo con dkms:

    ingrese la descripción de la imagen aquí

  10. Seleccione Yescuando se le pregunte si desea instalar las bibliotecas de compatibilidad de 32 bits:

    ingrese la descripción de la imagen aquí

  11. Tomará un tiempo construir el módulo del kernel, ¡así que tenga paciencia!

    ingrese la descripción de la imagen aquí

  12. Seleccione Yescuando se le pregunte si desea ejecutar nvidia-xconfig:

    ingrese la descripción de la imagen aquí

  13. Seleccione Okpara salir del instalador

  14. ¡Casi allí! Ahora solo ejecuta estos comandos:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. Después de que tu computadora se reinicie, abre la Configuración del servidor Nvidia X. Con suerte, verá la nueva versión del controlador:

    ingrese la descripción de la imagen aquí

Android Dev
fuente
1
NOTA : el paso 14 se usó cuando el escritorio de Unity de la respuesta no apareció como se discutió en la sala de chat Ask Ubuntu. Puede que no sea necesario, pero si su escritorio Unity no aparece, use ese paso como solución.
Sergiy Kolodyazhnyy
Lo siento, pero debo discutir con esta solución. Me condujo a un error que me hizo no poder iniciar sesión e incompatibilidad con los softwares de Windows instalados. Tal problema de inicio de sesión es común si instala archivos .run desde el sitio nvidia en lugar de usar las fuentes disponibles en ubuntu. Una forma mucho más sencilla de solucionar este problema sería utilizar la versión 340, disponible entre los controladores que se pueden elegir en el menú Software y Actualizaciones. Al menos funcionó arreglando todo para mí.
Giorgio Vitanza
@GiorgioVitanza: sé que instalar los .runarchivos no es realmente la forma recomendada de hacer las cosas. Pero, usar el controlador 340 no es una opción para personas con una tarjeta más nueva como la serie 10. Probé esta solución en mi propia computadora, y funcionó bien.
Android Dev
@GiorgioVitanza Pruebe mi respuesta: instala controladores de los PPA, que deberían ser mucho más compatibles que los archivos ejecutados.
Kaz Wolfe
@GiorgioVitanza: ahora que el controlador está en un PPA, he actualizado mi respuesta para incluir ambos métodos.
Android Dev
7

Este problema está presente en los controladores 375 y 378 ...


Dado que simplemente matar el proceso de compiz soluciona el problema del borde malo, he probado una solución que funciona en mi sistema Ubuntu 16.04 cada vez que el sistema se activa.

Paso 1:

Creé un script llamado fixbadbordersen el directorio /lib/systemd/system-sleep. Contenía lo siguiente:

#!/bin/sh
## This file (or a link to it) must be in the folder /lib/systemd/system-sleep/
## Purpose: Kill compiz after system wakes up from sleep.
## This will fix bad window borders caused by Nvidia driver 375.39.
kill $(ps -C compiz -o pid=)

Paso 2:

Permitió que el script tenga permiso de ejecución con:

sudo chmod +x fixbadborders

Para eliminar este script:

sudo rm /lib/systemd/system-sleep/fixbadborders

Todos los créditos van a Sun Bear, quien creó este guión comentario 13

Victor A.
fuente
Es mejor marcar las preguntas como duplicadas en lugar de publicar la misma solución una y otra vez
Zanna
3
Su desventaja es que mi pantalla de inicio de sesión nunca se muestra cuando entra en el desctop desde el sueño :(
Hesam
6

NVIDIA ha lanzado una versión actualizada del controlador que ha solucionado esta regresión. Cualquier controlador pasado 381.09 ya no tendrá este problema, hasta que NVIDIA vuelva a fallar.

Hasta el momento en que el controlador llegue a los repositorios principales, se pueden descargar del controlador PPA no oficial de NVIDIA. Hacer esto garantiza que no necesitará meterse con el instalador (que se considera una mala idea) o con Nouveau. Del mismo modo, permitirá que los controladores se instalen / desinstalen en aptlugar de la configuración media peligrosa en la que el instalador de NVIDIA deja los controladores. Además, esto no causará ningún bucle de inicio de sesión o errores a menos que tenga un sistema extraño. Para instalar, ejecute:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-381

Los controladores antiguos se desinstalarán automáticamente y los nuevos se cargarán. Continúe reiniciando su computadora (ya que los controladores NVIDIA deben integrarse en el núcleo), y todo debería funcionar bien. Puede verificar que los controladores se instalaron correctamente ejecutando el siguiente comando:

nvidia-settings --version

Asegúrese de revertir los parches descritos en esta publicación antes de actualizar a los últimos controladores. Por ejemplo, si instaló la versión parcheada de Unity como se describe a continuación, ejecute este comando para volver a la versión normal:

sudo ppa-purge ppa:kaihengfeng/lp1292830 

Tenga en cuenta que necesitará ppa-purgeinstalarlo, lo que puede hacerse así:

sudo apt install ppa-purge

Si la actualización no es una opción (una tarjeta demasiado antigua, la política de la empresa, etc.):

Kai-Heng Feng de Launchpad ha tenido la amabilidad de subir una versión de Unity a su propio PPA ( ppa:kaihengfeng/lp1292830) que debería solucionar este problema. Para resolver este problema, simplemente agregue su PPA ejecutando estos comandos:

sudo add-apt-repository ppa:kaihengfeng/lp1292830 
sudo apt update
sudo apt full-upgrade

Una vez que haya terminado, reinicie su sistema o reinicie X11 cerrando sesión y luego volviendo a iniciarla.

Alternativamente, también puede hacer lo siguiente:

  • Cambie a la tarjeta Intel
    Si está ejecutando NVIDIA Prime, puede cambiar a la tarjeta Intel, lo que resolverá este problema. Sin embargo, tenga en cuenta que evitará que el sistema use la potencia de gráficos completa.
  • Controladores de degradación
    Según algunos comentarios sobre el informe de error , la degradación al controlador NVIDIA 367.57 debería resolver el problema por completo. Como esto ya no está presente en los PPA, deberá descargarlo directamente desde NVIDIA (64 bits) (32 bits) (ARM de 32 bits) .
Kaz Wolfe
fuente
367 ya no parece existir, tanto en los repositorios oficiales de Ubuntu como en el graphics-drivers/ppaPPA, ese paquete es un "paquete de transición para nvidia-375, por lo que al instalarlo obtendrá automáticamente la versión 375 con errores. Si conoce una fuente de dónde obtener el viejo controlador 367 de, debe incluirlo en su respuesta.
Byte Commander
@ByteCommander hecho
Kaz Wolfe
Para su información, en caso de que se lo haya perdido, el controlador parcheado ahora está en el repositorio oficial.
Android Dev
3

La solución propuesta por Victor A. funciona bien. Sin embargo, debe tener en cuenta que los scripts colocados /lib/systemd/system-sleep/se ejecutan tanto cuando la computadora se duerme como cuando se despierta. Dado que solo queremos lo posterior, el uso del script propuesto ralentiza el proceso de ir a dormir innecesariamente. Recomiendo el siguiente:

#!/bin/sh
if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
    case "$1" in
        post) kill $(ps -C compiz -o pid=) ;;
    esac
fi

Sin embargo, una advertencia. Este script (así como el propuesto por Victor A.) deshabilitará la pantalla de solicitud de contraseña al despertar, lo que constituye un riesgo de seguridad.

LGenzelis
fuente
3

Este problema también se ha solucionado en el controlador Nvidia 375.66, que se encuentra en los repositorios normales, y las actualizaciones normales deberían instalarlo.

ubfan1
fuente
Bonito detective! He actualizado mi respuesta para reflejar este nuevo desarrollo, y le he acreditado por descubrir que ahora hay una versión parcheada en el repositorio oficial :)
Android Dev
2

Esta no es una solución completa, pero puede ser mejor que usar compiz --replaceo reiniciar compiz y estropear sus espacios de trabajo.

Cuando reanudo la suspensión, hago esto:

  • Sistema -> Preferencias -> Apariencia
  • Cambiar tema a tema diferente
  • Cambiar de nuevo al tema original

Esto volverá a cargar lo que parecen ser texturas corruptas en la GPU. Si hay una manera de forzar automáticamente que las texturas del tema se vuelvan a cargar en el currículum, esa podría ser una solución permanente.

aidave
fuente
1
Nvidia ha lanzado un controlador parcheado , esto ya no es un problema
Android Dev
1

Hay otra forma de resolver este problema. (No lo recomiendo si tiene muchos procesos en ejecución).

Simplemente mata a Xorg después de despertar la computadora.

Encuentra el PID de Xorg por:

top

Cuando encuentre el pid de Xorg, presione Ctrl + C para detener el proceso "superior".

Ir a la raíz y matar el proceso por:

sudo su
kill [pid]

Después de eso, inicie sesión en su cuenta.

Advertencia: esto cerrará todas sus aplicaciones. Firefox no hace ningún problema al respecto, solo restaurará todas sus pestañas, pero no puedo garantizar otras aplicaciones, así que guárdelas antes de realizar este proceso.

Hobareey
fuente
2
Por cierto, para cerrar la forma estándar, en lugar de simplemente cancelar la tarea (Ctrl + C), puede presionar 'q'.
anónimo2
0

Intenté cambiar el controlador a uno actualizado, pero estaba arruinando mi capacidad de hacer un aprendizaje profundo con Tensorflow, así que volví al software original con errores.

Esto sucede cada vez que despierto Ubuntu de dormir. Acabo de abrir un terminal CTRL+ ALT+ Ty escribo

killall compiz

La pantalla se restablece y la falla desaparece. Solo toma unos segundos. Incluso puedes usar un alias en tu me ~/.bashrcgusta alias kc='killall compiz'para que solo tengas que escribir kccuando quieras ejecutar el comando.

palabras por el contrario
fuente