Установка драйверов NVIDIA на Debian 13, 12, 11: подробное руководство

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

Важное предупреждение: если вы ставите драйверы в виртуальной машине без проброса видеокарты (PCI passthrough), команда nvidia-smi почти гарантированно покажет «No devices found». Это не ошибка установки, а ограничение гипервизора. В этом гайде есть отдельный блок «Что ожидать в VM» — обязательно прочитайте его.

В этом руководстве два способа:

  • Способ 1 (рекомендуемый): установка из официальных репозиториев Debian. Стабильно, проверено, подходит для большинства задач.
  • Способ 2 (для продвинутых): установка из репозитория NVIDIA CUDA. Даёт самые свежие драйверы и открытые модули ядра (для карт Turing и новее). Работает только на Debian 12 и 13.

⚠️ Если у вас включён Secure Boot, драйвер может не загрузиться без подписи MOK (Machine Owner Key). Это описано в разделе «Решение проблем».

⚠️ Для пользователей Debian 9 и старше: современные драйверы NVIDIA не соберутся из‑за устаревших компиляторов и ядра. Рекомендуем обновиться до Debian 11, 12 или 13.

⚠️ Для пользователей Debian 13 (Trixie) и репозитория CUDA: на момент последней правки (середина 2026 года) репозиторий CUDA от NVIDIA не полностью стабилен для Debian 13. Для большинства задач в Trixie безопаснее использовать официальные репозитории Debian (Способ 1).

⚠️ Для карт Blackwell (RTX 50xx): официальные пакеты Debian могут не поддерживать эти карты на 100%. В этом случае действительно имеет смысл использовать Способ 2 (репозиторий NVIDIA CUDA) или рассмотреть драйверы из ветки datacenter.

Оглавление

1. Подготовка системы

1.1. Проверка прав sudo

Не полагайтесь на догадки. Проверьте реальные права пользователя:

sudo -l

Что делает: показывает список команд, которые вы можете выполнять с правами суперпользователя.

✅ Ожидаемый результат: список разрешённых команд. Если видите (ALL : ALL) ALL — у вас полный доступ.
❌ Если видите ошибку user is not in the sudoers file или may not run sudo — сначала пройдите руководство по настройке sudo. Без этого дальнейшие шаги не сработают.

💡 Пароль при первом запуске: в зависимости от настроек в /etc/sudoers, при первом выполнении sudo -l в текущей сессии система может запросить ваш пароль (если не активировано правило NOPASSWD).


1.2. Обновление и установка заголовков ядра

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

sudo apt update
sudo apt upgrade -y
sudo apt install linux-headers-$(uname -r) build-essential dkms -y

Что делает:

  • apt update — обновляет список доступных пакетов.
  • apt upgrade -y — обновляет все установленные пакеты.
  • linux-headers-$(uname -r) — устанавливает заголовки вашего текущего ядра.
  • build-essential — устанавливает компиляторы и утилиты для сборки.
  • dkms — система для автоматической пересборки модулей при обновлении ядра.

Зачем: без заголовков ядра невозможно скомпилировать модуль драйвера. DKMS автоматически пересобирает модули при обновлении ядра.

💡 Для опытных: если у вас несколько ядер, убедитесь, что заголовки установлены для того ядра, которое сейчас активно (uname -r).


1.3. Включение репозиториев contrib и non-free

Драйверы NVIDIA находятся в компонентах non-free и contrib — они отключены по умолчанию.

⚠️ Критически важно: перед правкой файлов сделайте резервную копию.

Как быстро понять, какой у тебя формат

Выполни одну команду:

ls /etc/apt/sources.list.d/*.sources 2>/dev/null || echo "Нет .sources файлов"
  • Если видишь файлы .sources (например, debian.bookworm.sources) — у тебя новый формат.
  • Если написано Нет .sources файлов — скорее всего, у тебя старый формат в /etc/apt/sources.list.

Дальше действуй по своему варианту.


Вариант А: есть файлы .sources в /etc/apt/sources.list.d/ (новый формат)

Подходит для «чистых» установок Debian 12/13.

Бэкап:

sudo cp /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.bak

(Если имя файла отличается, например debian.bookworm.sources, используй его вместо debian.sources.)

Открой файл:

sudo nano /etc/apt/sources.list.d/debian.sources

Найди строку:

Components: main 

и измени на:

Components: main contrib non-free non-free-firmware

Сохрани: Ctrl+OEnter, затем Ctrl+X.

Обнови списки:

sudo apt update

💡 Важно: не трогай строки TypesURIs и т. д. Меняется только Components. Так не сломаются сторонние репозитории (Docker, панели и пр.).


Вариант Б: папка sources.list.d/ пуста или нет .sources файлов (старый формат)

Это типичный случай для VPS от облачных провайдеров.

Бэкап:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

Открой файл:

sudo nano /etc/apt/sources.list

Добавь contrib non-free non-free-firmware после main в каждую из трёх строк:

Было:

deb http://deb.debian.org/debian bookworm main 
deb http://security.debian.org/debian-security bookworm-security main 
deb http://deb.debian.org/debian bookworm-updates main 

Стало:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
 

⚠️ Важно: не удаляй строки и не заменяй файл целиком. Просто добавь слова к существующим строкам. Это сохранит сторонние репозитории.

Сохрани: Ctrl+OEnter, затем Ctrl+X.

Вариант В: для Debian 13 (Trixie)

Бэкап основного файла:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

Откройте файл для редактирования:

sudo nano /etc/apt/sources.list

Измените строки следующим образом:

Было:

deb http://deb.debian.org/debian trixie main
deb http://security.debian.org/debian-security trixie-security main
deb http://deb.debian.org/debian trixie-updates main

Стало:

deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware

Сохранение изменений:

Нажмите Ctrl+O, затем Enter для сохранения

Нажмите Ctrl+X для выхода

Обновление списков пакетов:

sudo apt update

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

trixie/contrib
trixie/non-free
trixie/non-free-firmware


Проверка и что делать, если что-то пошло не так

После apt update посмотри, нет ли ошибок GPG/подписи. Если есть — откатись на бэкап:

sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list
# или для .sources:

Откат на Бэкап в случае ошибки:

sudo cp /etc/apt/sources.list.d/debian.sources.bak /etc/apt/sources.list.d/debian.sources
sudo apt update

Чтобы убедиться, что компоненты подключены, проверь:

apt policy

В выводе должны быть видны bookworm contribbookworm non-free и т. п.

💡 Почему ручное редактирование через nano безопаснее, чем sed: любая ошибка в регулярном выражении может сломать файл репозиториев, и apt update перестанет работать. Ручное редактирование позволяет видеть, что именно ты меняешь.


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

Этот способ даёт стабильные драйверы, которые хорошо протестированы в Debian.

2.1. Подбор драйвера и важный нюанс про VM

Установите утилиту, которая подскажет, какой пакет нужен именно для вашей карты:

sudo apt install nvidia-detect -y
nvidia-detect

Что делает: анализирует вашу видеокарту и рекомендует пакет драйвера.

✅ Ожидаемый вывод (на реальном железе): утилита напишет, какой пакет ставить (например, nvidia-driver или nvidia-legacy-390xx-driver).
⚠️ Ожидаемый вывод в VM без проброса GPU: No NVIDIA GPU detected. Это нормально: гипервизор не отдаёт видеокарту внутрь VM. В таком случае пропустите рекомендацию nvidia-detect и сразу ставьте nvidia-driver.

Для Виртуальных Машин: «Если вы в VM без PCI passthrough и видите No NVIDIA GPU detected, это ожидаемое поведение. Для установки драйвера используйте команду sudo apt install nvidia-driver -y без опоры на рекомендацию утилиты».


2.2. Установка

Для большинства карт:

sudo apt install nvidia-driver nvidia-settings -y

Что делает: устанавливает основной драйвер и графическую утилиту для настройки.

⚠️ Важно: точную версию драйвера, которая будет установлена, можно узнать командой:

apt-cache policy nvidia-driver

Не ориентируйтесь на жёсткие цифры: версия зависит от репозитория, архитектуры и времени выпуска.

Только для Debian 11, если nvidia-detect рекомендовал nvidia-legacy-390xx-driver:

sudo apt install nvidia-legacy-390xx-driver nvidia-settings-legacy-390xx -y

✅ Важно: не устанавливайте пакет nvidia-smi отдельно. Он ставится автоматически как зависимость.


2.3. Перезагрузка

sudo reboot

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


3. Способ 2: установка из репозитория NVIDIA CUDA (Debian 12/13)

Подходит, если вам нужны самые свежие драйверы или вы хотите использовать открытые модули ядра для карт Turing (RTX 20xx) и новее.

⚠️ Важно для Debian 13 (Trixie): на момент последней правки репозиторий CUDA от NVIDIA не полностью стабилен для Debian 13. Для большинства задач безопаснее использовать Способ 1.

⚠️ Для карт Blackwell (RTX 50xx): официальные пакеты Debian могут не покрывать все возможности карты. В этом случае Способ 2 имеет смысл.

Добавление репозитория

NVIDIA теперь распространяет ключи через DEB‑пакет cuda-keyring.

Для Debian 13:

wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb

Для Debian 12:

wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/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 nvidia-driver nvidia-settings -y

Вариант Б (открытые модули ядра, только Turing и новее):

sudo apt install nvidia-driver nvidia-kernel-open-dkms nvidia-settings -y

⚠️ Точную версию драйвера можно узнать через apt-cache policy nvidia-driver. Не ориентируйтесь на жёсткие цифры.

✅ Важно: не устанавливайте nvidia-smi вручную — он ставится автоматически.

Перезагрузка

sudo reboot

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

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

nvidia-smi

✅ Ожидаемый вывод (реальное железо): таблица с информацией о видеокарте, версии драйвера и CUDA.
⚠️ Ожидаемый вывод (VM без проброса): ошибка или сообщение «No devices found» — это нормально.

nvidia-settings

✅ Ожидаемый вывод: откроется графическое окно настроек NVIDIA (если есть графический интерфейс).

Также можно проверить, что модуль ядра загружен:

lsmod | grep nvidia

И статус сборки модуля:

dkms status

Должно быть что‑то вроде nvidia, <версия>, <ядро>, installed.


5. Что ожидать в виртуальной машине (критически важно)

Если вы ставите драйвер в VM без проброса GPU (PCI passthrough):

  • nvidia-detect покажет: No NVIDIA GPU detected — это нормально.
  • Пакет nvidia-driver установится, dkms status покажет installed — инфраструктура работает.
  • nvidia-smi покажет ошибку «No devices found» — видеокарта не видна внутри VM.
  • lspci | grep -i nvidia может быть пустым — карта не передана гипервизором.

Реальная работа GPU возможна только при наличии физической карты либо при настроенном PCI passthrough.

Предупреждение для установок на Виртуальную Машину: «Если вы в обычной VM и nvidia-smi не видит карту — это ожидаемое поведение, а не ошибка. Драйвер установлен, но GPU недоступен из‑за ограничений виртуализации».


6. Настройка Wayland для NVIDIA (опционально)

Этот раздел актуален только если вы используете сеанс Wayland. В большинстве дистрибутивов по умолчанию используется X11, и тогда этот раздел можно пропустить.

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

echo $XDG_SESSION_TYPE

Если вывод wayland — вы используете Wayland. Если x11 — этот раздел можно пропустить.

Проверка и включение DRM modesetting

⚠️ Важно: эта команда работает только после установки драйвера и перезагрузки.

if [ -f /sys/module/nvidia_drm/parameters/modeset ]; then
    cat /sys/module/nvidia_drm/parameters/modeset
else
    echo "Модуль nvidia_drm не загружен. Убедитесь, что драйвер установлен и система перезагружена."
fi

Если вывод N, включите DRM modesetting:

echo "options nvidia-drm modeset=1" | sudo tee /etc/modprobe.d/nvidia-drm.conf
sudo update-initramfs -u

💡 Совет: если после включения modeset=1 и перезагрузки графический интерфейс всё равно не запускается, верните значение обратно (modeset=0) — иногда это решает проблему совместимости с конкретным композитором.


7. Решение типичных проблем

Проблема: конфликт ключей подписи (как у тебя в начале)

Симптом: ошибки Conflicting values set for option Signed-By и невозможность выполнить apt update.

Причина: в системе есть несколько файлов описания репозитория (.sources или .list) с разными ключами подписи для одного и того же источника.

Решение:

Найдите файлы:

grep -r "yandex-browser" /etc/apt/sources.list.d/

Оставьте только один файл репозитория для этого источника, второй удалите:

sudo rm /etc/apt/sources.list.d/<лишний-файл>

Обновите списки:

sudo apt update

Если репозиторий не нужен — удалите оба файла. Это самый чистый вариант.


Остальные пункты (чёрный экран, Secure Boot, nvidia-smi: command not found и т. д.) оставь как в оригинале, но обязательно добавь в начало раздела «Что ожидать в виртуальной машине» — это спасёт новичков от паники.


8. Удаление драйверов NVIDIA

Если вам нужно вернуться к драйверу Nouveau или переустановить драйверы:

Удаление пакетов

Сначала посмотрите, какие пакеты NVIDIA установлены:

dpkg -l | grep nvidia

Затем удалите их явно:

sudo apt purge \
  nvidia-driver \
  nvidia-settings \
  nvidia-kernel-* \
  nvidia-legacy-*
sudo apt autoremove -y

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

Удаление репозитория NVIDIA CUDA (если использовали)

sudo apt purge cuda-keyring -y
sudo apt update

Возврат к Nouveau (если отключали)

Если вы отключали Nouveau, верните его:

sudo rm -f /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u

Перезагрузка

sudo reboot

9. Чек‑лист: всё готово к работе

  • Драйвер NVIDIA установлен: dpkg -l | grep nvidia-driver показывает пакет.
  • Модуль собран: dkms status показывает nvidia, ..., installed.
  • nvidia-smi:
    • На реальном железе: показывает карту и версию драйвера.
    • В VM без проброса: показывает «No devices found» — это нормально.
  • Графическая оболочка запускается: нет чёрного экрана.
  • NVIDIA Settings (nvidia-settings) открывается (если есть GUI).
  • Если вы используете Wayland: cat /sys/module/nvidia_drm/parameters/modeset показывает Y. Если у вас X11 — этот пункт можно пропустить.
  • Secure Boot не блокирует загрузку: модуль ядра успешно подписан (если включён).
  • Вы знаете, как обновить драйвер (через apt upgrade).

Заключение

Вы успешно установили драйверы NVIDIA на Debian, используя самый актуальный и безопасный метод. Теперь ваша видеокарта работает на полную мощность — если это реальное железо. Если это VM без проброса, драйвер установлен, но GPU не доступен: это ожидаемое ограничение виртуализации.

Что дальше?

  • Игры: установите Steam на Debian.
  • Машинное обучение