Проблема с компиляцией файла NVIDIA-Linux-x86_64-470.256.02.run под Ubuntu 24.10

Вопрос или проблема

Я пытаюсь запустить файл NVIDIA-Linux-x86_64-470.256.02.run под Ubuntu 24.10 в терминале tty (с закрытыми всеми графическими терминалами), чтобы установить лучший драйвер для NVIDIA QUADRO K600 (где в настоящее время DVI работает отлично на карте, но DP Display Port вообще не работает). Странно, но нет используемого драйвера ядра:

stephen@stephen-All-Series:~$ lspci
01:00.0 VGA совместимый контроллер: NVIDIA Corporation GK107GL [Quadro K600] (rev a1)

stephen@stephen-All-Series:~$ lspci -v -s 01:00.0
01:00.0 VGA совместимый контроллер: NVIDIA Corporation GK107GL [Quadro K600] (rev a1) (prog-if 00 [VGA контроллер])
    Подсистема: NVIDIA Corporation Устройство 094b
    Флаги: мастер шины, быстрый devsel, задержка 0, IRQ 11
    Память по адресу f6000000 (32-бит, не предвыборка) [размер=16M]
    Память по адресу e0000000 (64-бит, предвыборка) [размер=256M]
    Память по адресу f0000000 (64-бит, предвыборка) [размер=32M]
    Порты I/O по адресу e000 [размер=128]
    Расширенная ROM по адресу 000c0000 [отключена] [размер=128K]
    Возможности: <доступ запрещен>
    Ядерные модули: nvidiafb, nouveau

Есть статья Как выбрать ядро для использования с GPU, которая предполагает, что ядро может быть выбрано. Однако в этой статье Как отвязать GPU /sys/bus/pci есть проблема с тем, что папка “/sys/bus/pci/driver/nvidia/” не найдена, и действительно только каталог “/sys/bus/pci/drivers” существует.

Конфигурация моего компьютера:

# Отчет о деталях системы
---

## Данные отчета
- **Дата генерации:**                              2024-12-26 12:20:38

## Информация о железе:
- **Модель оборудования:**                              ASUS All Series
- **Память:**                                      4.0 GiB
- **Процессор:**                                   Intel® Core™ i3-4170 × 4
- **Графика:**                                    Intel® HD Graphics 4400 (HSW GT2)
- **Ёмкость диска:**                               1.0 TB

## Информация о программном обеспечении:
- **Версия прошивки:**                            1103
- **Название ОС:**                                     Ubuntu 24.10
- **Сборка ОС:**                                    (null)
- **Тип ОС:**                                     64-бит
- **Версия GNOME:**                               47
- **Система окон:**                            Wayland
- **Версия ядра:**                              Linux 6.11.0-13-generic

Я вышел из всех графических дисплеев Knome, чтобы попасть в окна входа или терминалы, которые можно было использовать с Ctrl-Alt-F1, Ctrl-Alt-F2, установил gcc и make, а затем смог добраться до стадии запуска файла “NVIDIA-Linux-x86_64-470.256.02.run” из терминала как root. Результирующий файл журнала очень длинный, поэтому я показываю только первые и последние записи. Сам файл имеет размер 1.56 MB, так что вот только начало и конец:

nvidia-installer log file '/var/log/nvidia-installer.log'
время создания: Чт Дек 26 12:13:00 2024
версия установщика: 470.256.02

PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

команда установщика nvidia-installer:
    ./nvidia-installer

Используется: интерфейс пользователя nvidia-installer ncurses v6
-> Обнаружено 4 активных ЦП; установка уровня параллелизма на 4.
-> Установка драйвера NVIDIA версии 470.256.02.
-> Обнаружен альтернативный метод установки драйвера NVIDIA. (Это обычно пакет, предоставляемый вашим дистрибьютором.) Драйвер, установленные этим методом, могут лучше интегрироваться с вашей системой, чем драйвер, установленный nvidia-installer.

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

Драйвер NVIDIA, предоставленный Ubuntu, может быть установлен, запустив приложение "Программное обеспечение и обновления" и выбрав драйвер NVIDIA во вкладке "Дополнительные драйверы".

(Ответ: Продолжить установку)
-> Выполнение проверки CC на корректность с CC="/usr/bin/cc".
-> Проверка CC.
-> Путь исходит из ядра: '/lib/modules/6.11.0-13-generic/build'
-> Путь вывода ядра: '/lib/modules/6.11.0-13-generic/build'
-> Выполнение проверки компилятора.
-> Выполнение проверки Dom0.
-> Выполнение проверки Xen.
-> Выполнение проверки PREEMPT_RT.
-> Выполнение проверки vgpu_kvm.
-> Очистка каталога сборки модуля ядра.
   выполнение: 'cd ./kernel; /usr/bin/make -k -j4 clean NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/6.11.0-13-generic/build" SYSOUT="/lib/modules/6.11.0-13-generic/build"'...
   rm -f -r conftest
   make[1]: Вход в каталог '/usr/src/linux-headers-6.11.0-13-generic'
   make[1]: Выход из каталога '/usr/src/linux-headers-6.11.0-13-generic'
-> Сборка модулей ядра
   выполнение: 'cd ./kernel; /usr/bin/make -k -j4  NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/6.11.0-13-generic/build" SYSOUT="/lib/modules/6.11.0-13-generic/build"'...
   make[1]: Вход в каталог '/usr/src/linux-headers-6.11.0-13-generic'
   предупреждение: компилятор отличается от использованного для сборки ядра
     Ядро было собрано: x86_64-linux-gnu-gcc-14 (Ubuntu 14.2.0-4ubuntu2) 14.2.0
     Вы используете:           cc (Ubuntu 14.2.0-4ubuntu2) 14.2.0
     SYMLINK /tmp/selfgz6178/NVIDIA-Linux-x86_64-470.256.02/kernel/nvidia/nv-kernel.o
    CONFTEST: hash__remap_4k_pfn
    ...

  |                                                   ^
/tmp/selfgz6178/NVIDIA-Linux-x86_64-470.256.02/kernel/common/inc/nv-linux.h: В функции 'nv_phys_to_dma':
/tmp/selfgz6178/NVIDIA-Linux-x86_64-470.256.02/kernel/common/inc/nv-linux.h:703:12: ошибка: неявное объявление функции 'phys_to_dma'; вы имели в виду 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  703 |     return phys_to_dma(dev, pa);
      |            ^~~~~~~~~~~
      |            nv_phys_to_dma
...

Что известно о ресурсах разработчиков NVIDIA, чтобы помочь это исправить? Или есть драйвер novidea?

Ответ или решение

Проблемы с компиляцией NVIDIA-Linux-x86_64-470.256.02.run под Ubuntu 24.10

Введение

При установке драйвера NVIDIA версии 470.256.02 на систему Ubuntu 24.10 могут возникнуть сложности. В данном руководстве мы проанализируем ситуацию, касающуюся драйвера для видеокарты NVIDIA QUADRO K600, и обеспечим решение проблем, возникающих в процессе установки.

Описание проблемы

Вы пытаетесь установить драйвер, чтобы улучшить поддержку вывода через DisplayPort (DP), в то время как HDMI работает без сбоев. Согласно выводам команд lspci, в системе не загружены никакие драйверы, кроме nvidiafb и nouveau. Лог установки показывает, что компиляция модуля ядра не удалась с ошибками в коде. Одна из критических ошибок связана с несуществующими функциями, что может указывать на несоответствие между версией драйвера и используемым ядром.

Анализ логов установки

Из приведенного вами лога видно, что присутствует ошибка компиляции:

#error wait_on_bit_lock() conftest failed!

Это указывает на то, что тесты конфигурации завершились неудачно. Также наблюдается много ошибок, связанных с неявной декларацией функций, таких как phys_to_dma и dma_is_direct, что может означать, что драйвер не совместим с установленной версией вашего ядра.

Шаги по устранению проблемы

  1. Проверка совместимости версий

    • Убедитесь, что используемая версия драйвера NVIDIA совместима с текущей версией ядра. Вы можете обратиться к официальному сайту NVIDIA для проверки совместимости версий драйвера и ядра.
  2. Удаление предыдущих драйверов

    • Полностью удалите все предыдущие версии драйверов NVIDIA и Nouveau. Это можно сделать с помощью следующих команд:
      sudo apt-get purge nvidia*
      sudo apt-get purge xserver-xorg-video-nouveau
  3. Установка необходимых библиотек и заголовков

    • Убедитесь, что в системе установлены необходимые библиотеки и заголовки для сборки модуля. Установите их с помощью команды:
      sudo apt-get install build-essential linux-headers-$(uname -r)
  4. Переход на Nouveau

    • Чтобы быть уверенным, что Nouveau не мешает, временно переключитесь на него:
      sudo modprobe nouveau
  5. Запуск драйвера NVIDIA

    • Попробуйте снова запустить установку драйвера. Желательно использовать пакетный менеджер Ubuntu:
      sudo ubuntu-drivers autoinstall
    • Это установит драйвер, который лучше всего подходит для вашей системы.
  6. Настройка конфигурации Xorg

    • Возможно, вам потребуется вручную настроить файл конфигурации /etc/X11/xorg.conf для использования драйвера NVIDIA. Создайте соответствующий файл конфигурации, если он отсутствует, и добавьте необходимые строки, чтобы указать, что используется драйвер NVIDIA.
  7. Перезагрузка системы

    • После выполнения всех вышеперечисленных действий перезагрузите систему и проверьте работоспособность видеокарты:
      nvidia-smi
  8. Решение проблем с DisplayPort

    • Если проблема с DisplayPort по-прежнему присутствует, попробуйте использовать другие подходы, такие как подключение через разные порты и проверка работы с другими устройствами.

Альтернативные варианты

Если все вышеперечисленные шаги не помогли, вы можете рассмотреть возможность использования драйвера Nouveau в качестве временной меры. Ознакомьтесь с документацией и возможностями этого драйвера.

Заключение

Проблемы с установкой драйвера NVIDIA под Ubuntu могут быть вызваны несовместимостью версий. Следуя шагам, описанным в данном руководстве, вы сможете устранить возникшие ошибки и успешно установить драйвер NVIDIA для вашей видеокарты QUADRO K600. 如果您对 NVIDIA 驱动程序的兼容性仍有疑问,请访问 NVIDIA 官方网站或获取社区支持。

Оцените материал
Добавить комментарий

Капча загружается...