Как установить драйвера NVIDIA на Linux: 3 проверенных метода + решение ошибок

Установка драйверов NVIDIA на Linux — задача, которая пугает многих пользователей, особенно тех, кто недавно перешел с Windows. В отличие от закрытой экосистемы Microsoft, где драйвера устанавливаются автоматически, в мире открытого ПО приходится сталкиваться с терминалом, зависимостями и потенциальными конфликтами ядра. Но не все так страшно: современные дистрибутивы сильно упростили этот процесс, а проприетарные драйвера от NVIDIA теперь поддерживают даже Wayland — протокол, который еще 5 лет назад с ними не дружил.

Главная проблема — выбор метода установки. Официальный инсталлятор от NVIDIA дает максимальную производительность, но требует ручного вмешательства и может сломать систему при неверных действиях. Драйвера из репозиториев дистрибутива проще в установке, но часто отстают по версиям. А еще есть DKMS (Dynamic Kernel Module Support), который спасает при обновлении ядра. В этой статье разберем все три подхода с учетом особенностей популярных дистрибутивов — Ubuntu/Debian, Arch Linux и Fedora/RHEL.

Предупредим сразу: если у вас гибридная графика (например, NVIDIA Optimus в ноутбуках), процесс будет сложнее. В таком случае потребуется дополнительная настройка prime-select или bbswitch. Но обо всем по порядку.

1. Подготовка системы перед установкой драйверов

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

Во-первых, проверьте модель вашей видеокарты. Для этого в терминале выполните:

lspci -k | grep -A 2 -E "(VGA|3D)"

В выводе ищите строку с NVIDIA Corporation. Например, для RTX 4090 это будет что-то вроде NVIDIA Corporation AD102 [GeForce RTX 4090]. Запомните или запишите это название — оно пригодится для выбора правильной версии драйвера.

Во-вторых, обновите систему и ядро до последних версий. В Ubuntu/Debian это делается командой:

sudo apt update && sudo apt upgrade -y

В Arch Linux:

sudo pacman -Syu

В Fedora:

sudo dnf upgrade --refresh

Обновить пакеты системы|Проверка модели видеокарты через lspci|Убедиться в наличии свободного места на диске (минимум 500 МБ)|Отключить Secure Boot в BIOS (если используется)|Создать точку восстановления (опционально, но рекомендуется)-->

Третий шаг — удаление старых драйверов (если они были установлены ранее). Для этого в Ubuntu выполните:

sudo apt purge nvidia

В Arch Linux:

sudo pacman -Rns $(pacman -Qdtq)  # Удаление ненужных зависимостей

sudo pacman -R nvidia nvidia-utils nvidia-settings

⚠️ Внимание: Если вы используете Secure Boot, его необходимо отключить в BIOS или подписать модули NVIDIA вручную. Иначе система не загрузится после установки драйверов. В современных дистрибутивах (например, Ubuntu 24.04+) эта проблема решается автоматически через MOK (Machine Owner Key), но в старых версиях придется действовать самостоятельно.

2. Метод 1: Установка драйверов из официального репозитория дистрибутива

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

В Ubuntu/Debian для этого есть утилита ubuntu-drivers. Выполните:

ubuntu-drivers devices

Команда покажет рекомендуемую версию драйвера. Например:

vendor   : NVIDIA Corporation

model : GA102 [GeForce RTX 3090]

driver : nvidia-driver-535 - distro non-free recommended

Установите рекомендуемую версию:

sudo apt install nvidia-driver-535

В Fedora используйте RPM Fusion (если репозиторий не подключен, добавьте его сначала):

sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda

В Arch Linux драйвера устанавливаются из AUR или официальных репозиториев:

sudo pacman -S nvidia nvidia-utils nvidia-settings

После установки перезагрузите систему:

sudo reboot
Дистрибутив Команда установки Дополнительные пакеты
Ubuntu/Debian sudo apt install nvidia-driver-XXX nvidia-settings, nvidia-prime (для ноутбуков)
Fedora sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda, vdpauinfo
Arch Linux sudo pacman -S nvidia nvidia-utils, lib32-nvidia-utils (для 32-битных приложений)
OpenSUSE sudo zypper install nvidia-gfxG05-kmp-default nvidia-glG05, nvidia-computeG05
⚠️ Внимание: В некоторых дистрибутивах (например, Debian Stable) версии драйверов могут отставать на 1-2 года. Если вам нужна последняя версия для поддержки новых игр или CUDA, рассмотрите метод с официальным инсталлятором (см. следующий раздел).

3. Метод 2: Ручная установка с официального сайта NVIDIA

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

Сначала скачайте подходящий драйвер с официального сайта (выберите модель видеокарты, серию, ОС Linux 64-bit). Например, для RTX 4080 это будет драйвер серии 535.xx.

После скачивания (файл будет иметь название вроде NVIDIA-Linux-x86_64-535.129.03.run) выполните:

  1. Перейдите в текстовый режим (нажмите Ctrl+Alt+F3, логиньтесь под своим пользователем).
  2. Остановите графический сервер:
    sudo systemctl isolate multi-user.target
  3. Сделайте скачанный файл исполняемым:
    chmod +x NVIDIA-Linux-x86_64-*.run
  4. Запустите инсталлятор:
    sudo ./NVIDIA-Linux-x86_64-*.run

В процессе установки инсталлятор может выдавать предупреждения о несовместимости с ядром или отсутствии зависимостей. Например:

ERROR: Unable to find the kernel source tree for the currently running kernel.

Это означает, что нужно установить заголовки ядра. В Ubuntu:

sudo apt install linux-headers-$(uname -r)

В Arch Linux:

sudo pacman -S linux-headers

После успешной установки перезагрузите систему:

sudo reboot
Что делать если инсталлятор NVIDIA зависает на "Building kernel modules"

Если процесс зависает на этапе компиляции модулей, попробуйте следующие шаги:

1. Убедитесь, что у вас установлены gcc и makeUbuntu: sudo apt install build-essential).

2. Проверьте, что не установлены драйвера из репозиториев (sudo apt purge nvidia).

3. Если используете кастомное ядро (например, XanMod), попробуйте временно переключиться на стандартное.

4. Добавьте флаг --no-opengl-files при запуске инсталлятора, если конфликтует с Mesa.

Критическая особенность: При обновлении ядра Linux вам придется вручную пересобирать модули NVIDIA командой sudo nvidia-drm install --force или переустанавливать драйвер. Чтобы автоматизировать этот процесс, используйте DKMS (см. следующий раздел).

4. Метод 3: Установка через DKMS (для автоматического обновления)

DKMS (Dynamic Kernel Module Support) — это система, которая автоматически пересобирает модули ядра (в том числе драйвера NVIDIA) при обновлении ядра. Это избавляет от необходимости ручной переустановки после каждого апдейта.

В Ubuntu/Debian установите пакет nvidia-dkms:

sudo apt install nvidia-dkms-535  # Замените 535 на вашу версию

В Arch Linux используйте nvidia-dkms из AUR:

yay -S nvidia-dkms

В Fedora:

sudo dnf install akmod-nvidia

После установки DKMS активируется автоматически. Чтобы проверить его работу, обновите ядро и перезагрузитесь:

sudo dnf upgrade --refresh  # Для Fedora

sudo reboot

Посмотреть статус модулей можно командой:

dkms status

Вывод должен содержать строку вроде:

nvidia/535.129.03, 6.5.0-14-generic, x86_64: installed

5. Настройка гибридной графики (NVIDIA Optimus)

Если у вас ноутбук с гибридной графикой (Intel/NVIDIA или AMD/NVIDIA), потребуется дополнительная настройка. В Linux для этого используется технология PRM (Prime Render Offload) или проприетарное решение nvidia-prime.

В Ubuntu установите:

sudo apt install nvidia-prime

Затем переключайтесь между графическими адаптерами командой:

sudo prime-select nvidia  # Для дискретной карты

sudo prime-select intel # Для встроенной графики

В Arch Linux используйте optimus-manager:

yay -S optimus-manager optimus-manager-qt  # QT-интерфейс для управления

sudo systemctl enable optimus-manager

Чтобы запустить приложение на дискретной карте NVIDIA, используйте:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep "OpenGL renderer"

Для игр через Steam добавьте в параметры запуска:

__NV_PRIME_RENDER_OFFLOAD=1 %command%
  • 🔧 Проблема: При переключении на NVIDIA не работает внешний монитор.
    Решение: Проверьте подключение через xrandr или используйте nvidia-settings для настройки нескольких экранов.
  • 🖥️ Проблема: Высокая температура видеокарты в режиме ожидания.
    Решение: Установите bbswitch для отключения дискретной карты: sudo apt install bbswitch-dkms.
  • Проблема: Низкий FPS в играх despite на дискретной карте.
    Решение: Проверьте, что приложение действительно запускается на NVIDIA через nvidia-smi.

6. Проверка работы драйверов и решение типичных ошибок

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

  • 📋 Проверка версии драйвера:
    nvidia-smi

    Должен вывести таблицу с информацией о GPU, версии драйвера и процессах, использующих видеокарту.

  • 🖼️ Проверка рендеринга:
    glxinfo | grep "OpenGL renderer"

    Должно отобразиться название вашей видеокарты (например, NVIDIA GeForce RTX 4090/PCIe/SSE2).

  • 🔄 Проверка CUDA (если нужна):
    nvcc --version

Если вместо ожидаемого вывода вы видите ошибки, вот наиболее распространенные проблемы и их решения:

Ошибка Причина Решение
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver Драйвер не загружен или конфликт с nouveau Черный список nouveau (см. ниже), перезагрузка
ERROR: Unable to load the 'nvidia-drm' kernel module Отсутствуют заголовки ядра или несовместимость версий Установить linux-headers, переустановить драйвер
Черный экран после загрузки Конфликт с Wayland или nomodeset Переключиться на Xorg в меню входа или убрать nomodeset
Failed to initialize NVML: Driver/library version mismatch Несовпадение версий драйвера и CUDA Переустановить драйвер и CUDA Toolkit одной версии

Если проблема связана с открытым драйвером nouveau, добавьте его в черный список:

echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nvidia-nouveau.conf

echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nvidia-nouveau.conf

sudo update-initramfs -u # Для Debian/Ubuntu

sudo dracut --force # Для Fedora/RHEL

Из репозитория дистрибутива|Официальный инсталлятор с сайта NVIDIA|Через DKMS|Не знаю/не пробовал-->

7. Оптимизация производительности после установки

Установка драйверов — только первый шаг. Для максимальной производительности в играх и приложениях потребуется дополнительная настройка.

Во-первых, установите nvidia-settings для управления параметрами GPU:

sudo apt install nvidia-settings  # Ubuntu/Debian

sudo pacman -S nvidia-settings # Arch Linux

sudo dnf install nvidia-settings # Fedora

Запустите утилиту командой:

nvidia-settings

Здесь можно настроить:

  • 🎯 Разрешение и частоту обновления экрана
  • 🔥 Ограничение мощности (PowerMizer)
  • 🖥️ Настройку нескольких мониторов
  • 🎮 Параметры 3D-ускорения (антиалиасинг, фильтрация текстур)

Во-вторых, для игр через ProtonSteam) добавьте следующие переменные окружения в параметры запуска:

__GL_SHADER_DISK_CACHE=1 __GL_SHADER_DISK_CACHE_PATH="$HOME/.cache/shaders" __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1

Это ускорит загрузку шейдеров в играх на Vulkan.

В-третьих, если вы используете Wayland, проверьте поддержку через:

echo $XDG_SESSION_TYPE

Для NVIDIA может потребоваться принудительное включение Xorg (в меню входа в систему).

FAQ: Частые вопросы по установке драйверов NVIDIA в Linux

Можно ли установить драйвера NVIDIA на Linux без терминала?

Да, в некоторых дистрибутивах есть графические утилиты. Например, в Ubuntu можно использовать Дополнительные драйвера (Software & Updates → Additional Drivers). В FedoraGNOME Software с подключенным репозиторием RPM Fusion. Однако для решения проблем все равно может потребоваться терминал.

Почему после установки драйверов NVIDIA не работает внешний монитор?

Это типичная проблема с Xorg или Wayland. Попробуйте:

  1. Подключить монитор до запуска системы.
  2. Использовать nvidia-settings для настройки нескольких экранов.
  3. Вручную настроить конфигурацию через xrandr:
    xrandr --output HDMI-1 --auto --right-of eDP-1
  4. Если используется Wayland, попробуйте переключиться на Xorg в меню входа.
Как удалить драйвера NVIDIA полностью?

Для полного удаления выполните:

sudo nvidia-uninstall  # Если устанавливали с официального инсталлятора

sudo apt purge nvidia # Для Debian/Ubuntu

sudo dnf remove nvidia # Для Fedora

sudo pacman -Rns $(pacman -Qdtq) # Для Arch Linux (удаляет ненужные зависимости)

Затем удалите конфигурационные файлы:

sudo rm -rf /etc/X11/xorg.conf.d/nvidia

sudo rm -rf /etc/modprobe.d/nvidia

И пересоберите initramfs:

sudo update-initramfs -u  # Debian/Ubuntu

sudo dracut --force # Fedora/RHEL

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

Да, начиная с драйверов серии 470.xx (2021 год) NVIDIA официально поддерживает Wayland. Однако для полноценной работы могут потребоваться дополнительные настройки:

  • В GNOME (Ubuntu/Fedora) выберите сессию GNOME on Wayland при входе.
  • В KDE Plasma убедитесь, что используется композитор KWin с поддержкой Wayland.
  • Для Steam и игр может потребоваться принудительный запуск через XWayland.

Если возникают артефакты или проблемы с производительностью, временно переключитесь на Xorg.

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

Способ обновления зависит от метода установки:

  • 🔄 Из репозитория: Обновите систему стандартной командой (sudo apt upgrade, sudo dnf upgrade и т.д.).
  • 📥 Официальный инсталлятор: Скачайте новую версию с сайта NVIDIA и запустите с флагом --uninstall, затем установите заново.
  • 🔧 DKMS: Обновление происходит автоматически при обновлении ядра. Чтобы принудительно обновить версию драйвера, переустановите пакет (например, sudo apt install --reinstall nvidia-dkms-535).

После обновления обязательно перезагрузите систему!