Вопрос Странные артефакты вдоль границ окна после пробуждения компьютера из спящего режима


NB: Nvidia выпустила официальное исправление; пожалуйста, посмотри Ответ ByteCommander, мой собственный ответ и / или Ответ Каз Вулфа,


После пробуждения Ubuntu 16.04 от Suspend следующие графические сбои появляются вокруг всех окон, контекстных меню и тому подобного:

enter image description here


В настоящее время это, как известно, влияет на следующие карты NVIDIA   проприетарные драйверы:

  • NVIDIA GeForce 610M, версия драйвера 375.39, 340.102
  • NVIDIA GT 630M, версия драйвера 375.39
  • NVIDIA GTX 650, версия драйвера 375.39
  • NVIDIA GT 740M, версия драйвера 378.13
  • NVIDIA GTX 745, неизвестная версия драйвера
  • NVIDIA GTX 850M, версия драйвера 375.39, 378.13
  • NVIDIA GT 940M, версия драйвера 375.39
  • NVIDIA GTX 950M, неизвестная версия драйвера
  • NVIDIA GTX 960M, версия драйвера 378.13
  • NVIDIA GTX 970, версия драйвера 375.39
  • NVIDIA GTX 970M, версия драйвера 375.39
  • NVIDIA GTX 980 TI, неизвестная версия драйвера
  • NVIDIA GTX 1060, версия драйвера 375,26, 375,39, 378,09
  • NVIDIA GTX 1070, версия драйвера 378.09

Вышеприведенный список был получен из отчетов от других пользователей   здесь, на AU, это нить и это нить.

NB: Это не значит, что это эксклюзивный список. Вероятно, это влияет почти на все карты Nvidia.

Кроме того, эта проблема была реплицирована на чистой установке, где единственным изменением было обновление программного обеспечения и установка последних драйверов NVIDIA.


Что происходит, и как это можно решить?


117
2018-03-24 00:41


происхождения


Какой графический драйвер вы используете и какую модель видеокарты у вас есть? У меня недавно была такая же проблема с моей картой 940M и некоторыми версиями проприетарного драйвера nvidia после приостановки и пробуждения ноутбука. пожалуйста редактировать вопрос и добавить вывод lspci -k | grep -iEA3 '3d|vga' который содержит всю запрошенную информацию. Благодарю. - Byte Commander
О, на самом деле у меня тоже есть эта проблема еще раз, поскольку nvidia-367 драйвер, который я использовал, стал переходным пакетом, который автоматически обновляется до nvidia-375, что было одной из версий, вызывающих эту ошибку. Время, чтобы nag nvidia и писать отчеты об ошибках. - Byte Commander
это действительно дубликат, но попробуйте google что-то вроде «странных вещей вокруг углов» ... В любом случае эти вопросы имеют плохие ответы, в то время как решение ниже работает как шарм. - Ivan
@taylorswift - Похоже, по меньшей мере у 41 других проблема: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/... Думаю, нам просто нужно подождать, пока Nvidia исправит это. - Android Dev
Также влияет GeForce GTX 950M, - conualfy


ответы:


NB: Это временное решение, пока Nvidia не выпустила исправленного драйвера. Прокрутите страницу вниз, чтобы найти другие ответы с фактическим исправлением. - Android Dev


У меня такая же проблема с использованием GPU: Nvidia GTX 970 с драйвером nvidia 375.39 на Ubuntu 16.04.2 LTS

Я наблюдал это с недавнего обновления драйвера nvidia. Поэтому я подозреваю, что это ошибка в драйвере.

Я нашел ответ на плате nvidia, Это подтвержденная ошибка в драйвере, и nvidia, по-видимому, уже работает над этим. В то же время можно перезапустить компиляцию с помощью

compiz --replace

чтобы избавиться от артефактов.

Ошибка в системе отслеживания ошибок Ubuntu включая временный сценарий для автоматического перезапуска компиляции после возобновления.


77
2018-03-24 07:50



Удивительная детективная работа, спасибо! :) - Android Dev
Другим решением будет переход на предыдущую версию драйвера: askubuntu.com/a/896544/657603 - Antoine Dusséaux
Thx для обхода. Я не уверен, но поскольку у меня есть эта проблема, и у меня также есть еще одна проблема: мой ноутбук не всегда подвешен правильно через час после его установки. - Skalár Wag
compiz --replaceне ведет себя хорошо с рабочими пространствами. Он помещает все окна всех рабочих областей в первое рабочее пространство :( - AlikElzin-kilaka
Вы должны оставить терминал открытым с помощью этой команды. Если вы закроете терминал, он снова перезапустит compiz. Это будет работать до следующего приостановления, это не настоящее решение, я не могу работать с этой командой несколько раз в день. Пошел к вышеуказанному решению, изменив драйвер. - conualfy


ОБНОВЛЕНИЕ 2:

Nvidia теперь также обновила свои nvidia-375 драйверы для версии 375,66, который доступный из стандартных репозиториев Ubuntu всех поддерживаемых в данный момент выпусков,

Это означает, что с этого момента, вам больше не придется принимать какие-либо специальные действия, за исключением выполнения обычных системных обновлений, как всегда. Вам не нужен пакет драйверов из graphics-drivers PPA, если вы не хотите их.

Вот выдержка из сборника от основного репозитория от 16.04 по этой ошибке:

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

ОБНОВИТЬ:

Наконец, Nvidia исправила эту проблему и выпустила новую версию рабочего драйвера: nvidia-381

Решение, описанное в этом ответе, также было обновлено, и теперь предлагается перейти на эту исправленную версию вместо того, чтобы понизить до последней версии до ошибки. Это остается той же процедурой, хотя вы просто выключаете имена пакетов.


Проблема:

Некоторые из проприетарных пакетов графических драйверов Nvidia для Ubuntu (а именно nvidia-375 а также nvidia-378) являются ошибками и производят белые артефакты вокруг границ окна, которые показаны на ваших скриншотах в вопросе. Это происходит воспроизводимо каждый раз, когда вы приостанавливаете и снова пробуждаетесь от этого.

До тех пор, пока несколько дней назад nvidia-367 пакет в репозитории Xenial работал отлично и надежно, но теперь они обновили его и преобразовали в переходный пакет, который автоматически устанавливает багги nvidia-375 вместо этого.

Решение (обновлено после выпуска исправления ошибок от Nvidia):

Удостоверьтесь, что у вас действительно есть графическая карта Nvidia, которая вызывает проблему, и не одна из другой марки, которая случайно ошибочно работает аналогично. Установка драйверов Nvidia для видеокарт без Nvidia не принесет пользы.

Вы можете проверить это, проверив вывод команды ниже:

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

Мое решение на данный момент состоит в том, чтобы понизить nvidia-375 или nvidia-378 в nvidia-370, который, похоже, работает до сих пор.
Поскольку Nvidia выпустила новую версию обновленного драйвера nvidia-381 с исправленной ошибкой, мы можем (и должны) установить этот вариант вместо понижения.

Этот пакет недоступен из стандартных репозиториев, но вы можете легко получить его из PPA и заменить его текущим драйвером, выполнив следующие команды:

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

sudo apt install nvidia-370


58
2018-03-24 19:48



Для обычных пользователей я предпочел бы быстрое временное решение, не изменяющее драйвер Вот а не понижать драйверы. Учитывая, что исправление будем (и, возможно, не слишком далеко не сейчас), это действительно просто временный дискомфорт. Однако, если вы понижаете драйверы, вам придется не забывать возвращаться apt обратно в состояние, в котором дополнительные обновления автоматически принимаются. Вам также придется активно следить за выпуском новой исправленной версии, а не просто ждать, чтобы получить ее автоматически - проблема подвержена и неудобна. - Jason C
@JasonC No. nvidia-370 скорее всего, также превратятся в переходный пакет, nvidia-367 уже есть, и поэтому это обновление автоматически установит версию драйвера nvidia / команда графических драйверов, которая считается подходящим преемником. 370 является последним (и, возможно, только) поддерживаемым в настоящий момент драйвером, на который не влияет эта ошибка, поэтому почему бы не использовать ее? По сравнению с 367, который использовался до обновления, введя эту ошибку, она по-прежнему обновляется. Кроме того, мы не сдерживаем какие-либо пакеты или не переопределяем какую-либо подходящую конфигурацию, как вы думаете. - Byte Commander
@ByteCommander Я удалю свой комментарий в двух условиях. 1) Пока вы на 100% уверены, что это будем превратитесь в переходный пакет, я поверю вам (я не уверен на 100% в своем заявлении); или если вы не уверены на 100%, добавьте упоминание о риске для ответа и 2) Если вы добавите упоминание о том, как это не повлияет на будущие обновления, если он станет переходным пакетом и что делать один раз исправление освобождается, к ответу. - Jason C
@JasonC Не нужно удалять свой комментарий. Я по очевидным причинам не могу гарантировать, что graphics-drivers PPA будет делать с их пакетами в будущем, я могу просто делать предположения, основываясь на том, что они делали в прошлом. И пока поддерживается 370, нет необходимости действовать, даже когда они фиксируют 375 и 378. Мое убеждение в том, что когда nvidia осуждает 370 (как это недавно делали с 367), сторонники PPA в переходный пакет, что означает, что обновленная версия не будет содержать больше кода, но добавит зависимость от более нового драйвера. - Byte Commander
@ Мацмат, я не знаю. Время покажет. Возможно, он никогда не будет добавлен в репозитории «старых» версий Ubuntu, выпущенных до этого пакета драйверов. Я не думаю, что можно дать точный ответ на этот вопрос, прежде чем это произошло. - Byte Commander


Эта является была ошибкой в ​​драйверах Nvidia.

Nvidia удалось воспроизвести проблему, и они работают над исправлением, которое будет включено в следующий выпуск драйверов. (Исправление теперь выпущено, см. Раздел ниже).

Видеть эту тему на форумах разработчиков Nvidia Чтобы получить больше информации. Эта ошибка также была сообщил о Launchpad,

Благодаря @Stefan за отличные навыки в раскрытие этой информации!


Nvidia наконец выпустила официальное исправление!

  • Исправление распространяется на бета-драйвер 381.09 Соответствующий снимок экрана из изменений: enter image description here

  • Этот драйвер в настоящее время не находится в каких-либо хранилищах

  • До тех пор, пока не будут внесены изменения, вам необходимо будет установить новый драйвер вручную Обновить: драйвер 381.09 теперь находится в неофициальном хранилище. Вы можете либо установить исправленный драйвер из неофициального PPA, либо установить его вручную.

  • ОБНОВЛЕНИЕ - СЕЙЧАС В ОФИЦИАЛЬНОМ РЕПО:

    Престижность @ ubfan1 для сообщая об этом! Подробнее см. В следующем разделе


1. Установка исправленного драйвера [release] из официального репо (рекомендуется):

Nvidia выпустила обновление для своего драйвера релиза 05/04/2017, в котором, среди прочего, исправлена ​​ошибка, которую вы ищете. Обновленному драйверу выпуска была предоставлена ​​версия 375.66

Поскольку это 375.66 находится в официальном репозитории, загрузка исправленного драйвера довольно проста.

  • Если вы в настоящий момент находитесь на багги 375.39 версии, то все, что должно быть необходимо, просто:

    sudo apt-get update
    sudo apt-get upgrade
    

  • Если вы находитесь в устаревшем драйвере, вам необходимо выполнить:

    sudo apt-get update
    

    Затем переключается на новую версию драйвера в дополнительных драйверах:

    enter image description here


  • Если вы в настоящее время используете установленный вручную драйвер, его следует удалить, перезагрузить, а затем выполнить описанные выше действия.

После перезагрузки вы должны обнаружить, что ваш драйвер Nvidia обновлен до 375.66,


2. Если вам не нужен новый драйвер для совместимости с вашим GPU: *

* Обратите внимание, что этот раздел был заменен разделом № 1

Если ваша видеокарта достаточно стар, что поддерживается драйвером v340, нет необходимости устанавливать более новую версию из неофициального PPA. Однако для людей с более новыми картами, такими как GTX 9-series или 10-series, вам понадобится новый драйвер.

Для удобства здесь приведен полный список карт, поддерживаемых версией 340 драйвера:

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

Итак, если ваш GPU поддерживается 340, вы можете просто переключиться на версию 340 в дополнительных драйверах. (Версия 340 не имеет этой ошибки.)

enter image description here

Обязательно перезагрузитесь после переключения версии драйвера.


3. Чтобы установить исправленный драйвер [beta] из неофициального PPA (рекомендуемые):

  1. Запустите терминал с CTRL+ALT+T

  2. Выполните следующие команды:

    sudo -i
    add-apt-repository ppa:graphics-drivers/ppa
    apt-get update
    apt-get install nvidia-381
    
  3. Перезагрузите компьютер, и вы должен будь хорошим! После перезагрузки компьютера откройте Nvidia X Server Settings. В любом случае вы увидите новую версию драйвера:

    enter image description here


4. К вручную установите исправленный драйвер [beta] (НЕ рекомендовать):

Установка драйверов Nvidia из *.run файл, как правило, не очень хорошая идея. Это имеет тенденцию нарушать вещи. Таким образом, лучше установить их из PPA, как описано выше. Тем не менее, если вы приключения и хотите установить их вручную, это процесс, который работал для меня с Ubuntu 16.04 и GTX650.

Перед установкой исправленного драйвера вы ДОЛЖЕН удалите свой текущий проприетарный драйвер и переключитесь на драйвер Nouveau:

enter image description here

Обязательно перезагрузитесь после переключения. ЕСЛИ ВЫ НЕ МОЖЕТЕ УДАЛИТЬ ВАШЕГО ТЕКУЩЕГО СОБСТВЕННОГО ВОДИТЕЛЯ, НОВЫЙ ВОДИТЕЛЬ БУДЕТ КОНФЛИКТ С СТАРОМ ОДНИМ, И ВЫ БУДЕТЕ ПЕРЕРЫВАТЬ ВЕЩИ!

  1. Загрузите файл исправленного драйвера из Nvidia. Вот прямая ссылка.

  2. Сохраните файл в папке загрузки

  3. Выйдите из сеанса графического интерфейса пользователя (перед продолжением вы должны выйти на экран входа в систему)

  4. Зажечь tty1 с CTRL+ALT+F1

  5. Войдите в систему с помощью обычных учетных данных

  6. Выполните следующие команды:

    sudo service lightdm stop
    cd Downloads
    chmod +x NVIDIA-Linux-x86_64-381.09.run
    sudo ./NVIDIA-Linux-x86_64-381.09.run
    
  7. Примите лицензионное соглашение:

    enter image description here

  8. Он будет жаловаться, что сценарий предварительной установки, предоставленный дистрибутивом, не удался. Продолжай в любом случае:

    enter image description here

  9. Выбрать да когда вас спросят, хотите ли вы зарегистрировать модуль ядра с помощью dkms:

    enter image description here

  10. Выбрать да когда вас спросят, хотите ли вы установить 32-битные библиотеки совместимости:

    enter image description here

  11. Для создания модуля ядра потребуется некоторое время, поэтому потерпи!

    enter image description here

  12. Выбрать да когда вас спросят, хотите ли вы запустить nvidia-xconfig:

    enter image description here

  13. Выбрать ОК для выхода из программы установки

  14. Почти готово! Теперь просто запустите следующие команды:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. После перезагрузки компьютера откройте Nvidia X Server Settings. В любом случае вы увидите новую версию драйвера:

    enter image description here


36
2018-04-07 20:55



ЗАМЕТКА: шаг 14 использовался, когда рабочий стол Unity не отображался, как обсуждалось в чат-комнате Ask Ubuntu. Это может быть необязательно, но если ваш рабочий стол Unity не отображается, используйте этот шаг в качестве решения. - Sergiy Kolodyazhnyy
Извините, но я должен спорить с этим решением. Это привело меня к ошибке, из-за которой я не мог войти в систему и несовместимо с программным обеспечением, установленным в вине. Такая проблема входа является обычной, если вы устанавливаете файлы .run с сайта nvidia вместо использования доступных источников в ubuntu. Более простой способ исправить эту проблему будет использовать версию 340, доступную прямо между выбранными драйверами в меню «Программное обеспечение и обновления». По крайней мере, это сработало для меня все. - Giorgio Vitanza
@GiorgioVitanza - Я знаю, что установка .run файлы на самом деле не рекомендуемый способ делать что-то. Но использование драйвера 340 не является вариантом для людей с более новой карточкой, такой как 10-серия. Я тестировал это решение на своем собственном компьютере, и он работал нормально. - Android Dev
@GiorgioVitanza Попробуйте мой ответ - он устанавливает драйверы из PPA, который должен быть намного более совместимым, чем файлы запуска. - Kaz Wolfe
@GiorgioVitanza - Теперь, когда драйвер находится в PPA, я обновил свой ответ, включив оба метода. - Android Dev


Эта проблема присутствует у 375 и 378 драйверов ...


Учитывая, что просто уничтожение процесса compiz устраняет проблему с плохой границей, я тестировал решение, которое работает на моей системе Ubuntu 16.04 каждый раз после пробуждения системы.

Шаг 1:

Я создал скрипт под названием fixbadborders в каталоге /lib/systemd/system-sleep, Он содержал следующее:

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

Шаг 2:

Позволяет сценарию иметь разрешение на выполнение с помощью:

sudo chmod +x fixbadborders

Чтобы удалить этот скрипт:

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

Все кредиты идут Sun Bear кто создал этот скрипт комментарий 13


7
2018-03-25 15:41



Лучше указывать вопросы как дубликаты, а не публиковать одно и то же решение снова и снова - Zanna
Его недостатком является то, что мой экран входа в систему никогда не отображается, когда вы приходите в desctop из сна :( - Hesam


NVIDIA выпустила обновленную версию драйвера, которая исправила эту регрессию. У любого водителя прошлых 381.09 больше не будет этой проблемы, пока NVIDIA снова не испортится.

До тех пор, пока драйвер не достигнет основных хранилищ, их можно загрузить с неофициального драйвера NVIDIA PPA. Это гарантирует, что вам не нужно будет возиться с установщиком (который считается плохой идеей) или нуво. Аналогичным образом, это позволит устанавливать / удалять драйверы через apt вместо опасной полуконфигурации установщик NVIDIA оставляет драйверы. Кроме того, это будет не вызывать любые петли регистрации или ошибки, если у вас нет странной системы. Чтобы установить, запустите:

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

Старые драйверы будут автоматически удалены, а новые будут загружены. Последуйте за перезагрузкой компьютера (так как драйверы NVIDIA необходимо испечь в ядре), и все должно работать нормально. Вы можете проверить правильность установки драйверов, выполнив следующую команду:

nvidia-settings --version

Обязательно верните любые исправления, описанные в этом сообщении. до вы обновляете последние версии драйверов. Например, если вы установили исправленную версию Unity, как описано ниже, запустите эту команду, чтобы вернуться к нормальной версии:

sudo ppa-purge ppa:kaihengfeng/lp1292830 

Обратите внимание, что вам понадобятся ppa-purge установленный, который можно сделать следующим образом:

sudo apt install ppa-purge

Если обновление не является вариантом (слишком старым для карты, политики компании и т. Д.):

Кай-Хенг Фэн Launchpad был достаточно любезен, чтобы загрузить версию Unity в свой собственный PPA (ppa:kaihengfeng/lp1292830), который должен исправить эту проблему. Чтобы решить эту проблему, просто добавьте его PPA, выполнив следующие команды:

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

После того, как вы закончите, перезагрузите систему или перезапустите X11, выйдя из системы, а затем снова включитесь.

Кроме того, вы также можете выполнить одно из следующих действий:

  • Переключитесь на карту Intel
    Если вы используете NVIDIA Prime, вы можете перейти на карту Intel, которая решит эту проблему. Обратите внимание, однако, что это не позволит системе использовать полную графическую мощность.
  • Понижающие драйверы
    В соответствии с некоторые комментарии к отчету об ошибке, переход на драйвер NVIDIA 367.57 должен полностью решить проблему. Поскольку это больше не присутствует в PPAs, вам необходимо загрузить его непосредственно из NVIDIA (64-битный)  (32-битный)  (32-разрядная ARM),

6
2018-03-28 05:59



367 больше не существует, как в официальных репозиториях Ubuntu, так и в graphics-drivers/ppa PPA, этот пакет является «переходным пакетом для nvidia-375, поэтому установка автоматически приведет вас к ошибкам версии 375. Если вам известен источник, из которого можно получить старый драйвер 367, вы должны включить его в свой ответ. - Byte Commander
@ByteCommander сделал - Kaz Wolfe
FYI, если вы его пропустили, исправленный драйвер теперь находится в официальном репо. - Android Dev


Решение, предложенное Виктором А. работает просто отлично. Однако следует отметить, что скрипты, помещенные в /lib/systemd/system-sleep/ выполняются как при переходе компьютера в режим сна, так и при просыпании. Учитывая, что мы хотим только позже, использование предлагаемого сценария замедляет процесс перехода в сон без необходимости. Я рекомендую следующее:

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

Предупреждение. Этот сценарий (а также тот, который предлагается Виктором А.) отключит экран подсказки пароля при пробуждении, тем самым создавая угрозу безопасности.


3
2018-03-28 04:08





Эта проблема также исправлена ​​в драйвере Nvidia 375.66, который находится в обычных хранилищах, и должен быть установлен обычными обновлениями.


3
2017-07-01 19:35



Приятно! Я обновил свой ответ, чтобы отразить эту новую разработку, и зачислил вам за то, что в официальном репо теперь есть исправленная версия :) - Android Dev


Это не полное решение, но оно может быть лучше, чем использование compiz --replace или иначе перезапустить компиляцию и испортить рабочие пространства.

Когда я возобновляю с приостановки, я делаю это:

  • Система -> Настройки -> Внешний вид
  • Изменить тему на другую тему
  • Вернуться к исходной теме

Это перезагрузит то, что кажется поврежденными текстурами в графическом процессоре. Если есть способ автоматически принудительно перезагрузить текстуру темы в резюме, это может быть постоянным решением.


2
2017-07-01 16:54



Nvidia выпустила исправленный драйвер, это уже не проблема - Android Dev