✅ Установка драйвера NVIDIA на Debian 12
🔧 1. Убедитесь, что включены репозитории non-free
Откройте файл:
sudo nano /etc/apt/sources.list
Добавьте к каждой строке main
:
contrib non-free non-free-firmware
Пример:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
Сохраните (Ctrl+O
, Enter), выйдите (Ctrl+X
) и обновите:
sudo apt update
📦 2. Установите драйвер NVIDIA
sudo apt install nvidia-driver firmware-misc-nonfree
🚫 3. Отключите конфликтующий драйвер nouveau
Создайте файл:
sudo nano /etc/modprobe.d/disable-nouveau.conf
Добавьте:
blacklist nouveau
options nouveau modeset=0
Примените:
sudo update-initramfs -u
🔁 4. Перезагрузите систему
sudo reboot
🔍 5. Проверьте установку
После перезагрузки выполните:
nvidia-smi
Если вы увидите таблицу с информацией о GPU — драйвер установлен и работает.
💡 Дополнительно
Если вы планируете использовать ffmpeg
с NVENC, убедитесь, что:
- установлен
nvidia-cuda-toolkit
ffmpeg
собран с--enable-nvenc
проверить поддержку NVENC после установки драйвера или собрать ffmpeg с нужными флагами
Чтобы проверить поддержку NVENC и при необходимости собрать FFmpeg с нужными флагами на Debian 12, выполните проверку через ffmpeg -encoders
, а затем — сборку с nv-codec-headers
, CUDA toolkit
и флагами --enable-nvenc
, --enable-cuda
, --enable-nonfree
.
✅ Шаг 1: Проверка поддержки NVENC
После установки драйвера NVIDIA выполните:
ffmpeg -encoders | grep nvenc
Если вывод содержит строки вроде:
V..... h264_nvenc NVIDIA NVENC H.264 encoder
V..... hevc_nvenc NVIDIA NVENC HEVC encoder
— значит NVENC доступен и сборка FFmpeg уже поддерживает аппаратное кодирование.
Если ничего не найдено — переходите к сборке FFmpeg вручную.
🛠️ Шаг 2: Сборка FFmpeg с поддержкой NVENC
1. Установите зависимости
sudo apt update
sudo apt install build-essential yasm cmake libtool \
libnuma-dev libx264-dev libx265-dev libvpx-dev \
libfdk-aac-dev libmp3lame-dev libopus-dev \
nvidia-cuda-toolkit
2. Установите заголовки NVENC
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install
3. Скачайте FFmpeg
cd ~
git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
apt install nasm
4. Сконфигурируйте сборку
./configure \
--enable-nonfree \
--enable-cuda \
--enable-cuvid \
--enable-nvenc \
--enable-libnpp \
--extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64 \
--enable-libx264 \
--enable-libx265 \
--enable-libvpx \
--enable-libfdk-aac \
--enable-libmp3lame \
--enable-libopus \
--enable-gpl
5. Соберите и установите
make -j$(nproc)
sudo make install
🔍 Проверка после сборки
Проверьте:
ffmpeg -encoders | grep nvenc
Также можно протестировать:
ffmpeg -y -hwaccel cuda -i input.mkv -c:v h264_nvenc -preset fast output.mp4
Решение на случай ошибки установки CUDA на устаревший драйвер
Пакет libnpp-dev
действительно отсутствует в репозиториях Debian — он не поставляется отдельно. Библиотеки libnppig.so.11
и другие libnpp*
входят в состав CUDA Toolkit, и их нужно устанавливать вручную из официального .run
-инсталлятора NVIDIA.
Ошибка говорит о том, что установленный драйвер NVIDIA слишком старый для текущей версии FFmpeg, которая требует NVENC API ≥ 13.0, а у вас — 12.1:
Driver does not support the required nvenc API version. Required: 13.0 Found: 12.1
The minimum required Nvidia driver for nvenc is 570.0 or newer
🧨 Что это значит
- FFmpeg был собран с поддержкой новой версии NVENC API (13.0).
- Ваша система использует старый драйвер NVIDIA, который предоставляет NVENC API 12.1.
- В результате FFmpeg не может инициализировать
h264_nvenc
, и конвертация падает.
✅ Решение: обновить драйвер NVIDIA
🔧 1. Проверка текущей версии драйвера
nvidia-smi
Посмотри строку Driver Version
. Если ниже 570.0
— нужно обновить.
📦 2. Установка актуального драйвера
На Debian 12 проще всего использовать официальный .run
-инсталлятор от NVIDIA:
Шаги:
- Перейди на официальную страницу драйверов NVIDIA
- Выбери:
- Product Series: GeForce 10 Series
- Product: GeForce GTX 1070
- OS: Linux 64-bit
- Download Type: Production Branch
- Скачай
.run
-файл (например,NVIDIA-Linux-x86_64-###.run
) - Перейди в tty (Ctrl+Alt+F3), останови X-сервер:
sudo systemctl stop gdm
- Установи:
sudo bash NVIDIA-Linux-x86_64-*.run
- Перезагрузи:
sudo reboot
✅ Решение: установить CUDA Toolkit вручную
🔧 Шаг 1: Скачать CUDA 11.8 (совместим с libnppig.so.11
)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
🔧 Шаг 2: Установить CUDA Toolkit
- Перейди в текстовую консоль (Ctrl+Alt+F3)
- Останови графику:
sudo systemctl stop gdm
- Запусти установку:
sudo bash cuda_11.8.0_520.61.05_linux.run
Во время установки выбери только Toolkit, без драйвера (если он уже установлен).
🔧 Шаг 3: Добавить библиотеки в LD_LIBRARY_PATH
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
Или временно:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
🔍 Шаг 4: Проверить наличие libnppig.so.11
ls /usr/local/cuda/lib64/libnppig.so.11
Если файл найден — FFmpeg и ffprobe должны работать.
💡 Альтернатива: пересобрать FFmpeg без --enable-libnpp
Если ты не используешь libnpp
(например, для масштабирования на GPU), можно пересобрать FFmpeg без этой опции:
./configure ... --disable-libnpp
make -j$(nproc)
sudo make install