Как установить драйвера на видеокарту NVIDIA в Linux: полное руководство

Установка драйверов NVIDIA в Linux часто становится головной болью для новичков — и неудивительно. В отличие от Windows, где процесс автоматизирован, в Linux пользователю приходится выбирать между проприетарными драйверами от производителя и открытыми аналогами nouveau, учитывать версию ядра, разрешать конфликты с Xorg/Wayland и бороться с"чёрными экранами" после перезагрузки. Эта статья поможет разобраться во всех нюансах: от подготовки системы до тонкой настройки для игровых ПК или рабочих станций.

Мы рассмотрим три основных способа установки: через официальный репозиторий дистрибутива (самый безопасный), с помощью утилиты nvidia-driver от производителя (для последних версий видеокарт) и ручную компиляцию из исходников (для опытных пользователей). Особое внимание уделим решению проблемы"зависания на логотипе материнской платы" после установки — это самая частая ошибка, с которой сталкиваются владельцы GeForce RTX 30/40 серии на ядрах новее 6.2.

Прежде чем начинать, проверьте модель вашей видеокарты командой lspci | grep -i nvidia — это поможет выбрать правильную версию драйвера. Имейте в виду: для ноутбуков с гибридной графикой (NVIDIA Optimus) потребуются дополнительные настройки с prime-select или bbswitch.

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

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

sudo apt update && sudo apt upgrade -y # Для Debian/Ubuntu

sudo dnf upgrade --refresh # Для Fedora

sudo pacman -Syu # Для Arch/Manjaro

Далее удалите старые версии драйверов (если они были установлены ранее) и отключите открытый драйвер nouveau, который часто конфликтует с проприетарными решениями. Для этого:

  • 📌 Добавьте 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

  • 🔄 Обновите инициализацию RAM-диска:
    sudo update-initramfs -u # Debian/Ubuntu
    

    sudo dracut --force # Fedora/RHEL

  • 🛠️ Удалите остатки предыдущих драйверов:
    sudo apt purge nvidia # Debian/Ubuntu
    

    sudo dnf remove nvidia # Fedora

⚠️ Внимание: Если вы используете Wayland вместо Xorg, проприетарные драйвера NVIDIA могут работать нестабильно. В некоторых дистрибутивах (например, Ubuntu 22.04+) по умолчанию используется Wayland — перед установкой драйверов переключитесь на Xorg в меню входа или отредактируйте файл /etc/gdm3/custom.conf, раскомментировав строку WaylandEnable=false.
📊 Какой дистрибутив Linux вы используете?
Ubuntu/Debian
Fedora/RHEL
Arch/Manjaro
OpenSUSE
Другой

2. Способ 1: Установка через репозитории дистрибутива (рекомендуется)

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

ДистрибутивКоманда установкиДополнительные пакеты
Ubuntu/Debiansudo ubuntu-drivers autoinstallnvidia-dkms, nvidia-settings
Fedorasudo dnf install akmod-nvidiaxorg-x11-drv-nvidia-cuda
Arch Linuxsudo pacman -S nvidia nvidia-utilsnvidia-settings, lib32-nvidia-utils (для 32-bit приложений)
OpenSUSEsudo zypper install nvidia-drivernvidia-glG05, nvidia-computeG05

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

nvidia-smi

Вы должны увидеть информацию о модели видеокарты, версии драйвера и статусе CUDA. Если команда не найдена, убедитесь, что пакет nvidia-utils (или его аналог) установлен.

Убедиться, что команда `nvidia-smi` выводит информацию о GPU|Проверить разрешение экрана в настройках дисплея|Запустить тест OpenGL: `glxinfo | grep"OpenGL renderer"`|Перезагрузить систему и убедиться в отсутствии артефактов-->

⚠️ Внимание: В дистрибутивах с rolling release (например, Arch Linux) после обновления ядра может потребоваться переустановка модуля nvidia-dkms. Если после апгрейда системы экран не включается, выполните sudo dkms autoinstall и перезагрузитесь.

3. Способ 2: Установка с официального сайта NVIDIA

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

Шаги:

  1. Скачайте драйвер с официального сайта (выберите модель GPU, серию продукта и ОС Linux 64-bit).
  2. Запретите запуск графического интерфейса:
    sudo systemctl isolate multi-user.target
  3. Сделайте исполняемым скачанный файл (обычно это NVIDIA-Linux-x86_64-XXX.XX.run) и запустите его:
    chmod +x NVIDIA-Linux-*.run
    

    sudo./NVIDIA-Linux-*.run

  4. Следуйте инструкциям установщика. При появлении предупреждений о конфликтах с nouveau или unsigned модулями соглашайтесь на автоматическое разрешение.
  5. После завершения перезагрузите систему:
    sudo reboot

Если установщик выдаёт ошибку о несовместимости с текущим ядром, попробуйте добавить флаг --dkms при запуске или обновите ядро до последней стабильной версии.

Что делать, если установщик"зависает" на этапе компиляции?

Если процесс установки"замирает" на 10+ минут, скорее всего, это не зависание, а длительная компиляция модуля для вашего ядра. Дождитесь завершения (может занять до 30 минут на слабых процессорах). Если по истечении этого времени изменений нет, прервите процесс (Ctrl+C), удалите файлы /usr/src/nvidia-* и повторите установку с флагом --silent для минимального логгирования.

4. Решение распространённых ошибок

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

  • 🖥️ Чёрный экран после перезагрузки:

    Причина: конфликт с Wayland или неправильно сконфигурированный Xorg. Решение:

    1. Переключитесь на текстовую консоль (Ctrl+Alt+F3).
    2. Удалите файл конфигурации Xorg: sudo rm /etc/X11/xorg.conf.
    3. Переустановите драйвер с флагом --uninstall, затем повторите установку.

  • ⚙️ Ошибка"Failed to initialize NVML":

    Возникает при несовместимости версии драйвера и CUDA. Проверьте совместимость на официальной странице CUDA и при необходимости откатйтесь на более старую версию драйвера.

  • 🎮 Низкий FPS в играх под Proton:

    Для Steam Play добавьте в запускаемые параметры игры: PROTON_USE_WINED3D=1 %command% или установите gamemoderun для оптимизации производительности.

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

Для ноутбуков с интегрированной графикой Intel/AMD и дискретной NVIDIA требуется дополнительная конфигурация. В Linux есть два основных подхода:

  1. PRIME (для дистрибутивов на базе Ubuntu/Debian):

    Установите пакет nvidia-prime и переключайтесь между GPU командами:

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

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

    После переключения требуется перелогиниться.

  2. Bumblebee (устаревший, но всё ещё используемый метод):

    Установите пакеты bumblebee bumblebee-nvidia и запускайте приложения с префиксом:

    optirun glxgears

    Этот метод менее эффективен, но может быть полезен для старых ноутбуков.

  3. Для современных дистрибутивов рекомендуется использовать prime-run (входит в пакет nvidia-prime):

    prime-run steam # Запуск Steam с дискретной графикой

    ⚠️ Внимание: На ноутбуках с NVIDIA Optimus и Wayland могут возникать проблемы с переключением GPU. В этом случае единственным решением остаётся использование Xorg или ручная настройка EGL через переменные окружения __GLX_VENDOR_LIBRARY_NAME=nvidia.

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

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

    • 🎛️ Настройка nvidia-settings:

      Запустите утилиту командой nvidia-settings и вручнуюconfigure:

      • Включите Coolbits для разгона (требует правки xorg.conf).
      • Настройте PowerMizer на Prefer Maximum Performance для игр.
      • Отключите VSYNC, если используете G-Sync.

  • 🖥️ Использование __GL_ThreadedOptimizations:

    Для многопоточных приложений (например, Blender) добавьте в ~/.profile:

    export __GL_THREADED_OPTIMIZATIONS=1

  • 🐧 Обновление mesa и vulkan:

    Для лучшей совместимости с Proton обновите пакеты:

    sudo apt install --install-recommends linux-firmware mesa-vulkan-drivers vulkan-tools

  • Для проверки производительности используйте бенчмарки:

    glmark2 # Тест OpenGL
    

    vulkaninfo # Информация о Vulkan

    unigine-heaven # Тяжёлый тест для игр

    7. Удаление драйверов и откат к nouveau

    Если вам нужно вернуть открытый драйвер nouveau (например, для тестирования или решения проблем), выполните следующие шаги:

    1. Удалите все пакеты NVIDIA:
      sudo apt purge nvidia # Debian/Ubuntu
      

      sudo dnf remove nvidia # Fedora

    2. Удалите чёрный список nouveau:
      sudo rm /etc/modprobe.d/blacklist-nvidia-nouveau.conf
    3. Обновите инициализацию RAM-диска:
      sudo update-initramfs -u
    4. Перезагрузите систему.

    После перезагрузки проверьте, что используется nouveau:

    lsmod | grep nouveau
    ⚠️ Внимание: На некоторых дистрибутивах (например, Fedora) после удаления проприетарных драйверов может потребоваться переустановка пакетов mesa-dri-drivers для корректной работы nouveau.

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

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

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

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

    Это происходит из-за несовместимости версий драйвера и CUDA Toolkit. Проверьте соответствие версий на официальной странице NVIDIA. Например, CUDA 12.x требует драйвер версии 525.60.13 или новее. Установите правильную версию драйвера и переустановите CUDA.

    Как включить поддержку G-Sync в Linux?

    Для активации G-Sync:

    1. Убедитесь, что ваш монитор поддерживает G-Sync и подключён по DisplayPort.
    2. В nvidia-settings перейдите в раздел OpenGL Settings и включите Sync to VBlank.
    3. Для игр под Proton добавьте в параметры запуска: __GL_SYNC_TO_VBLANK=1 __GL_SYNC_DISPLAY_DEVICE=DP-4 %command% (замените DP-4 на ваш порт).

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

    Да, но для этого нужно:

    • Установить пакет nvidia-container-toolkit.
    • Добавить флаг --gpus all при запуске контейнера.
    • Использовать базовый образ с поддержкой CUDA (например, nvidia/cuda:12.2-base).

    Пример команды:

    docker run --gpus all -it nvidia/cuda:12.2-base nvidia-smi

    Как обновить драйвер NVIDIA без переустановки?

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

    1. Скачайте новую версию драйвера.
    2. Запустите установщик с флагом --uninstall для старой версии.
    3. Установите новую версию стандартным способом.

    Не удаляйте старую версию вручную — это может привести к конфликтам модулей ядра.