Как установить драйверы NVIDIA на Ubuntu: Полный гайд

Установка проприетарных драйверов для графических ускорителей NVIDIA на Linux-системы часто вызывает вопросы у пользователей, привыкших к автоматизации в Windows. В отличие от других дистрибутивов, Ubuntu предлагает несколько путей интеграции драйверов, каждый из которых имеет свои нюансы и требования к конфигурации системы. Неправильный выбор метода может привести к неработоспособности графической подсистемы или конфликтам с ядром.

Драйверы NVIDIA критически важны для корректной работы видеокарт, обеспечивая доступ к аппаратному ускорению, технологиям трассировки лучей и вычислениям CUDA. В статье мы разберем, как корректно установить драйвер nvidia-run (или его аналоги через PPA репозитории) на различные версии Ubuntu, избегая распространенных ошибок, связанных с безопасной загрузкой и обновлением ядра.

Подготовка системы и удаление старых драйверов

Перед началом установки нового драйвера необходимо убедиться, что в системе отсутствуют конфликты с предыдущими версиями или открытыми драйверами Nouveau. Этот проект с открытым исходным кодом часто конфликтует с проприетарными модулями NVIDIA, вызывая черный экран при загрузке. Процесс очистки — это фундаментальный этап, от которого зависит стабильность всей графической подсистемы.

Сначала необходимо отключить модуль Nouveau, добавив соответствующие параметры в загрузчик. Выполните команду в терминале:

sudo nano /etc/modprobe.d/blacklist-nouveau.conf
и добавьте туда строку `blacklist nouveau`. После этого обязательно обновите initramfs, чтобы изменения вступили в силу до следующей перезагрузки.

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

⚠️ Внимание: Если вы используете систему с включенной функцией безопасной загрузки (Secure Boot), установка драйверов может быть заблокирована BIOS/UEFI. Вам потребуется либо отключить Secure Boot, либо подписать драйверы собственным ключом перед загрузкой.

Установка через официальный репозиторий Ubuntu

Самый надежный способ получения драйверов — использование официальных репозиториев Ubuntu, которые проходят тщательную проверку на совместимость с дистрибутивом. Система автоматически подберет оптимальную версию драйвера под вашу модель видеокарты, основываясь на базе данных Hardware Detection. Этот метод предпочтителен для серверных конфигураций и рабочих станций, где важна стабильность.

Для поиска доступных версий драйвера используйте команду ubuntu-drivers devices. Этот утилита покажет список совместимых пакетов, помечая рекомендуемую версию как `recommended`. Вы увидите список моделей, таких как NVIDIA GeForce RTX 3060 или RTX 4090, и соответствующие версии драйверов.

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

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

Ниже приведена таблица с основными командами для работы с драйверами в этом разделе:

Команда Описание действия Примечание
ubuntu-drivers devices Поиск совместимых драйверов Показывает рекомендуемую версию
sudo ubuntu-drivers autoinstall Автоматическая установка Выбирает лучший драйвер из списка
nvidia-smi Просмотр статуса GPU Требует загрузки драйвера
dkms status Статус модулей ядра Проверка сборки DKMS

Использование репозитория PPA для новых версий

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

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

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

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

📊 Какой метод установки вы предпочитаете?
Официальный репозиторий Ubuntu
Репозиторий graphics-drivers PPA
Вручную через .run файл
Не знаю

☑️ Подготовка к установке

Выполнено: 0 / 4

Ручная установка через .run файл (NVIDIA Run)

Иногда пользователи ищут именно метод "NVIDIA Run", предполагая установку драйвера через исполняемый файл Linux-x86_64.run с официального сайта. Этот метод считается устаревшим и сложным для большинства пользователей, но он остается актуальным для специфических конфигураций или серверов без доступа к интернету.

Процесс установки через .run файл требует отключения графического сервера Xorg или Wayland. Вам придется переключиться в консольный режим (TTY), остановить службу дисплейного менеджера и запустить файл с правами суперпользователя. Это сложный процесс, требующий точного соблюдения последовательности действий.

Главный риск этого метода заключается в том, что при обновлении ядра Linux драйвер, установленный вручную, не будет автоматически пересобран. Это может привести к потере графического интерфейса после следующего обновления системы, если не настроить механизм DKMS вручную.

Для запуска файла используйте команду sudo sh NVIDIA-Linux-x86_64-.run. Установканик предложит автоматически остановить графический сервер, что приведет к переходу в консольный режим. Следуйте инструкциям на экране, соглашаясь с лицензией и выбирая компоненты для установки.

⚠️ Важно: Установка через .run файл отключает автоматическое обновление драйверов через систему управления пакетами. Вам придется скачивать и запускать новый файл вручную при каждом обновлении драйвера.
Почему не рекомендуется использовать .run файл?

Метод установки через .run файлы не интегрируется с диспетчером пакетов apt. При обновлении ядра Linux модуль драйвера сломается, так как он не пересоберется автоматически. Это требует ручного вмешательства и часто приводит к неработоспособности графического интерфейса после системных обновлений.

Решение проблем с безопасной загрузкой и ядром

Одной из частых проблем при установке драйверов NVIDIA на Ubuntu является конфликт с функцией Secure Boot. Если эта функция включена в BIOS/UEFI, система не разрешит загрузку неподписанных модулей ядра, что приводит к отсутствию драйвера после перезагрузки.

Для решения этой проблемы можно создать собственную пару ключей (MOK - Machine Owner Key) и подписать ими модули драйвера. Процесс включает создание ключей, их импортацию в BIOS и загрузку с помощью утилиты mokutil. Это сложный, но безопасный способ, позволяющий использовать драйверы без отключения защиты.

Альтернативным и более простым решением является временное отключение Secure Boot в настройках BIOS перед установкой драйвера. Это позволит модулям загрузиться без цифровой подписи. Однако для максимальной безопасности системы рекомендуется всё же использовать метод подписи ключами.

Также стоит учитывать, что при обновлении ядра Linux необходимо пересобирать модули драйвера. Утилита DKMS (Dynamic Kernel Module Support) автоматически выполняет эту задачу, если драйвер установлен через репозитории. При ручной установке это может стать проблемой, требующей ручного запуска скрипта компиляции.

Проверка корректности установки и тестирование

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

Эта утилита показывает текущую температуру GPU, уровень загрузки, потребление памяти и список запущенных процессов. Если команда возвращает ошибку "NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver", значит, драйвер не загрузился или есть конфликт модулей.

Для проверки работы 3D-ускорения можно использовать утилиту glxinfo или запустить стандартные тесты производительности. Убедитесь, что в выводе утилиты указано использование NVIDIA вместо llvmpipe или software rendering.

Если вы используете ноутбук с гибридной графикой (NVIDIA Optimus), проверьте, что переключение между интегрированной и дискретной видеокартой работает корректно. Используйте команду nvidia-settings для управления профилем энергопотребления.

Частые ошибки и способы их устранения

Самая распространенная ошибка — черный экран после обновления ядра. Это происходит, когда модуль драйвера не был пересобран автоматически или был заблокирован Secure Boot. В таком случае необходимо загрузиться в режиме восстановления (Recovery Mode) и переустановить драйвер.

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

Иногда пользователи сталкиваются с ошибкой "Failed to initialize the NVIDIA kernel module". Это часто указывает на конфликт с модулем Nouveau, который не был полностью удален. Проверьте файл blacklist и убедитесь, что в initramfs нет упоминаний о Nouveau.

Для диагностики проблем используйте логи системы, находящиеся в /var/log/nvidia-installer.log или /var/log/Xorg.0.log. Эти файлы содержат детальную информацию о причинах сбоя и помогают точно определить проблему.

В таблице ниже описаны типичные ошибки и способы их решения:

Ошибка Причина Решение
Black screen Конфликт Nouveau Блокировка Nouveau в blacklist
Failed to init module Secure Boot включен Отключить Secure Boot или подписать модуль
Driver version mismatch Несоответствие ядра Пересобрать модуль или обновить ядро
Command not found Не установлен пакет Установить nvidia-driver-xxx
⚠️ Внимание: При использовании метода .run файла (NVIDIA Run) система не будет автоматически обновлять драйвер при обновлении ядра. Вам нужно следить за обновлениями вручную и пересобирать модуль после каждого обновления ядра.

FAQ: Ответы на частые вопросы

Какой метод установки драйвера NVIDIA лучше выбрать для Ubuntu?

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

Что делать, если после установки драйвера нет изображения на экране?

Если вы получили черный экран, попробуйте загрузиться в режиме восстановления (Recovery Mode) или выбрать предыдущее ядро в меню GRUB. Затем удалите проблемный драйвер и установите стабильную версию из репозитория.

Нужно ли отключать Secure Boot для установки драйверов NVIDIA?

Отключать Secure Boot не обязательно. Вы можете подписать модули драйвера собственным ключом (MOK) и загрузить этот ключ в BIOS. Однако для упрощения процесса многие пользователи предпочитают временно отключать Secure Boot.

Как проверить, работает ли драйвер NVIDIA корректно?

Используйте команду nvidia-smi в терминале. Если она отображает информацию о видеокарте, температуре и загрузке, значит, драйвер установлен и работает. Также можно запустить тесты 3D-графики, чтобы убедиться в наличии аппаратного ускорения.

Можно ли использовать драйверы NVIDIA на ноутбуках с гибридной графикой?

Да, драйверы NVIDIA поддерживают технологию Optimus для переключения между интегрированной и дискретной графикой. Используйте утилиту nvidia-settings для управления профилем энергопотребления и выбора видеокарты для конкретных приложений.