Ubuntu и официальные драйвера NVIDIA

Ubuntu и официальные драйвера NVIDIA

iSergium

Драйвера на видеокарты и линукс-дистрибутивы никогда, к сожалению, не славились своей дружбой. Зачастую установка драйверов приводит к чёрному экрану, невозможности запустить оболочку и к другим проблемам. Что делать?

Оболочка Unity отлично работает со многими не новыми видеокартами и на открытом установленном по умолчанию драйвере. Но с более или менее новыми видеочипами ситуация куда хуже - даже на NVIDIA GTX950 оболочка Unity потеряла всю прозрачность, а анимации стали напоминать низкокачественное слайдшоу. Крайнее странное поведение для такой мощной видеокарты. В таком случае выбора не остаётся - нужно ставить проприетарный драйвер.

Есть несколько способов установить в Ubuntu официальный драйвер для графических процессоров NVIDIA.

1. Выбрать в настройках системы

Параметры системы → Программы и обновления → Дополнительные драйверы

Здесь можно выбрать проприетарный драйвер. Удобный способ, но на моей памяти таким способом хорошо вставали лишь драйвера на видеочипы Intel HD Graphics. Для других видеочипов категорически не советую, если вы не авантюрист.

2. Официально поставляемый на сайте nvidia run-файл.

Этот способ заключается в скачивании run-файла с сайта nvidia.com и запуска его через консоль:

sudo ./NVIDIA-Linux-x86_64-361.45.11.run

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

3. Установка официальных драйверов через консоль.

Рекомендую именно этот способ - он самый удобный и самый работоспособный.

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

sudo apt-get install nvidia-346

Версию "nvidia-346" можно заменить на "nvidia-352" или любую другую из, например, этого списка, но важно помнить, то здесь тоже важно ставить не самую последнюю версию. Например, в мае 2016 года Ubuntu 16.04 полноценно заработала с видеочипом GTX 950 на драйверах 346 версии, версии выше ломали работоспособность системы. При этом при обновлении ПО версия драйверов поднялась до nvidia-361, ничего не поломав.

После установки официальных драйверов и перезагрузки системы Unity заработает во всей своей красоте, и сведения о системе отобразят информацию о Вашей видеокарте (скрины до и после установки):

Ubuntu 16.04: до установки драйвера Ubuntu 16.04: после установки драйвера

Восстановление после неудачной установки

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

sudo apt-get purge nvidia-*
reboot

После перезагрузки система должна запуститься на свободном драйвере. После запуска нужно попробовать установку другой версии драйверов или другой способ установки. На какой-то итерации всё получится, главное не сильно стремиться к максимальному числу в номере версии.

Если система загружается до экрана авторизации, но дальше не проходит даже после ввода логина с паролем, то войти в консоль можно сочетанием клавиш Ctrl+Shift+F1.

Если система не доходит даже до экрана авторизации и выводит чёрный или фиолетовый экран, то нужно совершить запуск системы с параметром ядра nomodeset. Для этого нужно в grub отредактировать запуск Ubuntu: выбрать в меню grub строку с Ubuntu и нажать клавишу E. В параметры загрузки ядра нужно добавить слово nomodeset, обычно это получается после слов quiet splash $vt_handoff. Должно получиться примерно так (версия ядра и UUID в данном примере не имеют значения):

linux    /boot/vmlinuz-4.4.0-22-generic root=UUID=bad22c5b-c24f-4f96-b2bd-06ffd0a0ea4c ro  quiet splash $vt_handoff nomodeset

По нажатию на F10 система загрузится с новыми параметрами ядра. Изменения в grub не сохранятся, так что необходимости возвращать прежние параметры нет.

Дополнительно: