Драйверы 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+O, Enter, затем Ctrl+X.
Обнови списки:
sudo apt update
💡 Важно: не трогай строки Types, URIs и т. д. Меняется только 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+O, Enter, затем 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 contrib, bookworm 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.
- Машинное обучение