В данной статье произведу установку драйверов на видеокарту в Debian 12.

Для чего это нужно? Дело в том, что при использовании свободного драйвера могут возникнуть следующие ошибки:

  • например нет нужного разрешения рабочего стола;
  • какие-то из программ могут работать некорректно;
  • в играх может проседать FPS.

Или система может работать некорректно. Как и произошло в моём случае программа записи отказывалась работать коректно, да и система в целом. Это вы увидите далее в статье.

Определить какая видеокарта используется можно следующей командой:

lspci -nn | grep VGA

В моём случае используется видеокарта от AMD - RX 570:

Установка драйверов на видеокарту AMD

Начну с установки драйверов на видеокарту AMD. Для начала необходимо убедиться в том, что включен nonfree firmware репозиторий. Для этого открою sources.list файл на редактирование при помощи текстового редактора nano:

nano /etc/apt/sources.list

Данную команду необходимо выполнять от прав администратора, поэтому необходимо перед командой указать sudo, если он настроен. О том как его настроить у менять есть статья на сайте. Либо ввести в терминале su, тем самым все дальньшие команды будут выполнены от прав администратора.

И как можно увидеть нужный репозиторий включён:

Определить какой драйвер используется можно следующей командой:

glxinfo | grep OpenGL

Ддля её запуска необходимо установить пакет mesa-utils. Установлю его:

apt install mesa-utils

И снова запущу команду. И как можно увидеть драйвера у меня уже используются:

Стоит драйвер от AMD, который автоматически установился при установке системы. А значит установка драйверов не требуется. Если же необходимо установить драйвера, то они устанавливаются следующей командой:

apt install firmware-amd-graphics libgl1-mesa-dri libglx-mesa0 mesa-vulkan-drivers xserver-xorg-video-all

В данном случае они все установлены.

Установка драйверов на видеокарту Nvidia

Далее перейду к установке драйверов от NVIDIA. Определяю видеокарту. В моём случае это GT 710:

Для удобства можно воспользоваться утилитой nvidia-detect, которая покажет какие драйвера необходимо устанавливать. Соответственно эту утилиту необходимо установить. Она недоступна в стандартных репозиториях, поэтому необходимо добавить non-free и contrib репозитории.

В данном случае используется открытый драйвер для видеокарты NVIDIA:

Который, как вы можете видеть по артефактам, работает некорректно.

Добавлю non-free репозиторий:

nano /etc/apt/sources.list

Файл sources.list примет следующий вид:

После этого обновлю индекс пакетов:

apt update

И теперь можно установить утилиту nvidia-detect:

apt install nvidia-detect

Данная утилита установилась. Запущу её:

И она рекомендует установить драйвер nvidia-tesla-470-driver. Так и поступлю. Для начала попробую установить самую последнюю версию nvidia драйвера:

apt install nvidia-driver firmware-misc-nonfree

И как можно увидеть программа установки также порекомендовала установить несвободный устаревший драйвер nvidia-tesla-470:

Запускаю установку данного драйвера:

apt install nvidia-tesla-470-driver

Также система сообщает то, что загружен конфликтующий модуль ядра свободного драйвера:

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

Дожидаюсь завершение установки и перезагружаю систему.

Как можно увидеть используется драйвер Mesa/X.org:

Соответственно драйвер установился некорректно и доступно только разрешение 1024x 768:

Которое никак невозможно поменять.

Следующей командой удаляю драйвер nvidia:

apt purge "*nvidia*"

И перезагружаю систему. Снова загрузился свободный драйвер. Тоже самое произойдёт если я попробую установить самую последнюю версию драйвера.

Установка драйвера Nvidia с офицального сайта

Поэтому скачаю драйвера с официального сайта Nvidia. Драйвера для видеокарт AMD также можно скачать с официального сайта, но установочные версии там доступны только для Ubuntu.

Выбираю нужную видеокарту, операционную систему:

И скачиваю драйвер:

Открываю терминал и перехожу в папку Загрузки:

cd Загрузки

И запускаю установочный скрипт от имени администратора:

bash NVIDIA-Linux-x86_64-470.239.06.run

Терминал сообщает то, что драйвер уже установлен:

Соответственно его необходимо удалить. Отменяю установку выбрав Abort Installation. И удаляю установленный ранее драйвер:

apt purge "*nvidia*"

После этого перезапускаю систему и снова запускаю скрипт установки. И скрипт сообщает то, что используется X сервер, который необходимо закрыть перед установкой:

Ввожу следующую команду, после которой система загрузится без графического интерфейса:

systemctl set-default multi-user.target

И перезапускаю систему. Здесь ввожу имя пользователя Root и пароль:

Захожу в папку со скриптом и запускаю его:

Здесь скрипт сообщает то, что запущен несвободный драйвер, который необходимо отключить перед установкой:

И установка предлагает добавить необходимые файлы для того, чтобы отключить свободный драйвер:

Соглашаюсь

И были добавлены два конфигурационных файла, которые отключают свободный драйвер:

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

Вышла ошибка:

Для того, чтобы всё заработало необходимо выполнить команду обновления. Перезагружаю систему и выполняю следующую команду:

update-initramfs -u

Соответственно чтоб изменения вступили в силу необходимо перезагрузить систему.

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

DKMS - это фреймворк, который используется для генерации тех модулей ядра Linux, которые в общем случае не включены в древо исходного кода. Он позволяет драйверам устройств автоматически пересобираться, когда ядро уже собрано. Соглашаюсь.

Здесь сообщается то, что поддержка тридцати двух битных файлов не будет установлена:

Также необходимо установить недостающие библиотеки:

Поэтому снова перезагружаю систему и установлю необходимые библиотеки следующей командой:

apt install linux-headers-$(uname -r) build-essential libglvnd-dev pkg-config

Перезагружаю систему и снова запускаю скрипт установки. Будет установлен драйвер 470:

Продолжаю установку.

Соглашаюсь с использованием DKMS:

Нажимаю ok:

И происходит установка. Соглашаюсь с установкой утилиты nvidia-xconfig:

И установка прошла успешно:

Теперь необходимо включить графический интерфейс. Сделаю это при помощи следующей команды:

systemctl set-default graphical.target

И после перезагрузки система запускается.

В итоге установка включает в себя следующие шаги:

  • Первое - это скачать драйвер
  • Второе - это отключить свободные драйверы, при этом обновив конфигурацию
  • Далее установить нужные библиотеки
  • Отключить графическое окружение
  • Перезагрузить систему и запустить установку
  • И после успешной установки включить обратно графическое окружение

И как можно видеть установился графический драйвер Nvidia и используется:

Как узнать температуру видеокарты

Для того, чтобы узнать текущую температуру видеокарты можно воспользоваться утилитой sensors. Установлю её:

apt install lm-sensors

И запущу:

sensors

Программа показывает 36°:

Nvidia X Server Settings

Также доступны настройки NVIDIA X Server:

Где можно посмотреть нужную информацию. Здесь также отображается температура видеокарты:

При этом показатели отличаются от утилиты sensors.

Содержимое файлов которые отключают свободный драйвер

Ну и напоследок покажу содержимое файлов, которые отключает свободный драйвер: