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

118

NB: A Nvidia lançou uma correção oficial; consulte a resposta do ByteCommander , minha própria resposta e / ou a resposta de Kaz Wolfe .


Ao ativar o Ubuntu 16.04 a partir do Suspend, as seguintes falhas gráficas aparecem em todas as janelas, menus de contexto e similares:

insira a descrição da imagem aqui


Atualmente, sabe-se que isso afeta as seguintes placas NVIDIA que executam 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 desconhecida do driver
  • 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 desconhecida do driver
  • 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 desconhecida do driver
  • 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 criada a partir de relatórios de outros usuários aqui na AU, neste tópico e neste tópico.

NB: Não se trata de uma lista exclusiva. Provavelmente afeta quase todas as placas Nvidia.

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


O que está acontecendo e como pode ser resolvido?

Android Dev
fonte
Qual driver gráfico você está usando e qual modelo de placa gráfica você possui? Recentemente, tive o mesmo problema com minha placa 940M e com algumas versões do driver proprietário da nvidia após suspender e ativar o laptop novamente. Por favor editar a pergunta e adicionar a saída lspci -k | grep -iEA3 '3d|vga'que contém toda a informação solicitada. Obrigado.
Byte Commander
1
Ah, na verdade, também estou tendo esse problema novamente , porque o nvidia-367driver que usei se tornou um pacote de transição que é atualizado automaticamente nvidia-375, uma das versões que causam esse bug. Hora de importar a nvidia e escrever relatórios de erros.
Byte Commander
2
isso é realmente um dub, mas tente pesquisar no Google algo como 'coisas estranhas nas esquinas' ... De qualquer forma, essas perguntas têm respostas ruins, enquanto a solução abaixo funciona como um encanto.
Ivan
1
@taylorswift - Parece que pelo menos 41 pessoas também têm esse problema: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/… Acho que teremos que esperar pela Nvidia para consertá-lo.
Android Dev
Também afeta GeForce GTX 950M.
precisa saber é

Respostas:

77

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


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

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

Encontrei uma resposta no quadro da 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 bugs do Ubuntu, incluindo um script de solução alternativa para reiniciar automaticamente o compiz após o resumo.

Stefan
fonte
Outra solução seria fazer o downgrade para a versão do driver anterior: askubuntu.com/a/896544/657603
Antoine Dusséaux
Thx para solução alternativa. Não tenho certeza, mas como tenho esse problema e também tenho outro: o meu laptop nem sempre é suspenso corretamente depois de uma hora definida.
Skalár Wag 28/03/19
Ao voltar do modo de suspensão, ele é conectado automaticamente, antes de solicitar a senha, de qualquer maneira, para corrigir isso?
precisa
2
compiz --replacenão se comporta bem com os espaços de trabalho. Ela coloca todas as janelas de todos os espaços de trabalho para o primeiro espaço de trabalho :(
AlikElzin-Kilaka
1
Você precisa manter o terminal aberto com este comando. Se você fechar o terminal, ele reiniciará o compiz novamente. Isso funcionará até a próxima suspensão, não é uma solução real, não posso ser funcional com a execução desse comando algumas vezes por dia. Fui para a solução acima, alterando o driver.
conualfy
58

ATUALIZAÇÃO 2:

A Nvidia agora também atualizou seus nvidia-375drivers para a versão 375.66 , disponível 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 executar nenhuma ação especial , exceto as atualizações normais do sistema, como sempre. Você não precisa do pacote de drivers do graphics-driversPPA se não os desejar.

Aqui está o trecho do changelog para o pacote dos principais repositórios no 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.
  [...]

ATUALIZAR:

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

A solução descrita nesta resposta também foi atualizada e agora sugere atualizar para esta versão fixa em vez de fazer o downgrade para a versão mais recente antes do bug. No entanto, continua o mesmo procedimento, basta mudar os nomes dos pacotes.


Causa do problema:

Alguns dos Nvidia pacotes gráficos driver proprietário para Ubuntu (ou seja, nvidia-375e nvidia-378) são buggy e produzir os artefatos brancas ao redor bordas das janelas que são mostrados em seus screenshots em questão. Isso acontece de forma reproduzível toda vez que você suspende e acorda novamente.

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

Solução (atualizada após o lançamento da correção de bug da Nvidia):

Verifique se realmente possui uma placa de vídeo da Nvidia, que está causando o problema, e não uma de uma marca diferente que, por coincidência, se comporta 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 no momento é fazer o downgrade de nvidia-375ou nvidia-378para nvidia-370, o que parece funcionar bem até agora.
Como a Nvidia lançou uma nova versão de driver atualizada nvidia-381com esse bug corrigido, podemos (e devemos) instalar esse em vez de fazer o downgrade.

Este pacote não está disponível nos repositórios padrão, mas você pode obtê-lo facilmente de um PPA e substituir o driver atual 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 esse procedimento, reinicie o computador e teste se você ainda tem problemas. Para mim eles se foram. Boa sorte.

Byte Commander
fonte
1
Para usuários em geral, eu preferiria a solução rápida sem alterar o driver aqui, em vez de fazer o downgrade dos drivers. Dado que uma correção será lançada (e presumivelmente não muito longe a partir de agora), é realmente apenas um desconforto temporário. Se você fizer o downgrade dos drivers, lembre-se de aptvoltar ao estado em que novas atualizações são recebidas automaticamente novamente. Você também precisará verificar ativamente se a nova versão corrigida corretamente será lançada, em vez de apenas esperar para obtê-la automaticamente - Problema propenso e inconveniente.
Jason C
1
@JasonC Não. É nvidia-370muito provável que também se transforme em um pacote de transição nvidia-367, e, portanto, essa atualização instalaria automaticamente a versão do driver nvidia / que a equipe de drivers gráficos considera como sucessora adequada. O 370 é o driver mais recente (e talvez apenas) atualmente suportado que não é afetado por esse bug, então por que não usá-lo? Comparado aos 367 que estavam em uso antes da atualização que introduz esse bug, ainda é uma atualização. Além disso, não estamos retendo nenhum pacote ou substituindo qualquer configuração do apt, como você parece pensar.
Byte Commander
1
@ByteCommander Vou excluir meu comentário sob duas condições. 1) Enquanto você estiver 100% confiante de que ele se transformará em um pacote de transição, eu acreditarei em você (não estou 100% confiante em minha declaração); ou se você não estiver 100% confiante, adicione uma menção do risco à resposta e 2) Se você incluir uma menção de como isso não afetará futuras atualizações se se tornar um pacote de transição e o que fazer uma vez a correção é liberada, para a resposta.
Jason C
1
@JasonC Não há necessidade de excluir seu comentário. Posso, por razões óbvias, não garantir o que os mantenedores do graphics-driversPPA farão com seus pacotes no futuro; posso apenas fazer suposições com base no que eles fizeram no passado. E enquanto o 370 for suportado, não há necessidade de agir, mesmo quando eles consertam os 375 e 378. Meu forte palpite é que, uma vez que a nvidia desaprova o 370 (como fizeram recentemente com o 367), os mantenedores do PPA o transformarão. em um pacote de transição, o que significa que a versão atualizada não conterá mais código, mas acrescentará uma dependência ao driver mais recente.
Byte Commander
2
@Matsmath eu não sei. Só o tempo irá dizer. Talvez nunca seja adicionado aos repositórios de versões "mais antigas" do Ubuntu que foram lançadas antes desse pacote de drivers. Não creio que seja possível dar uma resposta precisa a isso antes que isso realmente ocorra.
Byte Commander
36

Este é um erro nos drivers da Nvidia.

A Nvidia conseguiu reproduzir o problema e está trabalhando em uma correção, que será incluída no próximo lançamento do driver. (A correção foi lançada agora, consulte a seção abaixo).

Veja este tópico nos fóruns de desenvolvedores da Nvidia para obter mais informações. Este bug também foi relatado no Launchpad .

Obrigado a @Stefan por suas grandes habilidades em descobrir essas informações !


A Nvidia finalmente lançou uma correção oficial!

  • A correção é uma cortesia do driver beta 381.09 Captura de tela relevante do changelog : insira a descrição da imagem aqui

  • Esse driver não está atualmente em nenhum repositório

  • Até as alterações acima, você precisará instalar o novo driver manualmente. Atualização: o driver 381.09 agora está em um repositório não oficial. Você pode instalar o driver corrigido do PPA não oficial ou instalá-lo manualmente.

  • ATUALIZAÇÃO - CORRIGIR AGORA NO REPO OFICIAL:

    Parabéns a @ ubfan1 por reportar isso ! Veja a seção abaixo para detalhes


1. Instalação do driver [release] corrigido a partir do repositório oficial (recomendado):

A Nvidia enviou uma atualização para o driver de lançamento em 05/04/2017, contendo, entre outras coisas, a correção de bug que você estava procurando. O driver de versão atualizado recebeu a versão375.66

Como isso 375.66está no repositório oficial, carregar o driver corrigido é bastante simples.

  • Se você está atualmente na 375.39versão com bugs , tudo o que deve ser necessário é simples:

    sudo apt-get update
    sudo apt-get upgrade
    

  • Se você estiver no driver herdado, execute:

    sudo apt-get update
    

    Em seguida, mude para a nova versão do driver em Drivers adicionais:

    insira a descrição da imagem aqui


  • Se você estiver usando um driver instalado manualmente, desinstale, reinicie e execute as etapas descritas acima.

Após a reinicialização, você deve descobrir que o driver da Nvidia foi atualizado para 375.66.


2. Se você não precisar do driver mais recente para compatibilidade com sua GPU: *

* Observe que esta seção foi substituída pela seção # 1

Se a sua placa gráfica tiver idade suficiente para ser suportada pela v340 do driver, não será necessário instalar uma versão mais recente de um PPA não oficial. No entanto, para pessoas com placas mais novas, como as séries GTX 9 ou 10, você precisará de um driver mais recente.

Por conveniência, aqui está uma lista completa dos cartões suportados pela versão 340 do 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

Portanto, se sua GPU é suportada pelo 340, você pode simplesmente mudar para a versão 340 em Drivers adicionais. (A versão 340 não possui esse bug.)

insira a descrição da imagem aqui

Certifique-se de reiniciar depois de mudar a versão do driver.


3. Para instalar o driver [beta] corrigido de um PPA não oficial ( recomendado ):

  1. Inicie um terminal com CTRL+ ALT+T

  2. Execute estes comandos:

    sudo -i
    add-apt-repository ppa:graphics-drivers/ppa
    apt-get update
    apt-get install nvidia-381
    
  3. Reinicie o seu computador e você deve estar pronto! Após a reinicialização do computador, abra as Configurações do Nvidia X Server. Com alguma sorte, você verá a nova versão do driver:

    insira a descrição da imagem aqui


4. Para instalar manualmente o driver [beta] corrigido ( NÃO é recomendável):

Instalar os drivers da Nvidia a partir do *.runarquivo geralmente não é uma boa idéia. Tende a quebrar as coisas. Portanto, é melhor instalá-los a partir de um PPA, conforme descrito acima. No entanto, se você é uma aventura e deseja instalá-lo manualmente, esse é o processo que funcionou para mim com o Ubuntu 16.04 e um GTX650.

Antes de instalar o driver corrigido, você DEVE desinstalar o driver proprietário atual e alternar para o driver Nouveau:

insira a descrição da imagem aqui

Certifique-se de reiniciar após a troca. SE VOCÊ NÃO DESINSTALAR O SEU CONTROLADOR PROPRIETÁRIO ATUAL, O NOVO CONTROLADOR CONFLITARÁ COM O ANTIGO E VOCÊ QUEBRARÁ AS COISAS!

  1. Faça o download do arquivo do driver corrigido da Nvidia. Aqui está um link direto.

  2. Salve o arquivo na sua pasta de downloads

  3. Saia da sua sessão da GUI (você deve terminar na tela de login antes de continuar)

  4. Inicie tty1com CTRL+ ALT+F1

  5. Entre com suas credenciais normais

  6. Execute estes 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. Aceite o contrato de licença:

    insira a descrição da imagem aqui

  8. Ele reclamará que o script de pré-instalador fornecido pela distribuição falhou. De qualquer forma, continue:

    insira a descrição da imagem aqui

  9. Selecione Yesquando for perguntado se você deseja registrar o módulo do kernel com dkms:

    insira a descrição da imagem aqui

  10. Selecione Yesquando for perguntado se você deseja instalar as bibliotecas de compatibilidade de 32 bits:

    insira a descrição da imagem aqui

  11. Vai demorar um pouco para construir o módulo do kernel, então seja paciente!

    insira a descrição da imagem aqui

  12. Selecione Yesquando for perguntado se você deseja executar nvidia-xconfig:

    insira a descrição da imagem aqui

  13. Selecione Okpara sair do instalador

  14. Quase lá! Agora basta executar estes comandos:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. Após a reinicialização do computador, abra as Configurações do Nvidia X Server. Com alguma sorte, você verá a nova versão do driver:

    insira a descrição da imagem aqui

Android Dev
fonte
1
NOTA : a etapa 14 foi usada quando a área de trabalho do Unity da resposta não apareceu, conforme discutido na sala de bate-papo Ask Ubuntu. Pode não ser necessário, mas se a área de trabalho do Unity não aparecer, use essa etapa como solução.
Sergiy Kolodyazhnyy
Desculpe, mas devo argumentar com esta solução. Isso me levou a um erro que me levou a não conseguir fazer login e incompatibilidade com os softwares Windows instalados no vinho. Esse problema de login é comum se você instalar arquivos .run no site da nvidia em vez de usar as fontes disponíveis no ubuntu. Uma maneira muito mais simples de corrigir esse problema seria usar a versão 340, disponível diretamente entre os drivers escolhidos no menu Software e Atualizações. Pelo menos funcionou consertando tudo para mim.
Giorgio Vitanza
@GiorgioVitanza - Eu sei que instalar os .runarquivos não é realmente a maneira recomendada de fazer as coisas. Porém, o uso do driver 340 não é uma opção para pessoas com placas mais novas, como a série 10. Testei esta solução no meu próprio computador e funcionou bem.
Android Dev
@GiorgioVitanza Tente minha resposta - ele instala drivers dos PPAs, que devem ser muito mais compatíveis que os arquivos executados.
perfil completo de Kaz Wolfe
@GiorgioVitanza - Agora que o driver está em um PPA, atualizei minha resposta para incluir os dois métodos.
Android Dev
7

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


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

Passo 1:

Eu criei um script chamado fixbadbordersno 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=)

Passo 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 o Sun Bear que criou este comentário de script 13

Victor A.
fonte
Melhor para perguntas marcar como duplicado em vez de postar a mesma solução novo e de novo
Zanna
3
Sua desvantagem é a minha tela de login não exibe quando entrar na desctop do sono :(
Hesam
6

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

Até que o driver alcance os repositórios principais, eles podem ser baixados do PPA não oficial do driver NVIDIA. Isso garante que você não precisará mexer no instalador (que é amplamente considerado uma má idéia) ou no Nouveau. Da mesma forma, permitirá que os drivers sejam instalados / desinstalados, em aptvez da meia-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ê tenha 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. Acompanhe reiniciando o computador (já que os drivers da NVIDIA precisam ser inseridos no 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 os 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 voltar à versão normal:

sudo ppa-purge ppa:kaihengfeng/lp1292830 

Observe que você precisará ppa-purgeinstalar, o que pode ser feito da seguinte maneira:

sudo apt install ppa-purge

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

Kai-Heng Feng, do Launchpad, teve a gentileza de enviar uma versão do Unity para seu próprio PPA ( ppa:kaihengfeng/lp1292830), que deve corrigir esse problema. A fim resolver este problema, apenas adicione 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 efetuando logout e, em seguida, faça login novamente.

Como alternativa, você também pode executar um dos seguintes procedimentos:

  • Mudar para a placa Intel
    Se você estiver executando o NVIDIA Prime, poderá trocar para a placa Intel, que resolverá esse problema. Observe, no entanto, que isso impedirá o sistema de usar energia gráfica total.
  • Drivers de downgrade
    De acordo com alguns comentários no relatório de erros , a atualização para o driver NVIDIA 367.57 deve resolver o problema completamente. Como isso não está mais presente nos PPAs, será necessário fazer o download diretamente da NVIDIA (64 bits) (32 bits) (ARM) de 32 bits .
Kaz Wolfe
fonte
367 não parece mais existir, tanto nos repositórios oficiais do Ubuntu quanto no graphics-drivers/ppaPPA, esse pacote é um "pacote de transição para nvidia-375, portanto, instalá-lo obterá automaticamente a versão 375 de buggy. Se você conhece uma fonte de onde obter o velho 367 driver, você deve incluí-lo em sua resposta.
Byte Comandante
@ByteCommander done
Kaz Wolfe
Para sua informação, caso você tenha perdido, o driver corrigido está agora no repositório oficial.
Android Dev
3

A solução proposta por Victor A. funciona bem. No entanto, observe que os scripts inseridos /lib/systemd/system-sleep/são executados quando o computador entra no modo de suspensão e quando ele é ativado. Dado que queremos apenas mais tarde, o uso do script proposto diminui o processo de inatividade desnecessariamente. Eu recomendo o seguinte:

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

Um aviso, no entanto. Esse script (assim como o proposto por Victor A.) desabilitará a tela de solicitação de senha ao ativar, constituindo assim um risco à segurança.

LGenzelis
fonte
3

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

ubfan1
fonte
Nice sleuthing! Eu atualizei a minha resposta para refletir este novo desenvolvimento, e creditados por descobrir que existe agora uma versão corrigida no repo oficial :)
Dev Android
2

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

Quando retomo da suspensão, faço o seguinte:

  • Sistema -> Preferências -> Aparência
  • Alterar tema para um tema diferente
  • Voltar ao tema original

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

auxiliar
fonte
1
Nvidia lançou um driver remendado , este não é um problema mais
Android Dev
1

Existe uma outra maneira de resolver esse problema. (Eu não recomendo se você tiver 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 interromper o processo "top".

Vá para o root e mate o processo:

sudo su
kill [pid]

Depois disso, faça login na sua conta.

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

Hobareey
fonte
2
A propósito, para fechar o topo da maneira padrão, em vez de apenas cancelar a tarefa (Ctrl + C), basta clicar em 'q'.
anonymous2
0

Tentei mudar o driver para o atualizado, mas ele estava estragando minha capacidade de aprender profundamente com o tensorflow, então voltei ao software de buggy original.

Isso acontece toda vez que eu acordo o Ubuntu de dormir. Acabei de abrir um terminal CTRL+ ALT+ Te digite

killall compiz

A tela é redefinida e a falha desaparece. Leva apenas alguns segundos. Você poderia até mesmo apelido lo em seu ~/.bashrccomo alias kc='killall compiz'assim você só tem que digitar kcquando você quer executar o comando.

wordsforthewise
fonte