Драйвер NVIDIA на Ubuntu: установка, версии, Wayland и решение проблем
Драйвер NVIDIA на Ubuntu — традиционно болезненная тема: открытый Nouveau не даёт нужной производительности, а проприетарный иногда конфликтует с Wayland, ядром или secure boot. Разбираем, как выбрать правильную версию, установить через ubuntu-drivers, что делать с Wayland на NVIDIA, как поставить CUDA и решить типичные проблемы — чёрный экран, низкое разрешение, разваленный X-сервер.
Открытый Nouveau против проприетарного NVIDIA
В Ubuntu установлен два варианта драйвера для NVIDIA-карт:
- Nouveau — открытый драйвер, идёт по умолчанию. Работает без настройки, но медленный, не поддерживает CUDA и многие функции современных GPU.
- Проприетарный NVIDIA — закрытый драйвер от вендора. Полная производительность, CUDA, GameStream — но требует установки и привязан к версии ядра.
Для рабочего стола, игр, ML/DL и compute-задач нужен проприетарный. Nouveau подходит, только если вам хватает базового вывода 2D и вы не хотите возиться с установкой.
На серверах с NVIDIA-картами (для compute) — однозначно проприетарный.
Шаг 1: какая у вас видеокарта
lspci | grep -i nvidia
# Пример:
# 01:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070] (rev a1)
Если несколько GPU:
sudo lshw -C display
# подробная информация по каждой видеокарте
Запомните название чипа (например, GA104 или GeForce RTX 3070) — пригодится для выбора версии драйвера.
Шаг 2: рекомендованный драйвер от Ubuntu
Самый простой путь — использовать встроенный инструмент ubuntu-drivers:
sudo apt update
sudo apt install ubuntu-drivers-common
ubuntu-drivers devices
Вывод покажет доступные драйверы:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
vendor : NVIDIA Corporation
model : GA104 [GeForce RTX 3070]
driver : nvidia-driver-535 - third-party non-free recommended
driver : nvidia-driver-545 - third-party non-free
driver : nvidia-driver-525 - third-party non-free
driver : nvidia-driver-470 - third-party non-free
driver : xserver-xorg-video-nouveau - distro free builtin
recommended — рекомендованная версия для вашей карты. Установить:
sudo ubuntu-drivers autoinstall
или конкретную версию:
sudo apt install nvidia-driver-535
После установки — перезагрузка:
sudo reboot
Проверка после загрузки:
nvidia-smi
Если показывает таблицу с моделью карты, температурой, использованием — драйвер работает.
Шаг 3: установка через PPA для свежих версий
Если в стандартном репозитории нет нужной версии (например, для очень новых карт), подключить официальный PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
ubuntu-drivers list
После этого появятся самые свежие версии (например, 555, 560 — экспериментальные).
sudo apt install nvidia-driver-560
sudo reboot
PPA graphics-drivers/ppa — официальный, поддерживается командой Ubuntu, безопасный. Но экспериментальные версии могут быть нестабильными — для рабочей машины ставьте recommended.
Установка с сайта NVIDIA (для серверов)
На серверных Tesla / Quadro / A100 / H100 карт ubuntu-drivers иногда не предлагает оптимальный вариант. Решение — скачать установщик с nvidia.com:
# Скачать .run
wget https://us.download.nvidia.com/tesla/535.86.10/NVIDIA-Linux-x86_64-535.86.10.run
# Остановить графический сервер (на server обычно и так нет)
sudo systemctl stop gdm
# Запустить установщик
sudo bash NVIDIA-Linux-x86_64-535.86.10.run
# После установки — перезагрузка
sudo reboot
Этот метод не рекомендуется для десктопа: при обновлении ядра придётся переустанавливать драйвер вручную. apt-метод с DKMS делает это автоматически.
Wayland vs X11
NVIDIA исторически плохо работала с Wayland — отсутствовали важные расширения. С драйвера 545+ ситуация улучшилась, но GNOME на Wayland с NVIDIA до сих пор может иметь проблемы:
- Тиринг (рваное видео при движении).
- Низкая производительность игр.
- Несовместимость с screen-sharing в Zoom/Discord (до недавнего времени).
Если выбираете между X11 и Wayland с NVIDIA:
- X11 — стабильнее, проверенный путь, поддержка везде.
- Wayland — рекомендуется для AMD/Intel; на NVIDIA — пробуйте, если работает хорошо — пользуйтесь.
Переключение на экране входа GDM: иконка-шестерёнка → выбрать «Ubuntu on Xorg» или «Ubuntu (Wayland)».
Постоянный X11:
sudo nano /etc/gdm3/custom.conf
# Раскомментировать строку:
WaylandEnable=false
sudo systemctl restart gdm
Secure Boot и MOK
Если на машине включён UEFI Secure Boot, при установке проприетарного драйвера система запросит создание MOK (Machine Owner Key):
Configuring Secure Boot
The system administrator must register MOK key with passphrase...
Запоминайте пароль (8+ символов). При следующей загрузке появится синий MOK Manager:
- Enroll MOK.
- Continue → Yes.
- Ввести пароль.
- Reboot.
После этого драйвер запустится. Если пропустить MOK enroll — драйвер не загрузится, и nvidia-smi выдаст:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
Повторно запустить MOK enroll:
sudo dpkg-reconfigure nvidia-driver-535
sudo reboot
Альтернатива — отключить Secure Boot в BIOS (для рабочей машины — допустимо).
CUDA для compute
CUDA Toolkit — отдельный пакет для разработки и запуска GPU-вычислений (PyTorch, TensorFlow, llama.cpp).
# CUDA из стандартного репозитория Ubuntu
sudo apt install nvidia-cuda-toolkit
# Проверка
nvcc --version
Альтернатива — официальный репозиторий NVIDIA с самыми свежими версиями:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install cuda-toolkit-12-4
Версия CUDA должна быть совместима с версией драйвера. Проверьте nvidia-smi — там в верхнем правом углу указана максимальная поддерживаемая версия CUDA.
Для PyTorch и TensorFlow часто достаточно установки через pip — они тянут свою копию CUDA-библиотек:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
Это удобнее, чем системная установка — каждое venv может использовать свою версию.
Типичные проблемы
Чёрный экран после установки
Чаще всего — Secure Boot не enroll-нул MOK. Загрузитесь в TTY (Ctrl+Alt+F3), проверьте nvidia-smi. Если ошибка — sudo dpkg-reconfigure nvidia-driver-535, ребут, enroll MOK.
Альтернатива: загрузиться с предыдущего ядра (через GRUB Advanced) и удалить драйвер:
sudo apt purge nvidia-*
sudo reboot
После — попробовать другую версию.
Низкое разрешение
Если после установки разрешение упало до 1024×768 — драйвер не загрузился, работает резервный VESA. Проверьте dmesg | grep -i nvidia:
sudo dmesg | grep -i nvidia
Типичные причины:
- Не enroll-нут MOK.
- Конфликт с Nouveau (нужно явно отключить).
- Несовместимая версия драйвера для вашего GPU.
Отключить Nouveau вручную:
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u
sudo reboot
nvidia-smi работает, но игры тормозят
Возможные причины:
- Wayland с NVIDIA — переключитесь на X11.
- PRIME для гибридных ноутбуков — нужно настроить переключение между Intel iGPU и NVIDIA.
Для PRIME-ноутбуков:
sudo prime-select query
# В ответе: on-demand, intel или nvidia
sudo prime-select nvidia # принудительно использовать NVIDIA
sudo prime-select intel # использовать iGPU (для экономии батареи)
sudo prime-select on-demand # автоматически (рекомендуется)
После смены — перезагрузка.
Ядро обновилось, драйвер сломался
Если устанавливали через apt (с DKMS) — драйвер пересобирается автоматически. Если что-то не так:
sudo dpkg-reconfigure nvidia-driver-535
sudo update-initramfs -u
sudo reboot
Если устанавливали через .run от NVIDIA — пересоберите вручную:
sudo bash NVIDIA-Linux-x86_64-535.86.10.run --kernel-source-path=/usr/src/linux-headers-$(uname -r)
Поэтому apt-метод предпочтительнее для большинства пользователей.
Удаление драйвера
# Удалить все версии NVIDIA-драйвера
sudo apt purge "nvidia-*"
sudo apt autoremove
# Удалить CUDA
sudo apt purge "cuda-*"
sudo apt autoremove
# Вернуть Nouveau
sudo rm /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u
sudo reboot
После этого система загрузится с открытым Nouveau.
Мониторинг GPU
# Базовая информация
nvidia-smi
# В реальном времени каждую секунду
nvidia-smi -l 1
# Только использование памяти и GPU
nvidia-smi --query-gpu=memory.used,utilization.gpu --format=csv -l 1
# Топ-процессов на GPU
nvidia-smi pmon -i 0 -c 1
# Графический мониторинг
sudo apt install nvtop
nvtop
nvtop — htop для NVIDIA: отображает загрузку GPU и память по процессам в реальном времени, удобнее nvidia-smi.
Частые вопросы
Какую версию драйвера NVIDIA устанавливать на Ubuntu?
Самое безопасное — то, что ubuntu-drivers devices помечает как recommended. Обычно это последняя стабильная LTS-версия. Для очень свежих карт (RTX 40+, серверных H100) может потребоваться более новая версия через PPA graphics-drivers/ppa.
Можно ли использовать Wayland с NVIDIA?
С драйвера 545+ — да, рабочее состояние улучшилось. Но X11 остаётся стабильнее. Если в Wayland есть тиринг или проблемы с производительностью — переключитесь на X11 через GDM (иконка-шестерёнка на экране входа) или установите WaylandEnable=false в /etc/gdm3/custom.conf.
Что такое MOK при установке драйвера?
MOK (Machine Owner Key) — ключ для подписи модулей ядра, который вы добавляете в Secure Boot. Без него подписанные сторонние модули (включая проприетарный драйвер NVIDIA) не загружаются. При установке система просит ввести пароль, который вы вводите при первой перезагрузке в синем MOK Manager.
Как установить CUDA на Ubuntu 24.04?
Из стандартного репозитория: sudo apt install nvidia-cuda-toolkit. Версия может быть не самой свежей. Для последней — добавить репозиторий NVIDIA: cuda-keyring пакет с developer.nvidia.com, потом apt install cuda-toolkit-12-4. Проверка: nvcc --version. Для PyTorch и TensorFlow часто проще ставить через pip — они тянут свою копию CUDA-библиотек.
nvidia-smi показывает ошибку «communication with driver» — что делать?
Это значит модуль драйвера в ядре не загрузился. Причины: (1) не enroll-нут MOK; (2) обновилось ядро без пересборки модуля; (3) несовместимая версия. Решение: sudo dpkg-reconfigure nvidia-driver-535, потом sudo update-initramfs -u, потом sudo reboot. Если не помогло — удалить (apt purge nvidia-*) и поставить заново.
Что запомнить
- Дефолтный Nouveau — для базы; проприетарный NVIDIA — для производительности и CUDA.
- Самый простой путь:
ubuntu-drivers autoinstall, потомreboot. - Свежие версии через PPA
graphics-drivers/ppa. - Secure Boot требует enroll MOK при первой перезагрузке.
- X11 стабильнее Wayland с NVIDIA, особенно для игр.
- CUDA из apt или официального репозитория NVIDIA; для ML/DL часто проще через pip с torch/tensorflow.
- Проверка работы:
nvidia-smi. Мониторинг в реальном времени —nvtop. - После обновления ядра DKMS пересобирает драйвер автоматически (если ставили через apt).
- Установка через
.run— только для серверов с особыми требованиями.