Strani artefatti lungo i bordi della finestra dopo aver riattivato il computer dalla modalità sospensione


118

NB: Nvidia ha rilasciato una correzione ufficiale; per favore vedi la risposta di ByteCommander , la mia risposta e / o la risposta di Kaz Wolfe .


Al risveglio di Ubuntu 16.04 da Suspend, i seguenti problemi grafici compaiono attorno a tutte le finestre, i menu di scelta rapida e simili:

inserisci qui la descrizione dell'immagine


Questo è attualmente noto per influenzare le seguenti schede NVIDIA che eseguono i driver proprietari:

  • NVIDIA GeForce 610M, versione driver 375.39, 340.102
  • NVIDIA GT 630M, versione driver 375.39
  • NVIDIA GTX 650, versione del driver 375.39
  • NVIDIA GT 740M, versione driver 378.13
  • NVIDIA GTX 745, versione driver sconosciuta
  • NVIDIA GTX 850M, versione driver 375.39, 378.13
  • NVIDIA GT 940M, versione driver 375.39
  • NVIDIA GTX 950M, versione driver sconosciuta
  • NVIDIA GTX 960M, versione del driver 378.13
  • NVIDIA GTX 970, versione del driver 375.39
  • NVIDIA GTX 970M, versione del driver 375.39
  • NVIDIA GTX 980 TI, versione driver sconosciuta
  • NVIDIA GTX 1060, versione del driver 375.26, 375.39, 378.09
  • NVIDIA GTX 1070, versione del driver 378.09

L'elenco sopra riportato è stato ricavato dai report di altri utenti qui su AU, questo thread e questo thread.

NB: questo non significa assolutamente un elenco esclusivo. Probabilmente ha effetto su quasi tutte le carte Nvidia.

Inoltre, questo problema è stato replicato su un'installazione pulita in cui l'unica modifica era un aggiornamento software e l'installazione dei driver NVIDIA più recenti.


Cosa sta succedendo e come può essere risolto?


Quale driver grafico stai usando e quale modello di scheda grafica hai? Di recente ho avuto lo stesso problema con la mia scheda 940M e alcune versioni del driver proprietario di nvidia dopo aver sospeso e risvegliato il laptop. Si prega di modificare la domanda e aggiungere l'uscita lspci -k | grep -iEA3 '3d|vga', che contiene tutte le informazioni richieste. Grazie.
Byte Commander

1
Oh, in realtà sto riscontrando di nuovo anche questo problema , perché il nvidia-367driver che ho usato è diventato un pacchetto di transizione che si aggiorna automaticamente nvidia-375, che era una delle versioni che causavano questo errore. Tempo di infastidire nvidia e scrivere segnalazioni di bug.
Byte Commander

2
questo è davvero un dub ma prova a cercare su Google qualcosa come "cose ​​strane dietro gli angoli" ... Comunque quelle domande hanno risposte scarse mentre la soluzione qui sotto funziona come un fascino.
Ivan

1
@taylorswift - Sembra che almeno altri 41 abbiano questo problema: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/… Credo che dovremo solo aspettare che Nvidia lo risolva .
Dev Android

Colpisce anche GeForce GTX 950M.
Conualfy il

Risposte:


77

NB: Questa è stata una soluzione temporanea fino a quando Nvidia ha rilasciato un driver con patch. Scorri verso il basso per trovare le altre risposte con la correzione effettiva. - Dev Android


Ho lo stesso problema con la GPU: Nvidia GTX 970 con driver nvidia 375.39 su Ubuntu 16.04.2 LTS

L'ho osservato da un recente aggiornamento del driver nvidia. Ho quindi il sospetto che si tratti di un bug nel driver.

Ho trovato una risposta sulla scheda nvidia . È un bug confermato nel driver e sembra che nvidia ci stia già lavorando. Nel frattempo, è possibile riavviare compiz con

compiz --replace

per sbarazzarsi dei manufatti.

Il bug si trova nel sistema di tracciamento dei bug di Ubuntu, incluso uno script di soluzione alternativa per riavviare automaticamente compiz dopo il ripristino.


Un'altra soluzione sarebbe quella di eseguire il downgrade alla versione precedente del driver: askubuntu.com/a/896544/657603
Antoine Dusséaux,

Grazie per la soluzione alternativa. Non ne sono sicuro, ma dal momento che ho questo problema e ho anche un altro problema: il mio laptop non è sempre sospeso correttamente dopo un'ora come impostato.
Skalár Wag,

Quando torna dalla modalità di sospensione, viene automaticamente effettuato l'accesso, prima che venga richiesta la password, comunque per risolvere il problema?
Hatem Jaber,

2
compiz --replacenon si comporta bene con le aree di lavoro. Mette tutte le finestre di tutte le aree di lavoro nel primo spazio di lavoro :(
AlikElzin-kilaka

1
Devi tenere aperto il terminale con questo comando. Se chiudi il terminale, riavvierà nuovamente compiz. Funzionerà fino alla prossima sospensione, non è una vera soluzione, non posso davvero funzionare con l'esecuzione di questo comando alcune volte al giorno. Siamo andati alla soluzione sopra, cambiando il driver.
Conualfy il

58

AGGIORNAMENTO 2:

Nvidia ora ha anche aggiornato i propri nvidia-375driver alla versione 375.66 , disponibile dai repository Ubuntu standard di tutte le versioni attualmente supportate .

Ciò significa che d'ora in poi non dovresti più dover intraprendere azioni speciali , tranne per fare i normali aggiornamenti di sistema come sempre. Non è necessario il pacchetto driver dal graphics-driversPPA se non li si desidera.

Ecco l'estratto del log delle modifiche per il pacchetto dai repository principali su 16.04 relativo a questo bug:

$ 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.
  [...]

AGGIORNARE:

Nvidia ha finalmente risolto questo problema e rilasciato una nuova versione del driver funzionante: nvidia-381

Anche la soluzione descritta in questa risposta è stata aggiornata e ora suggerisce di aggiornare a questa versione fissa invece di passare all'ultima versione precedente al bug. Rimane comunque la stessa procedura, basta cambiare i nomi dei pacchetti.


Causa del problema:

Alcuni dei pacchetti proprietari di driver grafici Nvidia per Ubuntu (vale a dire nvidia-375e nvidia-378) sono corretti e producono artefatti bianchi attorno ai bordi delle finestre che sono mostrati nei tuoi screenshot nella domanda. Questo accade in modo riproducibile ogni volta che ti sospendi e ti svegli di nuovo.

Fino a qualche giorno fa, il nvidia-367pacchetto nel repository di Xenial funzionava bene e in modo affidabile, ma ora lo hanno aggiornato e convertito in un pacchetto di transizione che installa automaticamente nvidia-375invece la versione con errori .

Soluzione (aggiornata dopo il rilascio di bugfix da Nvidia):

Assicurati di avere davvero una scheda grafica Nvidia, che sta causando il problema, e non una di una marca diversa che, per coincidenza, si comporta in modo simile. L'installazione di driver Nvidia per schede grafiche non Nvidia non funzionerà.

Puoi verificarlo controllando l'output del comando seguente:

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

La mia soluzione per ora è il downgrade da nvidia-375o nvidia-378verso nvidia-370, che sembra funzionare bene finora.
Dato che Nvidia ha rilasciato una nuova versione aggiornata del driver nvidia-381con questo bug corretto, possiamo (e dovremmo) installarne una invece di eseguire il downgrade.

Questo pacchetto non è disponibile dai repository standard, ma è possibile ottenerlo facilmente da un PPA e sostituirlo con il driver corrente eseguendo i comandi seguenti:

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

Al termine di tale procedura, riavviare il computer e verificare se si verificano ancora problemi. Per me se ne erano andati. In bocca al lupo.


1
Per gli utenti generici, preferirei la soluzione rapida che non cambia il driver qui piuttosto che il downgrade dei driver. Dato che una correzione verrà rilasciata (e presumibilmente non troppo lontano da ora), è davvero solo un disagio temporaneo. Se esegui il downgrade dei driver, tuttavia, dovrai ricordarti di tornare apta uno stato in cui ulteriori aggiornamenti vengono ricevuti di nuovo automaticamente. Dovrai anche continuare a controllare attivamente che la nuova versione corretta sia rilasciata invece di aspettare solo per ottenerla automaticamente - Problema incline e scomodo.
Jason C

1
@JasonC No. nvidia-370Probabilmente si trasformerà anche in un pacchetto di transizione proprio come nvidia-367già è, e quindi quell'aggiornamento installerebbe automaticamente la versione del driver nvidia / il team di driver grafici ritiene che sia il successore adatto. Il 370 è l'ultimo (e forse solo) driver attualmente supportato che non è interessato da questo errore, quindi perché non utilizzarlo? Rispetto al 367 che era in uso prima dell'aggiornamento che introduceva questo bug, è ancora un aggiornamento. Inoltre, non stiamo trattenendo alcun pacchetto o sovrascrivendo alcuna configurazione apt, come sembra pensare.
Byte Commander

1
@ByteCommander Eliminerò il mio commento in due condizioni. 1) Fino a quando sei sicuro al 100% che si trasformerà in un pacchetto di transizione, io credo che tu (io non sono sicuro al 100% nella mia dichiarazione); o se non sei sicuro al 100%, aggiungi una menzione del rischio alla risposta e 2) Se aggiungi una menzione di come ciò non influirà sugli aggiornamenti futuri se diventa un pacchetto di transizione e cosa fare una volta la correzione viene rilasciata, alla risposta.
Jason C

1
@JasonC Non è necessario eliminare il tuo commento. Posso per ovvi motivi non garantire ciò che i manutentori del graphics-driversPPA faranno con i loro pacchetti in futuro, posso solo fare ipotesi basate su ciò che hanno fatto in passato. E fintanto che il 370 è supportato, non è necessario agire, anche quando riparano il 375 e il 378. La mia ipotesi forte è che una volta che nvidia deprecherà il 370 (come hanno fatto di recente con il 367), i manutentori di PPA lo trasformeranno in un pacchetto di transizione, il che significa che la versione aggiornata non conterrà più codice ma aggiungerà una dipendenza al driver più recente.
Byte Commander

2
@Matsmath non lo so. Solo il tempo lo dirà. Forse non verrà mai aggiunto ai repository delle versioni "precedenti" di Ubuntu rilasciate prima di quel pacchetto di driver. Non penso che sia possibile dare una risposta accurata a ciò prima che sia realmente accaduto.
Byte Commander

36

Questo è stato un errore nei driver Nvidia.

Nvidia è stata in grado di riprodurre il problema e stanno lavorando a una correzione, che sarà inclusa nella prossima versione del driver. (La correzione è stata ora rilasciata, vedere la sezione seguente).

Vedi questa discussione sui forum degli sviluppatori di Nvidia per ulteriori informazioni. Questo errore è stato segnalato anche su Launchpad .

Grazie a @Stefan per le sue grandi doti di sluth nel scoprire queste informazioni !


Nvidia ha finalmente rilasciato una correzione ufficiale!

  • La correzione viene cortesia di conducente beta 381,09 screenshot rilevanti dal changelog : inserisci qui la descrizione dell'immagine

  • Questo driver non è attualmente in alcun repository

  • Fino a quando le modifiche sopra riportate, sarà necessario installare manualmente il nuovo driver Aggiorna: il driver 381.09 si trova ora in un repository non ufficiale. È possibile installare il driver con patch dal PPA non ufficiale oppure installarlo manualmente.

  • AGGIORNAMENTO - FIX NOW IN REPO UFFICIALE:

    Complimenti a @ ubfan1 per aver segnalato questo ! Vedere la sezione seguente per i dettagli


1. Installazione del driver [release] patchato dal repository ufficiale (consigliato):

Nvidia ha inviato un aggiornamento al driver di rilascio il 05/04/2017, contenente, tra le altre cose, la correzione dei bug che stai cercando. Al driver di rilascio aggiornato è stata assegnata la versione375.66

Dato che si 375.66trova nel repository ufficiale, caricare il driver con patch è abbastanza semplice.

  • Se sei attualmente sulla 375.39versione buggy , tutto ciò che dovrebbe essere richiesto è un semplice:

    sudo apt-get update
    sudo apt-get upgrade
    

  • Se si utilizza il driver legacy, è necessario eseguire un:

    sudo apt-get update
    

    Seguito passando alla nuova versione del driver in Driver aggiuntivi:

    inserisci qui la descrizione dell'immagine


  • Se si sta attualmente utilizzando un driver installato manualmente, è necessario disinstallarlo, riavviare e quindi eseguire i passaggi descritti sopra.

Dopo il riavvio, dovresti scoprire che il tuo driver Nvidia è stato aggiornato 375.66.


2. Se non è necessario il driver più recente per la compatibilità con la GPU: *

* Nota che questa sezione è stata sostituita dalla sezione # 1

Se la scheda grafica è abbastanza vecchia da essere supportata dalla v340 del driver, non è necessario installare una versione più recente da un PPA non ufficiale. Per le persone con schede più recenti come la GTX serie 9 o serie 10, tuttavia, sarà necessario un driver più recente.

Per comodità, ecco un elenco completo delle carte supportate dalla versione 340 del driver:

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

Quindi, se la tua GPU è supportata da 340, puoi semplicemente passare alla versione 340 in Driver aggiuntivi. (La versione 340 non ha questo errore.)

inserisci qui la descrizione dell'immagine

Assicurati di riavviare dopo aver cambiato la versione del driver.


3. Per installare il driver [beta] patchato da un PPA non ufficiale ( consigliato ):

  1. Accendi un terminale con CTRL+ ALT+T

  2. Esegui questi comandi:

    sudo -i
    add-apt-repository ppa:graphics-drivers/ppa
    apt-get update
    apt-get install nvidia-381
    
  3. Riavvia il computer e dovresti essere pronto per partire! Dopo il riavvio del computer, apri Impostazioni server Nvidia X. Con un po 'di fortuna, vedrai la nuova versione del driver:

    inserisci qui la descrizione dell'immagine


4. Per installare manualmente il driver [beta] patchato ( NON consigliato):

L'installazione dei driver Nvidia dal *.runfile non è generalmente una buona idea. Tende a rompere le cose. Pertanto, è meglio installarli da un PPA, come descritto sopra. Tuttavia, se sei avventure e vuoi installarle manualmente, questo è il processo che ha funzionato per me con Ubuntu 16.04 e una GTX650.

Prima di installare il driver con patch, DEVI disinstallare il tuo attuale driver proprietario e passare al driver Nouveau:

inserisci qui la descrizione dell'immagine

Assicurati di riavviare dopo il passaggio. SE NON FAI PER DISINSTALLARE IL TUO CORRENTE DRIVER DI PROPRIETÀ, IL NUOVO DRIVER SARÀ CONFLITTO CON IL VECCHIO E RUBRERAI LE COSE!

  1. Scarica il file del driver con patch da Nvidia. Ecco un link diretto.

  2. Salva il file nella cartella dei download

  3. Esci dalla sessione della tua GUI (dovresti finire nella schermata di accesso prima di continuare)

  4. Accendi tty1con CTRL+ ALT+F1

  5. Accedi con le tue normali credenziali

  6. Esegui questi comandi:

    sudo service lightdm stop
    cd Downloads
    chmod +x NVIDIA-Linux-x86_64-381.09.run
    sudo ./NVIDIA-Linux-x86_64-381.09.run
    
  7. Accetta il contratto di licenza:

    inserisci qui la descrizione dell'immagine

  8. Si lamenterà che lo script preinstaller fornito dalla distribuzione non è riuscito. Continua comunque:

    inserisci qui la descrizione dell'immagine

  9. Seleziona Yesquando ti viene chiesto se desideri registrare il modulo del kernel con dkms:

    inserisci qui la descrizione dell'immagine

  10. Seleziona Yesquando ti viene chiesto se desideri installare le librerie di compatibilità a 32 bit:

    inserisci qui la descrizione dell'immagine

  11. Ci vorrà del tempo per compilare il modulo del kernel, quindi sii paziente!

    inserisci qui la descrizione dell'immagine

  12. Seleziona Yesquando ti viene chiesto se desideri eseguire nvidia-xconfig:

    inserisci qui la descrizione dell'immagine

  13. Selezionare Okper uscire dal programma di installazione

  14. Quasi lì! Ora esegui questi comandi:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. Dopo il riavvio del computer, apri Impostazioni server Nvidia X. Con un po 'di fortuna, vedrai la nuova versione del driver:

    inserisci qui la descrizione dell'immagine


1
NOTA : il passaggio 14 è stato utilizzato quando il desktop Unity di answer non veniva visualizzato, come è stato discusso nella chat room di Ubuntu. Potrebbe non essere necessario, ma se il desktop Unity non viene visualizzato, utilizzare quel passaggio come soluzione.
Sergiy Kolodyazhnyy,

Scusa ma devo discutere con questa soluzione. Mi ha portato a un errore che mi ha impedito di accedere e incompatibilità con i software Windows installati. Tale problema di accesso è comune se si installano file .run dal sito nvidia invece di utilizzare le fonti disponibili in Ubuntu. Un modo molto più semplice per risolvere questo problema sarebbe utilizzare la versione 340, disponibile direttamente tra i driver selezionabili nel menu Software e Aggiornamenti. Almeno ha funzionato sistemando tutto per me.
Giorgio Vitanza,

@GiorgioVitanza - So che l'installazione dei .runfile non è davvero il modo consigliato di fare le cose. Ma l'uso del driver 340 non è un'opzione per le persone con una scheda più recente come la serie 10. Ho testato questa soluzione sul mio computer e ha funzionato bene.
Dev Android

@GiorgioVitanza Prova la mia risposta: installa i driver dai PPA, che dovrebbero essere molto più compatibili dei file di esecuzione.
Kaz Wolfe,

@GiorgioVitanza - Ora che il driver è in un PPA, ho aggiornato la mia risposta per includere entrambi i metodi.
Android Dev

7

Questo problema è presente nei driver 375 e 378 ...


Dato che semplicemente uccidere il processo di compiz risolve il problema dei bordi danneggiati, ho testato una soluzione che funziona sul mio sistema Ubuntu 16.04 ogni volta che il sistema si riattiva.

Passo 1:

Ho creato uno script chiamato fixbadbordersnella directory /lib/systemd/system-sleep. Conteneva quanto segue:

#!/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=)

Passo 2:

Consentito allo script di disporre dell'autorizzazione di esecuzione con:

sudo chmod +x fixbadborders

Per rimuovere questo script:

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

Tutti i crediti vanno a Sun Bear che ha creato questo commento di script 13


Meglio contrassegnare le domande come duplicate piuttosto che pubblicare la stessa soluzione ancora e ancora
Zanna

3
Lo svantaggio è che la mia schermata di accesso non viene mai visualizzata quando si entra nella discesa dal sonno :(
Hesam

6

NVIDIA ha rilasciato una versione aggiornata del driver che ha corretto questa regressione. Qualsiasi driver oltre il 381.09 non avrà più questo problema, fino a quando NVIDIA non incasinerà nuovamente.

Fino a quando il driver non raggiunge i repository principali, possono essere scaricati dal driver non ufficiale PPA NVIDIA. In questo modo non sarà necessario fare confusione con il programma di installazione (che è ampiamente considerato una cattiva idea) o Nouveau. Allo stesso modo, consentirà l'installazione / disinstallazione dei driver aptinvece della pericolosa mezza configurazione in cui il programma di installazione NVIDIA lascia i driver. Inoltre, ciò non causerà alcun loop o errore di accesso a meno che non si disponga di un sistema strano. Per installare, eseguire:

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

I vecchi driver verranno automaticamente disinstallati e quelli nuovi verranno caricati. Seguire riavviando il computer (poiché i driver NVIDIA devono essere inseriti nel kernel) e tutto dovrebbe funzionare correttamente. È possibile verificare che i driver siano stati installati correttamente eseguendo il comando seguente:

nvidia-settings --version

Assicurati di ripristinare tutte le patch descritte in questo post prima di aggiornare ai driver più recenti. Ad esempio, se hai installato la versione con patch di Unity come descritto di seguito, esegui questo comando per tornare alla versione normale:

sudo ppa-purge ppa:kaihengfeng/lp1292830 

Si noti che sarà necessario ppa-purgeinstallare, che può essere fatto in questo modo:

sudo apt install ppa-purge

Se l'aggiornamento non è un'opzione (troppo vecchio di una carta, politica aziendale, ecc.):

Kai-Heng Feng di Launchpad è stato così gentile da caricare una versione di Unity sul proprio PPA ( ppa:kaihengfeng/lp1292830) che dovrebbe correggere questo problema. Per risolvere questo problema, basta aggiungere il suo PPA eseguendo questi comandi:

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

Al termine, riavviare il sistema o riavviare X11 disconnettendosi e quindi riconnettendosi.

In alternativa, puoi anche effettuare una delle seguenti operazioni:

  • Passa alla scheda Intel
    Se stai utilizzando NVIDIA Prime, puoi passare alla scheda Intel, che risolverà questo problema. Si noti, tuttavia, che impedirà al sistema di utilizzare la piena potenza grafica.
  • Driver di downgrade In
    base ad alcuni commenti sulla segnalazione di bug , il downgrade al driver NVIDIA 367.57 dovrebbe risolvere completamente il problema. Poiché questo non è più presente nei PPA, dovrai scaricarlo direttamente da NVIDIA (64-bit) (32-bit) (32-bit ARM) .

367 non sembra più esistere, sia nei repository Ubuntu ufficiali che nel graphics-drivers/ppaPPA, quel pacchetto è un "pacchetto di transizione per nvidia-375, quindi installandolo otterrai automaticamente la versione buggy 375. Se conosci una fonte dove trovare il vecchio driver 367 di, dovresti includerlo nella tua risposta
Byte Commander

@ByteCommander fatto
Kaz Wolfe

Cordiali saluti, se l'hai perso, il driver con patch è ora nel repository ufficiale.
Dev Android

3

La soluzione proposta da Victor A. funziona perfettamente. Tuttavia, è necessario notare che gli script inseriti /lib/systemd/system-sleep/vengono eseguiti sia quando il computer entra in modalità sospensione sia quando si riattiva. Dato che vogliamo solo il dopo, l'uso dello script proposto rallenta inutilmente il processo di andare a dormire. Raccomando il seguente:

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

Un avvertimento, però. Questo script (così come quello proposto da Victor A.) disabiliterà la schermata di richiesta password al risveglio, costituendo quindi un rischio per la sicurezza.


3

Questo problema è stato risolto anche nel driver Nvidia 375.66, che si trova nei normali repository, e dovrebbe essere installato dai normali aggiornamenti.


Bello scherzare! Ho aggiornato la mia risposta per riflettere questo nuovo sviluppo e ti ho accreditato per aver scoperto che ora esiste una versione corretta nel repository ufficiale :)
Android Dev

2

Questa non è una soluzione completa, ma potrebbe essere meglio dell'uso compiz --replaceo del riavvio di compiz e del disordine delle aree di lavoro.

Quando riprendo dalla sospensione, faccio questo:

  • Sistema -> Preferenze -> Aspetto
  • Cambia tema in tema diverso
  • Torna al tema originale

Questo ricaricherà quelle che sembrano essere trame corrotte nella GPU. Se esiste un modo per forzare automaticamente la ricarica delle trame del tema al riavvio, questa potrebbe essere una soluzione permanente.


1
Nvidia ha rilasciato un driver con patch , questo non è più un problema
Android Dev

1

C'è un altro modo per risolvere questo problema. (Non lo consiglio se hai molti processi in esecuzione.)

Uccidi Xorg dopo aver svegliato il computer.

Trova il PID di Xorg di:

top

Quando trovi il pid di Xorg, premi Ctrl + C per interrompere il processo "top".

Vai a root e termina il processo:

sudo su
kill [pid]

Successivamente, accedi al tuo account.

Attenzione: questo chiuderà tutte le tue applicazioni. Firefox non crea problemi, ripristinerà semplicemente tutte le schede, ma non posso garantire altre app, quindi salvale prima di eseguire questo processo.


2
A proposito, per chiudere in alto nel modo standard, invece di annullare semplicemente l'attività (Ctrl + C) puoi semplicemente premere 'q'.
anonymous2

0

Ho provato a cambiare il driver con quello aggiornato, ma stava rovinando la mia capacità di fare deep learning con tensorflow, quindi sono tornato al software originale con errori.

Questo succede ogni volta che mi sveglio Ubuntu dal sonno. Apro solo un terminale CTRL+ ALT+ Te digito

killall compiz

Il display si ripristina e il problema tecnico scompare. Ci vogliono solo pochi secondi. Potresti anche impostarlo ~/.bashrccome preferisci, alias kc='killall compiz'quindi devi solo digitare kcquando vuoi eseguire il comando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.