Установка драйверов Nvidia и AMD в Debian 12
В данной статье произведу установку драйверов на видеокарту в 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.
Содержимое файлов которые отключают свободный драйвер
Ну и напоследок покажу содержимое файлов, которые отключает свободный драйвер:
Если вам понравилась статья, то поделитесь ею в социальных сетях: