Друзья, хочу рассказать про то как я накосячил с проприетарными драйверами Nvidia, и как решил проблему. Может быть кому-нибудь это поможет, ведь это единственный из перепробованных способов, который помог мне. И есть мнение, что если что-то не так, то этот способ гарантированно поможет вернуть «как было».
Предисловие:
*********************
Раньше никогда не использовал официальные драйвера Nvidia (хотя для игр и мультимедиа это лучшее решение), т.к. из-за них было много проблем:
1) Исчезает логотип (splash) во время загрузки системы, т.е. вместо логотипа «kubuntu» - черный экран. И соответственно не видно приглашения на ввод LVM-пароля.
2) Появляются странные проблемы со шрифтами, когда технически все осталось как было (шрифт, стиль, размер, сглаживание и т.д.), но выглядят шрифты иначе, местами очень плохо.
3) В меню Grub все действия требуют повторного нажатия клавиш, что очень странно и возникает только при использовании проприетарной графики.
*********************
Так вот, все началось с того, что я попробовал кубунту 16.04. Однажды диспетчер драйверов КДЕ предложил обновить дровишки на видео и проц, и я согласился. К тому же, свободный видеодрайвер в 16.04 работал совсем плохо - терять (как мне казалось тогда) было нечего.
Из предложенных версий видео самая свежая (и рекомендуемая) была 384.90 - ее и накатил. Я подозревал, что делать этого не стоит, но решил попробовать, ведь и с открытым драйвером было не все гладко (окна и менюшки мигали, не все прорисовывалось, хотя в 14.04 и ранее такого не было).
После перезагрузки системы не смог загрузиться в обычном режиме. Сначала подумал, что как всегда проприетарный драйвер Nvidia не отображает splash (логотип кубунты) во время загрузки системы, но оказалось что все намного хуже.
Проблема была в том, что помимо логотипа у меня на экране высвечивалось приглашение на ввод LVM пароля. А теперь вместо него был черный экран. «Ввел» пароль вслепую, нажал Enter - нифига. Никакой нагрузки на жесткий диск. Значит проблема не только в отображении сплеша, а еще раньше.
*********************
Зашел в Recovery Mode, там ввел свой LVM-пароль, дальше выбрал Resume normal boot, пошла загрузка из консоли и... снова выпал в то же меню (но на этот раз кодировка была сбита). Снова выбрал Resume, появилось окно логина (из графики!!), т.е. тут уже драйвер Nvidia заработал, зашел в диспетчер драйверов, вернул открытый драйвер, перезагрузился, зашел в нормальном режиме - все отлично.
*********************
Через несколько дней появился новый драйвер (рекомендуемый) - 384.111. Та же фигня. Снова установил драйвер, снова черный экран, снова не могу пройти LVM, т.к. до него видимо даже не доходит. Снова ковырялся с восстановлением, пытался понять откуда вообще ноги растут у этой проблемы, почему ни одна версия проприетарного драйвера не работает.
В режиме восстановления выбрал проверку файлухи с помощью fsck.
Но все повисло на стадии:
[OK] Stopped NVIDIA Persistence Daemon
(И каждый раз, запуская fsck - стопорилось намертво на разных стадиях, но всегда где-то в первую минуту проверки.)
Нажал Enter, выкинуло обратно в меню восстановления... Вобщем снова в Recovery mode ввел LVM пароль, снова выбрал Resume normal boot, снова графика включилась на стадии появления логин-окна КДЕ, и уже из графика снова вернул свободный драйвер nouveau, с которым без проблем можно было грузиться в нормальном режиме.
*********************
Но драйвер nouveau продолжал глючить, выдавая артефакты.
Попробовал на этот раз драйвер 340.102.
После этого настал пипец и перестал работать даже режим восстановления!!!
Зашел в Recovery Mode, ввел пароль LVM, нажал Resume normal boot - логи и черный экран. И тут мне стало хреново!!
Перезагрузился в режим Recovery Mode.
Начал снова пробовать fsck, но он всегда зависал то на одной стадии...
[OK] Reached target Encrypted Volumes
То на другой...
[OK] Found device (название диска)
То еще что-нибудь напишет... И дальше никаких проверок.
*********************
Подключился к сети (в меню Recovery Mode это есть), потом вошел в root.
Начал с просмотра списка доступных драйверов:
sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
vendor : NVIDIA Corporation
model : GF114 [GeForce GTX 560 Ti]
modalias : pci:v000010DEd00001200sv00001458sd0000352Bbc03sc00i00
driver : nvidia-304 - distro non-free
driver : nvidia-340 - distro non-free
driver : nvidia-384 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
== cpu-microcode.py ==
driver : intel-microcode - distro free
Как видим, показывает то же самое, что и через графику (диспетчер драйверов КДЕ).
Сначала попытался откатиться на 384 (когда работал хотя-бы вход в графику через Recovery Mode).
sudo apt-get install --reinstall nvidia-384
Установил 384й драйвер. Перезагрузился - не помогло.
Таким методом я поставил все 4 версии драйвера, но проблема видимо была в том, что я просто скачал пакеты - видимо есть какая-то команда для АКТИВАЦИИ определенного драйвера, но я такой команды не знал. Поэтому мои попытки понаставить пакеты ни к чему не приводили - был активен определенный глючный драйвер, который не позволял грузиться даже через Recovery Mode.
Помимо этого начали сыпаться ошибки X-сервера, я начал паниковать, пробовать разные команды вроде dpkg --reconfigure, чтобы восстановить X-сервер и все остальное, но это не помогло, ошибок было очень много.
На самом деле я понимал, что проблема лежим на поверхности - в системе есть свободный + 3 версии проприетарных драйверов, но видимо активна та самая «левая» версия.
**********************************
В итоге помог такой простой способ:
Все в той же консольке Recovery Mode делаем.
sudo apt-get purge nvidia*
sudo apt-get install xserver-xorg-video-nouveau
sudo reboot
И система заработала в нормальном режиме на свободной драйвере!