6
апрель
2025
Установка драйвера видеокарты NVidia вместо Nouveau в ОС Ubuntu
0:49

Установка драйвера видеокарты NVidia вместо Nouveau в ОС Ubuntu

6 апрель 2025 0:49

Успешно обновил драйвер nouveau до nvidia:390 в RUNTU Lite 20.04 (инструкция может быть использована и для других ОС на основе Ubuntu).

Ранее я написал статью об установке драйвера Nvidia. На этот раз выполнил установку, не отталкиваясь от неё.

Требования

Для установки драйвера NVidia вместо Nouveau в Ubuntu Linux должны быть выполнены условия:

  • Linux Ubuntu или основанная на ней операционная система (ОС) Linux. Например, runtu LITE.
  • Достоточное пространство на жестком диске для сборки ядра. У меня в разделе /boot доступно 2 ГБ после удаления неиспользуемых ядер. Если отдельная точка монтирования /boot не существует (см. вывод df -h), речь о свободном месте в корне диска "/".
  • должна использоваться версия ядра, которая поддерживает встраивание при помощи системы DKMS модуля Nvidia в ядро (признак такого ядра: нет проблем с зависимостями пакета linux-headers). Для установки ядер можно использовать утилиту mainline. Если headers не установлен, значит слишком высокая версия ядра для данной ОС, нужно понижать. У меня для RUNTU Lite 20.04 подошло ядро 5.15.0-97-generic (выводится командой uname -r)
  • существует драйвер для данной видеокарты, операцонной системы. За это отвечает команда sudo ubuntu-drivers list и за ней sudo ubuntu-drivers install.

Вначале необходимо подобрать нужное ядро: см. статью об утилите mainline. Ориентироваться на отсутствие ошибок зависимостей (dependencies) при установке в mainline пакета linux-headers.

Более новые ядра в плане DKMS совместимы лишь с новыми версиями ОС. Например, ядра 6.8-6.14 подойдут для Ubuntu 24.04, но не для 20.04 - не работает DKMS).

Исходный драйвер видеокарты

sudo inxi -G

Graphics: Device-1: NVIDIA GF119 [GeForce GT 610] driver: nouveau v: kernel
Display: server: X.Org 1.20.13 driver: modesetting resolution: 1280x1024~60Hz
OpenGL: renderer: NVD9 v: 4.3 Mesa 21.2.6

(Цель: установить вместо nouveau драйвер nvidia).

Процесс установки драйвера графики nvidia

1) Используемое ядро:

uname -r

5.15.0-97-generic

2) Установка пакета ubuntu-drivers (была выполнено ранее):

sudo apt install ubuntu-drivers-common

Описание пакета ubuntu-drivers-common:
Description: Detect and install additional Ubuntu driver packages
This package aggregates and abstracts Ubuntu specific logic and knowledge
about third-party driver packages. It provides:
.

  • a Python API for detecting driver packages for a particular piece of
    hardware or the whole system.
    .
  • an "ubuntu-drivers" command line tool to list or install driver packages
    (mostly for integration in installers).
    .
  • some NVidia specific support code to find the most appropriate driver
    version, as well as setting up the alternatives symlinks that the
    proprietary NVidia and FGLRX packages use.

3) Запрос у ubuntu-drivers списка доступных драйверов

sudo ubuntu-drivers list

nvidia-340
nvidia-driver-390

4) Попытка установки подходящего драйвера в автоматическом режиме

sudo ubuntu-drivers install

Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
amd64-microcode intel-microcode iucode-tool
Для их удаления используйте «sudo apt autoremove».
Рекомендуемые пакеты:
libcuda1-340 nvidia-opencl-icd-340
Следующие НОВЫЕ пакеты будут установлены:
nvidia-340

Error! Bad return status for module build on kernel: 5.15.0-97-generic (x86_64)
Consult /var/lib/dkms/nvidia-340/340.108/build/make.log for more information.
dpkg: ошибка при обработке пакета nvidia-340 (--configure):
installed nvidia-340 package post-installation script subprocess returned error exit status 10
Обрабатываются триггеры для man-db (2.9.1-1) …
Обрабатываются триггеры для libc-bin (2.31-0ubuntu9.17) …
Обрабатываются триггеры для initramfs-tools (0.136ubuntu6.7) …
update-initramfs: Generating /boot/initrd.img-5.15.0-97-generic
I: The initramfs will attempt to resume from /dev/sda7
I: (UUID=7a17fe7e-acee-4c19-8641-1fdd39d0364d)
I: Set the RESUME variable to override this.
При обработке следующих пакетов произошли ошибки:
nvidia-340

Автоматическая установка выбрала nvidia-340, установка драйвера неуспешная.

5) Ручная установка драйвера nvidia-390:

Установка драйвера nvidia-390 с помощью команды sudo ubuntu-drivers install драйвер:версия:

sudo ubuntu-drivers install nvidia:390

Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
amd64-microcode intel-microcode iucode-tool
Для их удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-decode-390 libnvidia-encode-390 libnvidia-fbc1-390
libnvidia-gl-390 libnvidia-ifr1-390 nvidia-compute-utils-390 nvidia-dkms-390 nvidia-kernel-common-390
nvidia-kernel-source-390 nvidia-utils-390 xserver-xorg-video-nvidia-390
Рекомендуемые пакеты:
nvidia-prime libnvidia-compute-390:i386 libnvidia-decode-390:i386 libnvidia-encode-390:i386 libnvidia-ifr1-390:i386
libnvidia-fbc1-390:i386 libnvidia-gl-390:i386
Следующие пакеты будут УДАЛЕНЫ:
nvidia-340
Следующие НОВЫЕ пакеты будут установлены:
libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-decode-390 libnvidia-encode-390 libnvidia-fbc1-390
libnvidia-gl-390 libnvidia-ifr1-390 nvidia-compute-utils-390 nvidia-dkms-390 nvidia-driver-390 nvidia-kernel-common-390
nvidia-kernel-source-390 nvidia-utils-390 xserver-xorg-video-nvidia-390
Обновлено 0 пакетов, установлено 15 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено.
Установлено или удалено не до конца 1 пакетов.
Необходимо скачать 48,3 MB архивов.

Loading new nvidia-390.157 DKMS files...
Building for 5.15.0-97-generic
Building for architecture x86_64
Building initial module for 5.15.0-97-generic
Error! Bad return status for module build on kernel: 5.15.0-97-generic (x86_64)
Consult /var/lib/dkms/nvidia/390.157/build/make.log for more information.
dpkg: ошибка при обработке пакета nvidia-dkms-390 (--configure):
installed nvidia-dkms-390 package post-installation script subprocess returned error exit status 10
Настраивается пакет libnvidia-decode-390:amd64 (390.157-0ubuntu0.20.04.1) …
Настраивается пакет libnvidia-gl-390:amd64 (390.157-0ubuntu0.20.04.1) …
Настраивается пакет libnvidia-encode-390:amd64 (390.157-0ubuntu0.20.04.1) …
dpkg: зависимости пакетов не позволяют настроить пакет nvidia-driver-390:
nvidia-driver-390 зависит от nvidia-dkms-390 (<= 390.157-1), однако:
Пакет nvidia-dkms-390 пока не настроен.
nvidia-driver-390 зависит от nvidia-dkms-390 (>= 390.157), однако:
Пакет nvidia-dkms-390 пока не настроен.

dpkg: ошибка при обработке пакета nvidia-driver-390 (--configure):
проблемы зависимостей — оставляем не настроенным
Отчёт apport не записан, так как сообщение об ошибке указывает на повторную ошибку от предыдущего отказа.

Видно, что DKMS встроил драйвер в ядро, а ошибка произошла на этапе конфигурации nvidia-dkms-390 (--configure).

6) Команда для исправления сломанных пакетов:

sudo apt --fix-broken install

Ошибок не было. Перезагрузил компьютер. Ядро то же 5.15 на всякий случай проверил, выбрал в меню Grub2 расширенной загрузки "Дополнительные параметры загрузки". (В дальнейшем, остальные ядра нужно удалить, например, в synaptic, чтобы не мешали).

7) Проверка, какой используется драйвер графики, командой inxi -G:

sudo inxi -G

Graphics: Device-1: NVIDIA GF119 [GeForce GT 610] driver: nvidia v: 390.157
Display: server: X.Org 1.20.13 driver: nvidia resolution: 1280x1024~60Hz
OpenGL: renderer: GeForce GT 610/PCIe/SSE2 v: 4.6.0 NVIDIA 390.157

Конечный драйвер видеокарты

Судя по выводу inxi -G, драйвер driver: nvidia v: 390.157.

Что и требовалось. Задача решена.

Отличия драйвера NVidia от Nouveau

NVidia - драйвер с закрытым исходным кодом, Nouveau - с открытым. Различие их в возможностях ускорения видео и 3D. Для 2D различия не видны глазом, но заметы при тестировании в синтетическом тесте, моделирующем просмотр веб сайта Speedometer 2.1. NVidia быстрее Nouveau - 110 против 90 на моём ПК. С другой стороны, сторонники ПО с открытым исходным кодом могут продолжать использовать драйвер Nouveau.



Похожие публикации