Дивні артефакти уздовж меж віконця після пробудження комп’ютера зі сну


118

NB: Nvidia випустила офіційний виправлення; будь ласка, дивіться відповідь ByteCommander , мою власну відповідь та / або відповідь Каза Вулфа .


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

введіть тут опис зображення


Наразі це, як відомо, впливає на наступні карти 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

Вищенаведений список отриманий з повідомлень інших користувачів, що знаходяться тут на АС, цю тему та цю нитку.

NB: Це не є винятковою ексклюзивним списком. Це, ймовірно, впливає майже на всі карти Nvidia.

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


Що відбувається, і як це можна вирішити?


Який графічний драйвер ви використовуєте та яку модель відеокарти у вас є? Нещодавно у мене виникли ті ж проблеми з моєю карткою 940M та деякими версіями фірмового драйвера nvidia після призупинення та прокидання ноутбука знову. Будь ласка, відредагуйте питання та додайте висновок, lspci -k | grep -iEA3 '3d|vga'який містить усю запитувану інформацію. Дякую.
Командир байт

1
О, насправді у мене знову виникає ця проблема , тому що nvidia-367драйвер, який я використав, став перехідним пакетом, який автоматично оновлюється до nvidia-375, що було однією з версій, що викликало цю помилку. Час гніти nvidia та писати звіти про помилки.
Байт-командир

2
це справді даб, але намагайтеся гугл щось на зразок "дивних речей по кутах" ... У будь-якому випадку на ці запитання є погані відповіді, в той час як рішення нижче працює як шарм.
Іван

1
@taylorswift - Схоже, щонайменше 41 особа має і цю проблему: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/… Я думаю, нам доведеться просто почекати, коли Nvidia виправить її.
Android Dev

Також впливає GeForce GTX 950M.
conualfy

Відповіді:


77

NB: Це було тимчасовим рішенням, поки Nvidia не випустила драйвер для виправлення. Прокрутіть униз, щоб знайти інші відповіді з фактичним виправленням. - Android Dev


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

Я спостерігав це з недавнього оновлення драйвера nvidia. Таким чином, я підозрюю, що це помилка у драйвері.

Я знайшов відповідь на дошці nvidia . Це підтверджена помилка у драйвері, і nvidia, мабуть, вже працює над цим. Тим часом можна перезапустити compiz

compiz --replace

позбутися артефактів.

Помилка знаходиться в системі відстеження помилок Ubuntu, включаючи обхідний сценарій для автоматичного перезапуску compiz після відновлення.


Іншим рішенням буде перехід на попередню версію драйвера: askubuntu.com/a/896544/657603
Antoine Dusséaux

Thx для вирішення. Я не впевнений, але, оскільки у мене є ця проблема, і у мене є ще одна проблема: мій ноутбук не завжди призупиняється правильно через одну годину, як встановлено.
Скалар Ваг

Повернувшись із сну, він автоматично входить у систему, перш ніж запросити пароль, все-таки виправити це?
Hatem Jaber

2
compiz --replaceне поводиться добре з робочими просторами. Він переміщує всі вікна всіх робочих просторів у першу робочу область :(
AlikElzin-kilaka

1
Ви повинні тримати термінал відкритим за допомогою цієї команди. Якщо закрити термінал, він знову перезапустить compiz. Це буде працювати до наступного призупинення, це не справжнє рішення, я не можу реально функціонувати із виконанням цієї команди кілька разів на день. Перейшли до вищезазначеного рішення, змінивши водія.
conualfy

58

ОНОВЛЕННЯ 2:

Тепер Nvidia також оновила свої nvidia-375драйвери до версії 375.66 , яка доступна у стандартних сховищах Ubuntu усіх підтримуваних на даний момент версій .

Це означає, що відтепер вам більше не доведеться вживати жодних спеціальних дій , за винятком звичайних оновлень системи, як завжди. Вам не потрібен пакет драйверів з graphics-driversPPA, якщо ви не хочете їх.

Ось уривок змін журналу змін до основного репосту 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

sudo apt install nvidia-381

Після завершення цієї процедури перезавантажте комп'ютер і перевіріть, чи все ще є проблеми. Для мене вони пішли. Удачі.


1
Для загальних користувачів я вважаю за краще швидкий спосіб, який не змінюється водієм, тут, а не пониження драйверів. Враховуючи, що виправлення буде випущено (і, мабуть, не надто далеко відтепер), це справді лише тимчасовий дискомфорт. Якщо ви поновлюєте версію драйверів, вам доведеться пам’ятати про повернення aptдо стану, коли подальші оновлення знову отримуються автоматично. Вам також доведеться активно перевіряти, чи буде випущена нова правильно виправлена ​​версія, а не просто чекати автоматичного її випуску - випуск схильний і незручний.
Джейсон C

1
@JasonC Ні. nvidia-370Цілком ймовірно, також перетворяться на перехідний пакет, як nvidia-367уже є, і тому це оновлення автоматично встановить версію драйвера nvidia / команда графічних драйверів вважає відповідним наступником. 370 - це останній (і, можливо, єдиний) підтримуваний на даний момент драйвер, на який не впливає ця помилка, так чому б не використовувати його? Порівняно з 367, який використовувався до оновлення, вводячи цю помилку, вона все ще є оновленням. Крім того, ми не стримуємо жодних пакетів або перекреслюємо будь-яку правильну конфігурацію, як вам здається.
Байт командир

1
@ByteCommander Я видаляю свій коментар за двох умов. 1) До тих пір , як ви 100% впевнені , що він буде перетворюватися в перехідний пакет, я буду вірити вам (я не 100% впевнений в своїй заяві); або якщо ви не впевнені на 100%, додайте до відповіді згадку про ризик та 2) Якщо ви додасте згадку про те, як це не вплине на майбутні оновлення, якщо воно стане перехідним пакетом, і що робити один раз виправлення відпущено, до відповіді.
Джейсон C

1
@JasonC Не потрібно видаляти ваш коментар. Я можу з очевидних причин не гарантувати, що graphics-driversробитимуть утримувачі АОП зі своїми пакетами в майбутньому, я можу просто робити припущення, виходячи з того, що вони робили раніше. І поки 370 підтримується, немає необхідності діяти, навіть коли вони виправляють 375 і 378. Я твердо здогадуюсь, що як тільки nvidia знищить 370 (як вони нещодавно зробили з 367), утримувачі PPA повернуть це в перехідний пакет, що означає, що оновлена ​​версія не буде містити більше коду, але додасть залежність до новішого драйвера.
Байт-командир

2
@Matsmath я не знаю. Тільки час покаже. Можливо, він ніколи не буде доданий до сховищ "старих" версій Ubuntu, які були випущені до цього пакета драйверів взагалі. Я не думаю, що можна дати точну відповідь на це ще до того, як це насправді сталося.
Командир байт

36

Це є була помилка в драйверах Nvidia.

Nvidia змогла відтворити проблему, і вони працюють над виправленням, яке буде включено до їх наступного випуску драйвера. (Виправлення тепер випущено, див. Нижче).

Для отримання додаткової інформації див. Цю тему на форумах розробників Nvidia . Про цю помилку також повідомлялося на Launchpad .

Дякуємо @Stefan за його чудові навички в розкритті цієї інформації !


Nvidia нарешті випустила офіційний виправлення!

  • Виправлення надано з використанням драйвера бета-версії 381.09 Відповідний знімок екрана із журналу змін : введіть тут опис зображення

  • Зараз цей драйвер не знаходиться в жодному сховищі

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

  • ОНОВЛЕННЯ - ВИПУСК ЗАРАЗ У ОФІЦІЙНОМ РЕПО

    Кудо до @ ubfan1, щоб повідомити про це ! Деталі див. У розділі нижче


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

04.04.2017 Nvidia відправила оновлення до свого драйвера випуску, в якому, серед іншого, міститься виправлення помилок, яке ви шукаєте. Оновлений драйвер випуску отримав версію375.66

Оскільки це 375.66є в офіційному сховищі, завантажувати виправлений драйвер досить просто.

  • Якщо ви зараз перебуваєте на баггі- 375.39версії, то все, що потрібно, - це просто:

    sudo apt-get update
    sudo apt-get upgrade
    

  • Якщо ви перебуваєте у застарілому драйвері, вам слід виконати:

    sudo apt-get update
    

    Далі слід перейти на нову версію драйвера в Додаткові драйвери:

    введіть тут опис зображення


  • Якщо ви зараз використовуєте встановлений вручну драйвер, слід видалити його, перезавантажити та виконувати кроки, описані вище.

Після перезавантаження слід виявити, що ваш драйвер Nvidia оновлений до 375.66.


2. Якщо вам не потрібен новий драйвер для сумісності з вашим графічним процесором: *

* Зауважте, що цей розділ замінено розділом №1

Якщо ваша відеокарта досить стара, що підтримується драйвером v340, не потрібно встановлювати новішу версію з неофіційного PPA. Для людей з новими картками, такими як GTX 9-серія або 10-серія, однак, вам знадобиться новіший драйвер.

Для зручності ось повний перелік карт, що підтримуються драйвером версії 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 немає цієї помилки.)

введіть тут опис зображення

Обов’язково перезавантажтесь після переключення версії драйвера.


3. Щоб встановити виправлений [бета] драйвер з неофіційного 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. При будь-якій удачі ви побачите нову версію драйвера:

    введіть тут опис зображення


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

Встановлення драйверів Nvidia з *.runфайлу, як правило, не дуже гарна ідея. Він схильний ламати речі. Таким чином, їх краще встановити з PPA, як описано вище. Тим не менш, якщо ви пригоди і хочете встановити їх вручну, це процес, який працював для мене з Ubuntu 16.04 і GTX650.

Перед встановленням виправленого драйвера, ВАМ ПОВИНЕНЕ видалити поточний власний драйвер та перейти на драйвер Nouveau:

введіть тут опис зображення

Переконайтеся, що перезавантажтесь після перемикання. ЯКЩО НЕ ВІДПОВІДИТЕ СВОЮ СУЧАСНУ ВЛАСНУЮ ДІЯЛЬНІСТЬ, НОВИЙ Драйвер буде конфліктувати зі СТАРИМИ, А ВИ ПОЛУЧАЄТЕ РЕЧІ!

  1. Завантажте файл виправленого драйвера від Nvidia. Ось прямий посилання.

  2. Збережіть файл у папці для завантаження

  3. Вийдіть із сеансу GUI (перед тим, як продовжити, ви повинні опинитися на екрані входу)

  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. Прийміть ліцензійну угоду:

    введіть тут опис зображення

  8. Він скаржиться на те, що наданий розповсюдження сценарій попередньої інсталяції не вдався. Продовжуйте все одно:

    введіть тут опис зображення

  9. Виберіть, Yesколи запитаєте, чи бажаєте ви зареєструвати модуль ядра в dkms:

    введіть тут опис зображення

  10. Виберіть, Yesколи вас запитають, чи хочете ви встановити 32-розрядні бібліотеки сумісності:

    введіть тут опис зображення

  11. На створення модуля ядра знадобиться певний час, тому будьте терплячі!

    введіть тут опис зображення

  12. Виберіть, Yesколи запитаєте, чи хочете ви запустити nvidia-xconfig:

    введіть тут опис зображення

  13. Виберіть, Okщоб вийти з інсталятора

  14. Майже там! Тепер просто запустіть ці команди:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. Після перезавантаження комп'ютера відкрийте Налаштування сервера Nvidia X. При будь-якій удачі ви побачите нову версію драйвера:

    введіть тут опис зображення


1
ПРИМІТКА : крок 14 був використаний, коли робочий стіл відповіді не з’явився, як було обговорено в чаті «Запитати Ubuntu». Це може не бути необхідним, але якщо ваш робочий стіл Unity не з’являється, використовуйте цей крок як рішення.
Сергій Колодяжний

Вибачте, але я маю аргументувати це рішення. Це призвело до помилки, що призвела до того, що я не маю можливості входити в систему та несумісність із програмним забезпеченням Windows, встановленим на вині. Така проблема входу є звичайною, якщо ви встановлюєте файли .run з сайту nvidia замість використання доступних джерел в ubuntu. Набагато простішим способом вирішити цю проблему було б використання версії 340, доступної безпосередньо між обраними драйверами у меню Програмне забезпечення та оновлення. Принаймні, це спрацьовувало все для мене.
Джорджіо Вітанза

@GiorgioVitanza - Я знаю, що встановлення .runфайлів насправді не є рекомендованим способом вчинити. Але використання драйвера 340 - це не варіант для людей, які мають новіші картки, наприклад, 10-серії. Я тестував це рішення на власному комп’ютері, і воно спрацювало чудово.
Android Dev

@GiorgioVitanza Спробуйте мою відповідь - він встановлює драйвери з PPA, які повинні бути набагато суміснішими, ніж запущені файли.
Каз Вулф

@GiorgioVitanza - Тепер, коли драйвер знаходиться в PPA, я оновив свою відповідь, щоб включити обидва способи.
Android Dev

7

Ця проблема присутня у 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


Питання краще позначити як дублікати, а не публікувати одне і те ж рішення знову і знову
Zanna

3
Його недоліком є ​​те, що мій екран для входу ніколи не відображається, коли ввімкнено в естаптоп :(
Ісам

6

NVIDIA випустила оновлену версію драйвера, яка зафіксувала цю регресію. Будь-який драйвер минулого 381.09 тепер більше не матиме цієї проблеми, доки NVIDIA не зіб'є знов.

Поки драйвер не потрапить у основні сховища, їх можна завантажити з неофіційного драйвера PPA NVIDIA. Це гарантує, що вам не потрібно буде возитися з інсталятором (що широко вважається поганою ідеєю) або Nouveau. Аналогічно, це дозволить встановити / видалити драйвери 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 повинен вирішити проблему повністю. Оскільки цього в PPA більше немає, вам потрібно буде завантажити його безпосередньо з NVIDIA (64-розрядна) (32-розрядна) (32-розрядна ARM) .

367 більше не існує, як в офіційному репортажі Ubuntu, так і в graphics-drivers/ppaPPA, цей пакет є "перехідним пакетом для nvidia-375, тому встановивши його, автоматично ви отримаєте версію buggy 375. Якщо ви знаєте джерело, де його отримати старий драйвер 367 від, ви повинні включити його у свою відповідь.
Byte Commander

@ByteCommander виконано
Kaz Wolfe

FYI, якщо ви пропустили його, тепер виправлений драйвер знаходиться в офіційному репо.
Android Dev

3

Рішення, запропоноване Віктором А., працює просто чудово. Однак слід зазначити, що розміщені сценарії /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

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


Приємного спати! Я оновив свою відповідь, щоб відобразити цю нову розробку, і приписав вас за те, що ви дізналися, що в офіційному репо тепері є виправлена ​​версія :)
Android Dev

2

Це не повне рішення, але це може бути краще, ніж використовувати compiz --replaceчи іншим чином перезапустити compiz і зіпсувати робочі місця.

Коли я поновлюсь з призупинення роботи, я роблю це:

  • Система -> Налаштування -> Зовнішній вигляд
  • Змініть Тему на іншу Тему
  • Повернення до початкової теми

Це перезавантажить те, що, здається, пошкоджені текстури в GPU. Якщо є спосіб автоматично змусити тексту резюме до повторного завантаження, це може бути постійним рішенням.



1

Є ще один спосіб вирішити цю проблему. (Я не рекомендую його, якщо у вас працює багато процесів.)

Просто вбийте Xorg після пробудження комп'ютера.

Знайдіть PID Xorg:

top

Коли ви знайдете pid Xorg, натисніть Ctrl + C, щоб зупинити "верхній" процес.

Перейдіть на корінь і вбийте процес:

sudo su
kill [pid]

Після цього увійдіть у свій рахунок.

Попередження: це закриє всі ваші програми. Firefox не створює проблем з цим, він просто відновить усі ваші вкладки, але я не можу гарантувати інші програми, тому збережіть їх перед цим процесом.


2
До речі, для закриття зверху стандартним способом, а не просто скасування завдання (Ctrl + C), ви можете просто натиснути «q».
анонімний2

0

Я спробував змінити драйвер на оновлений виправлення помилок, але це накручувало мою здатність глибоко навчатися з tensorflow, тому я повернувся до оригінального програмного забезпечення для помилок.

Це відбувається щоразу, коли я прокидаю Ubuntu від сну. Я просто відкриваю термінал CTRL+ ALT+ Tі набираю

killall compiz

Дисплей скидає налаштування, і глюк зник. Це займає лише кілька секунд. Ви навіть можете йому надавати псевдонім у своєму ~/.bashrcроді, alias kc='killall compiz'тому вам потрібно лише вводити текст, kcколи ви хочете виконати команду.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.