Вопрос или проблема
Я заметил, что после обновления до Ubuntu 24.10 у меня не загружен NVIDIA драйвер (lsmod
не показывает ничего похожего на nvidia
). Сначала я думал, что это из-за того, что я автоматически вошел в систему через Wayland, с которым у меня всегда проблемы, но вход в X11 не помог. Ubuntu теперь распознает только мою встроенную графику Intel. Я нашел журнал сборки DKMS (/var/lib/dkms/nvidia/470.256.02/build/make.log
), в котором много ошибок, например:
/var/lib/dkms/nvidia/470.256.02/build/common/inc/nv-linux.h: In function ‘nv_phys_to_dma’:
/var/lib/dkms/nvidia/470.256.02/build/common/inc/nv-linux.h:703:12: error: implicit declaration of function ‘phys_to_dma’; did you mean ‘nv_phys_to_dma’? [-Wimplicit-function-declaration]
703 | return phys_to_dma(dev, pa);
| ^~~~~~~~~~~
| nv_phys_to_dma
В этот момент я задумался, какую версию NVIDIA 470 включает Ubuntu 24.10. Но apt policy
показало, что это по сути неподдерживаемый пакет, который не предоставлен никакими репозиториями.
nvidia-dkms-470:
Установлен: 470.256.02-0ubuntu0.24.04.1
Кандидат: 470.256.02-0ubuntu0.24.04.1
Таблица версий:
*** 470.256.02-0ubuntu0.24.04.1 100
100 /var/lib/dpkg/status
Веб-сайт packages.ubuntu.com подтверждает, что нет пакета nvidia-dkms-470
для Ubuntu 24.10… Насколько я знаю, только драйвер 470 подходит для моей графической карты NVIDIA. Как я могу установить его на своей системе сейчас?
Вот отчет lshw
о моих видеоустройствах:
*-display UNCLAIMED
description: VGA compatible controller
product: GK106GLM [Quadro K2100M]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller cap_list
configuration: latency=0
resources: memory:b0000000-b0ffffff memory:80000000-8fffffff memory:90000000-91ffffff ioport:4000(size=128) memory:b1080000-b10fffff
*-display
description: VGA compatible controller
product: 4th Gen Core Processor Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
logical name: /dev/fb0
version: 06
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=i915 latency=0 resolution=2880,1620
resources: irq:41 memory:b1400000-b17fffff memory:a0000000-afffffff ioport:5000(size=64) memory:c0000-dffff
Ответ или решение
Когда вы сталкиваетесь с проблемой сборки модуля NVIDIA 470 DKMS на Ubuntu 24.10 Oracular Oriole, ситуация может показаться сложной, особенно если ваш графический процессор поддерживается только этой версией драйвера. Однако давайте разберем проблему и предложим возможные решения.
Факт (Fact)
Вы проапгрейдили систему до Ubuntu 24.10 и заметили, что драйвер NVIDIA не загружается. При проверке с помощью lsmod
отсутствует любой модуль, связанный с nvidia
. Очевидно, система задействует интегрированную графику Intel, вместо дискретной NVIDIA. Драйвер NVIDIA 470.256.02 не удается собрать из-за ошибок, включая неопределённую функцию phys_to_dma
.
Описание (Overview)
Из логов процессора сборки DKMS /var/lib/dkms/nvidia/470.256.02/build/make.log
видно, что имеются ошибки компиляции, указывающие на несовместимость текущих заголовочных файлов ядра Ubuntu 24.10 с кодом драйвера NVIDIA версии 470. Проблема также усугубляется тем, что пакет nvidia-dkms-470
не поддерживается официальными репозиториями Ubuntu 24.10.
Разъяснение (Rationale)
Поиск через apt policy
показывает, что драйвер установлен из более старой версии Ubuntu 24.04 и не поддерживается в 24.10. Это объясняет, почему сборка модуля DKMS заканчивается ошибками. Также указано, что ваша видеокарта — NVIDIA Quadro K2100M — требует использования драйвера версии 470 для полной функциональности.
Эмоция (Emotion)
Эта ситуация может вызвать разочарование, особенно если вам необходимо использовать возможности дискретного графического процессора NVIDIA для профессиональной деятельности или игр. Однако решение есть, и его осуществление обернется восстановлением всех функций вашей графической системы.
Способ решения (Solve Method)
Чтобы решить эту проблему, следуйте данным шагам:
-
Удаление проблемного драйвера:
Удалите текущий неработающий драйвер, чтобы предотвратить дополнительные конфликты:sudo apt purge '^nvidia.'
-
Ручная установка драйвера:
Посколькуnvidia-dkms-470
не доступен в официальных репозиториях для Ubuntu 24.10, вам придется установить драйвер вручную.- Посетите официальный сайт NVIDIA для загрузки драйвера версии 470, подходящего под вашу карту: NVIDIA Driver Downloads.
- Скачайте .run файл драйвера.
-
Подготовка к установке:
Переключитесь в режим командной строки без графического интерфейса (TTY):sudo systemctl isolate multi-user.target
-
Установка драйвера:
Перейдите в каталог загрузок и выполните команду для установки:sudo sh ./NVIDIA-Linux-x86_64-470.XX.run
Следуйте инструкциям установщика.
-
Включение драйвера:
Перезагрузите систему и убедитесь, что новый драйвер загружен:sudo systemctl start graphical.target
Заключение (Terminate)
Теперь ваш графический процессор NVIDIA должен работать корректно на Ubuntu 24.10. Подобные меры могут потребоваться при выходе новых версий ОС или изменениях в репозиториях, но ручная установка через официальный сайт остается надежным решением.