Artefatos estranhos ao longo das bordas da janela depois de acordar o computador do modo de suspensão

116

NB: Nvidia lançou uma correção oficial; por favor, veja resposta do ByteCommander , meu própria resposta e / ou a resposta de Kaz Wolfe .

Ao acordar o Ubuntu 16.04 do Suspend, os seguintes problemas gráficos aparecem em torno de todas as janelas, menus de contexto e similares:

  

Atualmente, isso afeta as seguintes placas NVIDIA em execução   os drivers proprietários:

     
  • NVIDIA GeForce 610M, versão do driver 375.39, 340.102
  •   
  • NVIDIA GT 630M, versão do driver 375.39
  •   
  • NVIDIA GTX 650, versão do driver 375.39
  •   
  • NVIDIA GT 740M, versão do driver 378.13
  •   
  • NVIDIA GTX 745, versão do driver desconhecida
  •   
  • NVIDIA GTX 850M, versão do driver 375.39, 378.13
  •   
  • NVIDIA GT 940M, versão do driver 375.39
  •   
  • NVIDIA GTX 950M, versão do driver desconhecida
  •   
  • NVIDIA GTX 960M, versão do driver 378.13
  •   
  • NVIDIA GTX 970, versão do driver 375.39
  •   
  • NVIDIA GTX 970M, versão do driver 375.39
  •   
  • NVIDIA GTX 980 TI, versão de driver desconhecida
  •   
  • NVIDIA GTX 1060, versão do driver 375.26, 375.39, 378.09
  •   
  • NVIDIA GTX 1070, versão do driver 378.09
  •   

A lista acima foi originada de relatórios de outros usuários   aqui na AU, this thread, e este fio .

     

NB: Esta não é uma lista exclusiva. Provavelmente afeta quase todas as placas da Nvidia.

Além disso, esse problema foi replicado em uma instalação limpa, em que a única alteração foi uma atualização de software e a instalação dos drivers mais recentes da NVIDIA.

O que está acontecendo e como isso pode ser resolvido?

    
por Android Dev 24.03.2017 / 01:41

10 respostas

36
___ qstnhdr ___ Artefatos estranhos ao longo das bordas da janela depois de acordar o computador do modo de suspensão ___ answer896544 ___

UPDATE 2:

Agora a Nvidia também atualizou seus drivers 375.66 para a versão 375.66 , que é disponíveis nos repositórios padrão do Ubuntu de todos os lançamentos atualmente suportados .

Isso significa que, a partir de agora, você não precisará mais realizar nenhuma ação especial , exceto por fazer as atualizações normais do sistema como sempre. Você não precisa do pacote de drivers do 375.66 PPA se não os quiser.

Aqui está o trecho de changelog para o pacote dos repositórios principais em 16.04 sobre este bug:

sudo apt-get update
sudo apt-get upgrade

UPDATE:

A Nvidia finalmente corrigiu esse problema e lançou uma nova versão de driver de trabalho: 375.39

A solução descrita nesta resposta também foi atualizada e agora sugere a atualização para esta versão corrigida, em vez de fazer o downgrade para a versão mais recente antes do bug. Continua sendo o mesmo procedimento, você apenas desativa os nomes dos pacotes.

Causa do problema:

Alguns dos pacotes proprietários de drivers gráficos da Nvidia para o Ubuntu (a saber, 375.66 e *.run ) são problemáticos e produzem os artefatos brancos ao redor das bordas das janelas que são mostrados nas suas capturas de tela na questão. Isso acontece de forma reproduzível toda vez que você suspende e acorda disso novamente.

Até alguns dias atrás, o pacote tty1 no repositório do Xenial estava funcionando bem e de forma confiável, mas agora eles o atualizaram e o converteram em um pacote de transição que instala automaticamente o buggy nvidia-xconfig version.

Solução (atualizada após o lançamento do bugfix da Nvidia):

  

Certifique-se de que você realmente tem uma placa gráfica Nvidia, que está causando o problema, e não uma de uma marca diferente que coincidentemente se comporta mal de maneira semelhante. Instalar drivers Nvidia para placas gráficas que não sejam da Nvidia não será bom.

     

Você pode verificar isso verificando a saída do comando abaixo:

sudo apt-get update

Minha solução por enquanto é fazer o downgrade de %code% ou %code% para %code% , o que parece funcionar bem até agora.
Como a Nvidia lançou uma nova versão de driver atualizada %code% com este bug corrigido, podemos (e devemos) instalar essa em vez de fazer o downgrade.

Este pacote não está disponível nos repositórios padrão, mas você pode obtê-lo facilmente a partir de um PPA e substituir seu driver atual por ele executando os comandos abaixo:

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

sudo -i
add-apt-repository ppa:graphics-drivers/ppa
apt-get update
apt-get install nvidia-381
sudo service lightdm stop
cd Downloads
chmod +x NVIDIA-Linux-x86_64-381.09.run
sudo ./NVIDIA-Linux-x86_64-381.09.run

Depois de concluir o procedimento, reinicie o computador e teste se você ainda tem algum problema. Para mim eles foram embora. Boa sorte.

    
___ answer896293 ___

NB: Esta foi uma solução temporária até a Nvidia lançar um driver atualizado. Role para baixo para encontrar as outras respostas com a correção real. - Android Dev

Eu tenho o mesmo problema usando o GPU: Nvidia GTX 970 com driver nvidia 375.39 no Ubuntu 16.04.2 LTS

Eu observei isso desde uma atualização recente do driver nvidia. Suspeito, portanto, que seja um bug no driver.

Eu encontrei uma resposta na placa nvidia . É um bug confirmado no driver e a nvidia aparentemente já está trabalhando nele. Enquanto isso, pode-se reiniciar o compiz com

rm ~/.Xauthority
rm ~/.config/dconf/unity
sudo shutdown -r now

para se livrar dos artefatos.

O bug está no sistema de rastreamento de erros do Ubuntu incluindo um script de solução para reiniciar automaticamente o compiz após o reinício.

    
___ answer896790 ___

Esse problema está presente nos drivers 375 e 378 ...

Dado que simplesmente matar o processo compiz corrige o problema de borda ruim, eu testei uma solução que funciona no meu sistema Ubuntu 16.04 toda vez que o sistema é ativado.

Etapa 1:

Eu criei um script chamado %code% no diretório %code% . Continha o seguinte:

%pre%

Etapa 2:

Permitiu que o script tivesse permissão de execução com:

%pre%

Para remover este script:

%pre%

Todos os créditos vão para Sun Bear que criou este script comment 13

    
___ answer897623 ___

A solução proposta por Victor A. funciona muito bem. No entanto, você deve observar que os scripts colocados em %code% são executados quando o computador entra em suspensão e quando ele é ativado. Dado que só queremos o mais tardar, o uso do script proposto desacelera o processo de ir para o sono desnecessariamente. Eu recomendo o seguinte:

%pre%

Um aviso, no entanto. Este script (assim como o proposto por Victor A.) desativará a tela de solicitação de senha ao acordar, constituindo, portanto, um risco de segurança.

    
___ answer897641 ___

A NVIDIA lançou uma versão atualizada do driver que corrigiu essa regressão. Qualquer driver após 381.09 não terá mais esse problema, até que a NVIDIA estrague novamente.

Até que o driver atinja os repositórios principais, eles podem ser baixados do PPA não-oficial do driver da NVIDIA. Isso garante que você não precise mexer com o instalador (que é amplamente considerado uma má ideia) ou Nouveau. Da mesma forma, permitirá que os drivers sejam instalados / desinstalados através de %code% , em vez da metade da configuração perigosa em que o instalador da NVIDIA deixa os drivers. Além disso, isso não causará nenhum loop ou erro de login, a menos que você tem um sistema estranho. Para instalar, execute:

%pre%

Os drivers antigos serão desinstalados automaticamente e os novos serão carregados. Continue reiniciando seu computador (já que os drivers da NVIDIA precisam ser integrados ao kernel), e tudo deve funcionar bem. Você pode verificar se os drivers foram instalados corretamente executando o comando abaixo:

%pre%

Certifique-se de reverter quaisquer patches descritos nesta postagem antes de atualizar para os drivers mais recentes. Por exemplo, se você instalou a versão corrigida do Unity conforme descrito abaixo, execute este comando para reverter para a versão normal:

%pre%

Observe que você precisará do %code% instalado, o que pode ser feito da seguinte forma:

%pre%

Se a atualização não for uma opção (um cartão muito antigo, política da empresa, etc.):

Kai-Heng Feng do Launchpad teve a gentileza de carregar uma versão do Unity para seu próprio PPA ( %code% ) que deve corrigir este problema. Para resolver esse problema, basta adicionar seu PPA executando estes comandos:

%pre%

Depois de terminar, reinicie o sistema ou reinicie o X11 fazendo logout e voltando.

Como alternativa, você também pode fazer o seguinte:

  • Mude para o cartão Intel
    Se você estiver executando o NVIDIA Prime, poderá trocar para o cartão Intel, o que resolverá esse problema. Observe, no entanto, que isso impedirá que o sistema use potência gráfica completa.
  • Drivers de downgrade
    De acordo com alguns comentários sobre o relatório de erros , fazendo downgrade para o driver NVIDIA 367.57 deve resolver o problema completamente. Como isso não está mais presente nos PPAs, você precisará fazer o download diretamente da NVIDIA (64 -bit) (32 bits) (ARM de 32 bits) .
___ answer931087 ___

Este problema também foi corrigido no driver Nvidia 375.66, que está nos repositórios normais, e deve ser instalado pelas atualizações normais.

    
___ answer931049 ___

Esta não é uma solução completa, mas pode ser melhor do que usar %code% ou reiniciar o compiz e bagunçar seus espaços de trabalho.

Quando eu retomar a suspensão, faço isso:

  • Sistema - & gt; Preferências - & gt; Aparência
  • Alterar tema para um tema diferente
  • Alterar para o tema original

Isso recarregará o que parece ser texturas corrompidas na GPU. Se houver uma maneira de forçar automaticamente as texturas do tema a serem recarregadas no currículo, isso pode ser uma solução permanente.

    
___ tag123nvidia ___ Questões relacionadas aos chips gráficos e aos chipsets da placa-mãe NVIDIA e aos drivers relacionados. ___ answer898335 ___

Existe outra maneira de resolver esse problema. (Eu não recomendo se você tem muitos processos em execução.)

Apenas mate o Xorg depois de acordar o computador.

Encontre o PID do Xorg por:

%pre%

Quando você encontrar o pid do Xorg, pressione Ctrl + C para parar o processo "top".

Ir para a raiz e matar o processo por:

%pre%

Depois disso, faça login na sua conta.

Aviso: isso fechará todos os seus aplicativos. O Firefox não cria problemas com isso, apenas restaura todas as suas guias, mas não posso garantir outros aplicativos, portanto salve-os antes de fazer esse processo.

    
___ tag123graphics ___ Questões relacionadas a gráficos, em particular recebendo placas gráficas para trabalhar. Por favor, marque sua versão exata da placa gráfica, se você souber o que é. ___ answer915443 ___

Eu tentei mudar o driver para o bug atualizado, mas estava estragando minha capacidade de fazer deep learning com o tensorflow, então voltei para o software original com bugs.

Isso acontece toda vez que eu acordo com o Ubuntu de dormir. Eu apenas abro um terminal CTRL + ALT + T e digite

%pre%

O visor é reiniciado e a falha desaparece. Leva apenas alguns segundos. Você poderia até aliasá-lo no seu %code% like %code% , então você só precisa digitar %code% quando quiser executar o comando.

    
___ tag123suspend ___ Questões relacionadas ao modo de suspensão, que é um modo especial de baixa energia usado frequentemente em laptops que preserva o conteúdo da RAM enquanto usa menos energia do que o normal. Questões relacionadas à suspensão em disco devem usar a tag [hibernar]. ___ tag123visualartifacts ___ Os artefatos visuais são anomalias durante a representação visual de gráficos e imagens digitais. ___ qstntxt ___

NB: Nvidia lançou uma correção oficial; por favor, veja resposta do ByteCommander , meu própria resposta e / ou a resposta de Kaz Wolfe .

Ao acordar o Ubuntu 16.04 do Suspend, os seguintes problemas gráficos aparecem em torno de todas as janelas, menus de contexto e similares:

  

Atualmente, isso afeta as seguintes placas NVIDIA em execução   os drivers proprietários:

     
  • NVIDIA GeForce 610M, versão do driver 375.39, 340.102
  •   
  • NVIDIA GT 630M, versão do driver 375.39
  •   
  • NVIDIA GTX 650, versão do driver 375.39
  •   
  • NVIDIA GT 740M, versão do driver 378.13
  •   
  • NVIDIA GTX 745, versão do driver desconhecida
  •   
  • NVIDIA GTX 850M, versão do driver 375.39, 378.13
  •   
  • NVIDIA GT 940M, versão do driver 375.39
  •   
  • NVIDIA GTX 950M, versão do driver desconhecida
  •   
  • NVIDIA GTX 960M, versão do driver 378.13
  •   
  • NVIDIA GTX 970, versão do driver 375.39
  •   
  • NVIDIA GTX 970M, versão do driver 375.39
  •   
  • NVIDIA GTX 980 TI, versão de driver desconhecida
  •   
  • NVIDIA GTX 1060, versão do driver 375.26, 375.39, 378.09
  •   
  • NVIDIA GTX 1070, versão do driver 378.09
  •   

A lista acima foi originada de relatórios de outros usuários   aqui na AU, this thread, e este fio .

     

NB: Esta não é uma lista exclusiva. Provavelmente afeta quase todas as placas da Nvidia.

Além disso, esse problema foi replicado em uma instalação limpa, em que a única alteração foi uma atualização de software e a instalação dos drivers mais recentes da NVIDIA.

O que está acontecendo e como isso pode ser resolvido?

    
___
por Android Dev 07.04.2017 / 22:55
77

NB: Esta foi uma solução temporária até a Nvidia lançar um driver atualizado. Role para baixo para encontrar as outras respostas com a correção real. - Android Dev

Eu tenho o mesmo problema usando o GPU: Nvidia GTX 970 com driver nvidia 375.39 no Ubuntu 16.04.2 LTS

Eu observei isso desde uma atualização recente do driver nvidia. Suspeito, portanto, que seja um bug no driver.

Eu encontrei uma resposta na placa nvidia . É um bug confirmado no driver e a nvidia aparentemente já está trabalhando nele. Enquanto isso, pode-se reiniciar o compiz com

compiz --replace

para se livrar dos artefatos.

O bug está no sistema de rastreamento de erros do Ubuntu incluindo um script de solução para reiniciar automaticamente o compiz após o reinício.

    
por Stefan 24.03.2017 / 08:50
58

UPDATE 2:

Agora a Nvidia também atualizou seus drivers nvidia-375 para a versão 375.66 , que é disponíveis nos repositórios padrão do Ubuntu de todos os lançamentos atualmente suportados .

Isso significa que, a partir de agora, você não precisará mais realizar nenhuma ação especial , exceto por fazer as atualizações normais do sistema como sempre. Você não precisa do pacote de drivers do graphics-drivers PPA se não os quiser.

Aqui está o trecho de changelog para o pacote dos repositórios principais em 16.04 sobre este 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.
  [...]

UPDATE:

A Nvidia finalmente corrigiu esse problema e lançou uma nova versão de driver de trabalho: nvidia-381

A solução descrita nesta resposta também foi atualizada e agora sugere a atualização para esta versão corrigida, em vez de fazer o downgrade para a versão mais recente antes do bug. Continua sendo o mesmo procedimento, você apenas desativa os nomes dos pacotes.

Causa do problema:

Alguns dos pacotes proprietários de drivers gráficos da Nvidia para o Ubuntu (a saber, nvidia-375 e nvidia-378 ) são problemáticos e produzem os artefatos brancos ao redor das bordas das janelas que são mostrados nas suas capturas de tela na questão. Isso acontece de forma reproduzível toda vez que você suspende e acorda disso novamente.

Até alguns dias atrás, o pacote nvidia-367 no repositório do Xenial estava funcionando bem e de forma confiável, mas agora eles o atualizaram e o converteram em um pacote de transição que instala automaticamente o buggy nvidia-375 version.

Solução (atualizada após o lançamento do bugfix da Nvidia):

  

Certifique-se de que você realmente tem uma placa gráfica Nvidia, que está causando o problema, e não uma de uma marca diferente que coincidentemente se comporta mal de maneira semelhante. Instalar drivers Nvidia para placas gráficas que não sejam da Nvidia não será bom.

     

Você pode verificar isso verificando a saída do comando abaixo:

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

Minha solução por enquanto é fazer o downgrade de nvidia-375 ou nvidia-378 para nvidia-370 , o que parece funcionar bem até agora.
Como a Nvidia lançou uma nova versão de driver atualizada nvidia-381 com este bug corrigido, podemos (e devemos) instalar essa em vez de fazer o downgrade.

Este pacote não está disponível nos repositórios padrão, mas você pode obtê-lo facilmente a partir de um PPA e substituir seu driver atual por ele executando os comandos abaixo:

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

Depois de concluir o procedimento, reinicie o computador e teste se você ainda tem algum problema. Para mim eles foram embora. Boa sorte.

    
por Byte Commander 24.03.2017 / 20:48
7

Esse problema está presente nos drivers 375 e 378 ...

Dado que simplesmente matar o processo compiz corrige o problema de borda ruim, eu testei uma solução que funciona no meu sistema Ubuntu 16.04 toda vez que o sistema é ativado.

Etapa 1:

Eu criei um script chamado fixbadborders no diretório /lib/systemd/system-sleep . Continha o seguinte:

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

Etapa 2:

Permitiu que o script tivesse permissão de execução com:

sudo chmod +x fixbadborders

Para remover este script:

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

Todos os créditos vão para Sun Bear que criou este script comment 13

    
por Victor A. 25.03.2017 / 16:41
6

A NVIDIA lançou uma versão atualizada do driver que corrigiu essa regressão. Qualquer driver após 381.09 não terá mais esse problema, até que a NVIDIA estrague novamente.

Até que o driver atinja os repositórios principais, eles podem ser baixados do PPA não-oficial do driver da NVIDIA. Isso garante que você não precise mexer com o instalador (que é amplamente considerado uma má ideia) ou Nouveau. Da mesma forma, permitirá que os drivers sejam instalados / desinstalados através de apt , em vez da metade da configuração perigosa em que o instalador da NVIDIA deixa os drivers. Além disso, isso não causará nenhum loop ou erro de login, a menos que você tem um sistema estranho. Para instalar, execute:

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

Os drivers antigos serão desinstalados automaticamente e os novos serão carregados. Continue reiniciando seu computador (já que os drivers da NVIDIA precisam ser integrados ao kernel), e tudo deve funcionar bem. Você pode verificar se os drivers foram instalados corretamente executando o comando abaixo:

nvidia-settings --version

Certifique-se de reverter quaisquer patches descritos nesta postagem antes de atualizar para os drivers mais recentes. Por exemplo, se você instalou a versão corrigida do Unity conforme descrito abaixo, execute este comando para reverter para a versão normal:

sudo ppa-purge ppa:kaihengfeng/lp1292830 

Observe que você precisará do ppa-purge instalado, o que pode ser feito da seguinte forma:

sudo apt install ppa-purge

Se a atualização não for uma opção (um cartão muito antigo, política da empresa, etc.):

Kai-Heng Feng do Launchpad teve a gentileza de carregar uma versão do Unity para seu próprio PPA ( ppa:kaihengfeng/lp1292830 ) que deve corrigir este problema. Para resolver esse problema, basta adicionar seu PPA executando estes comandos:

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

Depois de terminar, reinicie o sistema ou reinicie o X11 fazendo logout e voltando.

Como alternativa, você também pode fazer o seguinte:

  • Mude para o cartão Intel
    Se você estiver executando o NVIDIA Prime, poderá trocar para o cartão Intel, o que resolverá esse problema. Observe, no entanto, que isso impedirá que o sistema use potência gráfica completa.
  • Drivers de downgrade
    De acordo com alguns comentários sobre o relatório de erros , fazendo downgrade para o driver NVIDIA 367.57 deve resolver o problema completamente. Como isso não está mais presente nos PPAs, você precisará fazer o download diretamente da NVIDIA (64 -bit) (32 bits) (ARM de 32 bits) .
por Kaz Wolfe 28.03.2017 / 07:59
3

A solução proposta por Victor A. funciona muito bem. No entanto, você deve observar que os scripts colocados em /lib/systemd/system-sleep/ são executados quando o computador entra em suspensão e quando ele é ativado. Dado que só queremos o mais tardar, o uso do script proposto desacelera o processo de ir para o sono desnecessariamente. Eu recomendo o seguinte:

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

Um aviso, no entanto. Este script (assim como o proposto por Victor A.) desativará a tela de solicitação de senha ao acordar, constituindo, portanto, um risco de segurança.

    
por LGenzelis 28.03.2017 / 06:08
3

Este problema também foi corrigido no driver Nvidia 375.66, que está nos repositórios normais, e deve ser instalado pelas atualizações normais.

    
por ubfan1 01.07.2017 / 21:35
2

Esta não é uma solução completa, mas pode ser melhor do que usar compiz --replace ou reiniciar o compiz e bagunçar seus espaços de trabalho.

Quando eu retomar a suspensão, faço isso:

  • Sistema - & gt; Preferências - & gt; Aparência
  • Alterar tema para um tema diferente
  • Alterar para o tema original

Isso recarregará o que parece ser texturas corrompidas na GPU. Se houver uma maneira de forçar automaticamente as texturas do tema a serem recarregadas no currículo, isso pode ser uma solução permanente.

    
por aidave 01.07.2017 / 18:54
1

Existe outra maneira de resolver esse problema. (Eu não recomendo se você tem muitos processos em execução.)

Apenas mate o Xorg depois de acordar o computador.

Encontre o PID do Xorg por:

top

Quando você encontrar o pid do Xorg, pressione Ctrl + C para parar o processo "top".

Ir para a raiz e matar o processo por:

sudo su
kill [pid]

Depois disso, faça login na sua conta.

Aviso: isso fechará todos os seus aplicativos. O Firefox não cria problemas com isso, apenas restaura todas as suas guias, mas não posso garantir outros aplicativos, portanto salve-os antes de fazer esse processo.

    
por Hobareey 30.03.2017 / 06:42
0

Eu tentei mudar o driver para o bug atualizado, mas estava estragando minha capacidade de fazer deep learning com o tensorflow, então voltei para o software original com bugs.

Isso acontece toda vez que eu acordo com o Ubuntu de dormir. Eu apenas abro um terminal CTRL + ALT + T e digite

killall compiz

O visor é reiniciado e a falha desaparece. Leva apenas alguns segundos. Você poderia até aliasá-lo no seu ~/.bashrc like alias kc='killall compiz' , então você só precisa digitar kc quando quiser executar o comando.

    
por wordsforthewise 15.05.2017 / 19:02