Установка драйверов NVIDIA на Linux: Полное руководство

Многие пользователи переходят с Windows на Linux, сталкиваясь с необходимостью ручной настройки графического подсистемы. В то время как системы на базе Intel или AMD часто работают «из коробки», видеокарты NVIDIA требуют особого подхода к установке драйверов. Неправильная конфигурация может привести к отсутствию аппаратного ускорения, мерцанию экрана или невозможности запуска графической среды.

Существует несколько методов внедрения проприетарного программного обеспечения в ядро системы. Выбор зависит от дистрибутива, который вы используете, и ваших предпочтений в плане стабильности versus актуальности версий. Открытые драйверы (nouveau) хороши для базовой работы, но для игр и рендеринга необходим именно проприетарный драйвер от производителя.

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

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

Выбор метода зависит от вашего дистрибутива. Для систем на базе Debian и Ubuntu проще всего использовать официальные репозитории. Для Fedora или Arch подход будет отличаться. Запрещено скачивать драйверы с сайта NVIDIA в виде .run файлов, если вы не являетесь опытным системным администратором, так как это нарушает целостность управления пакетами.

Прежде чем переходить к активным действиям, проверьте текущее состояние вашей системы. Вам нужно убедиться, что у вас есть доступ к интернету и достаточно прав администратора (root или использование sudo). Также убедитесь, что у вас отключен Secure Boot в BIOS, если вы не планируете вручную подписывать ключи модулей ядра.

⚠️ Внимание: Скачивание исполняемых файлов .run напрямую с сайта производителя — это прямой путь к потере графической оболочки при каждом обновлении ядра. Используйте только пакеты из репозиториев, которые поддерживаются системой обновлений.
📊 Какой дистрибутив Linux вы используете?
Ubuntu/Debian
Fedora/RedHat
Arch Linux
OpenSUSE
Другой

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

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

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

Самый надежный способ для пользователей Ubuntu, Linux Mint или Debian — использование утилиты ubuntu-drivers или графического интерфейса. Этот метод автоматически подбирает совместимую версию драйвера NVIDIA для вашей видеокарты и версии ядра. Система сама скачает зависимости и настроит модуль DKMS для автоматической перекомпиляции при обновлении ядра.

Для выполнения установки откройте терминал и введите команду для автоматического определения подходящего драйвера. Система проанализирует оборудование и предложит оптимальную версию. Обычно это драйвер с пометкой recommended. Если вы хотите конкретную версию, например, nvidia-550, её можно указать вручную.

После того как пакеты будут установлены, система потребует перезагрузки. Это обязательный этап, так как модуль ядра должен быть загружен при старте системы. Если вы используете Wayland, убедитесь, что выбранный драйвер поддерживает его, иначе вам придется переключиться на X11 (Xorg) в меню входа.

sudo ubuntu-drivers autoinstall

Если автоматический способ не сработал, можно добавить сторонний репозиторий graphics-drivers для получения более свежих версий ПО. Это актуально для новых видеокарт серии RTX 40xx, которые могут не поддерживаться драйверами из стандартных репозиториев дистрибутива. Однако помните, что добавление внешних источников требует внимательности.

Настройка в Arch Linux и Fedora

Пользователи Arch Linux и его производных (Manjaro, EndeavourOS) имеют доступ к AUR (Arch User Repository), где представлены драйверы NVIDIA для любых версий ядра. Здесь важно правильно подобрать пакет: nvidia для стабильного ядра, nvidia-lts для долгоживущих версий ядра (LTS) или nvidia-open для открытых модулей ядра (требует карты серии Ampere или новее).

В Fedora процесс немного сложнее из-за лицензионных ограничений. Вам необходимо сначала добавить репозиторий RPM Fusion, который содержит проприетарное ПО. Без этого шага установка драйверов невозможна. После добавления репозитория можно установить пакет nvidia-driver через пакетный менеджер dnf.

Важно отметить, что в дистрибутивах с часто обновляемыми ядрами (как Arch) риск конфликта версий выше. Рекомендуется использовать утилиту archlinux-keyring или аналогичные инструменты для поддержания подписей ключей в актуальном состоянии. Это предотвратит ошибки при обновлении системы.

⚠️ Внимание: В системах с ядром Linux 6.5 и выше, а также в Fedora 39+, изменился подход к модулям ядра. Убедитесь, что вы устанавливаете соответствующие заголовки ядра (kernel-headers), иначе модуль не скомпилируется.
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda

Для пользователей Arch критически важно установить именно версию akmod, а не обычный nvidia. AKMOD автоматически перекомпилирует модуль при обновлении ядра, в то время как обычный nvidia заставит вас запускать компиляцию вручную, что часто приводит к неработоспособности системы после обновления.

В чем разница между nvidia и nvidia-open?

Пакет nvidia содержит полностью проприетарные модули ядра, которые гарантированно работают на всех картах. Пакет nvidia-open содержит открытые модули ядра только для карт архитектуры Ampere (RTX 30xx) и новее, при этом пользовательский код (user-space) остается проприетарным.

Проблемы с Secure Boot и подписью модулей

Современные компьютеры часто имеют включенную функцию Secure Boot в BIOS/UEFI. Эта технология запрещает загрузку любого кода ядра, который не подписан доверенным сертификатом. Драйверы NVIDIA, устанавливаемые из репозиториев Linux, часто не имеют таких подписей, что приводит к их блокировке при загрузке системы.

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

Если вы выберете второй вариант, система предложит вам создать пароль при первой загрузке с новым ядром. Этот пароль нужно будет ввести в синем экране MOK Manager. Это обеспечивает защиту от вредоносных драйверов, сохраняя при этом возможность использования proprietary драйверов.

Часто пользователи забывают о подписи и сталкиваются с ошибкой "Module verification failed". Это означает, что Secure Boot отклонил модуль. Проверьте статус загрузки модуля, чтобы убедиться, что проблема именно в этом.

lsmod | grep nvidia

Если команда не возвращает ничего, а Secure Boot включен, значит модуль заблокирован. В этом случае либо отключите Secure Boot, либо выполните процедуру подписи модулей через утилиту mokutil. Не игнорируйте это предупреждение, так как без загруженного драйвера система будет работать в режиме базовой графики.

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

Диагностика и проверка работоспособности

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

Если команда выводит таблицу с данными, значит установка прошла успешно. Если же система отвечает ошибкой "command not found" или "NVIDIA-SMI has failed", значит драйвер не загружен. В таком случае нужно проверить логи системы (/var/log/Xorg.0.log) или состояние модулей ядра.

Команда Описание Ожидаемый результат
nvidia-smi Просмотр состояния GPU Таблица с версиями драйвера и CUDA
glxinfo | grep "OpenGL" Проверка контекста OpenGL Строка "NVIDIA Corporation"
lspci | grep -i nvidia Проверка видимости карты Список устройств с идентификатором NVIDIA
cat /proc/driver/nvidia/version Версия модуля ядра Текст с номером версии драйвера

Также стоит проверить, используется ли карта для рендеринга в играх. В некоторых случаях система может использовать мощную видеокарту для вывода изображения, но для графических приложений по-прежнему использовать встроенный графический процессор (Intel/AMD). Это особенно актуально для ноутбуков с технологией NVIDIA Optimus.

Для управления конфигурацией Optimus в Linux существуют утилиты вроде nvidia-prime (для Ubuntu) или optiris. Они позволяют переключать приложения между интегрированной и дискретной графикой. Без них игры будут запускаться на встроенной видеокарте, что приведет к низким FPS.

prime-select query

Команда prime-select query покажет, какой профиль в данный момент активен. Если вы видите "integrated", вам нужно переключиться на "nvidia" или "on-demand", чтобы игры использовали дискретный ускоритель. Это критический шаг для геймеров на Linux.

Работа с Open Source драйверами и будущим

Компания NVIDIA начала выпускать открытые модули ядра (open kernel modules) для своих карт серии Ampere и новее. Это меняет ландшафт поддержки Linux. Теперь пользователи могут использовать гибридный режим, где часть драйвера открыта, а часть остается закрытой. Это упрощает взаимодействие с сообществом и разработкой ядра.

Однако этот режим пока не является универсальным решением. Для старых карт (Pascal, Turing, Volta) и для специфических задач (профессиональный рендеринг, специфические вычисления) классические проприетарные драйверы остаются единственным стабильным выбором. Перед переходом на nvidia-open убедитесь, что ваша карта поддерживается.

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

Если вы используете дистрибутив с последним ядром и драйвером 560+ или новее, вы можете насладиться преимуществами Wayland с картой NVIDIA. Это включает в себя лучшую поддержку графических планшетов, переменную частоту обновления (VRR) и отсутствие мерцания.

Что такое nouveau?

Это проект открытого сообщества, созданный для написания драйверов NVIDIA без документации от производителя. Он позволяет использовать базовые функции видеокарты бесплатно, но не поддерживает 3D-ускорение и современные технологии на высоком уровне.

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

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

Для этого нужно создать файл конфигурации в директории /etc/modprobe.d/ с директивами blacklist nouveau и options nouveau modeset=0. После этого обязательно обновите образ initramfs, чтобы изменения вступили в силу при следующей загрузке. Без этого шага система не сможет подгрузить правильный драйвер.

Другая частая проблема — "черный экран" после обновления ядра. Это происходит, когда модуль не скомпилировался автоматически. В этом случае поможет загрузка в режим восстановления (Recovery Mode) и ручная переустановка драйверов через консоль. Иногда помогает также откат на предыдущую версию ядра.

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

sudo update-initramfs -u

Эта команда критически важна после настройки blacklist. Она пересобирает образ начальной системы загрузки, в которую и встраивается список модулей. Если вы забудете её выполнить, система продолжит пытаться использовать заблокированный драйвер nouveau.

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

Нужно ли удалять драйверы Nouveau перед установкой NVIDIA?

Да, это настоятельно рекомендуется. Nouveau конфликтует с официальными драйверами. Лучший способ — добавить их в черный список и обновить initramfs, как описано в разделе "Частые ошибки".

Почему у меня не работает 3D-ускорение после установки?

Вероятно, система все еще использует встроенную графику или модуль не загрузился. Проверьте вывод команды nvidia-smi и убедитесь, что в glxinfo указан рендерер NVIDIA, а не llvmpipe или Intel.

Можно ли установить драйвер NVIDIA на Wayland?

Да, начиная с версии драйвера 470 (а в полной мере с 555+), поддержка Wayland стабильна. Однако для старых карт может потребоваться откат на X11 для стабильной работы.

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

Используйте команду nvidia-smi в терминале. Первая строка вывода покажет версию драйвера и версию CUDA, а также список запущенных процессов, использующих видеокарту.

⚠️ Внимание: Информация о совместимости драйверов с конкретными версиями Linux обновляется ежемесячно. Всегда сверяйте требования вашей версии драйвера с документацией на сайте NVIDIA перед установкой.