Рейтинг:1

Запуск Ubuntu 20.04, попытка установить драйвер amdgpu

флаг in

Аналогично обсуждаемому вопросу здесь, у меня проблемы с настройкой amdgpu-dkms. Установка дополнительного драйвера amdgpu зависает на этом шаге. Вот результат dpkg --настроить amdgpu-dkms


    Настройка amdgpu-dkms (1:5.4.7.53-1048554)...
Удаление старых файлов amdgpu-5.4.7.53-1048554 DKMS...


Удаление версии модуля: 5.4.7.53-1048554
полностью из дерева DKMS.

Выполнено.
Загрузка новых файлов amdgpu-5.4.7.53-1048554 DKMS...
Сборка для 5.4.0-96-generic
Сборка для архитектуры x86_64
Сборка начального модуля для 5.4.0-96-generic
ОШИБКА: Невозможно создать отчет: [Errno 17] Файл существует: '/var/crash/amdgpu-dkms-firmware.0.crash'
Ошибка! Плохой статус возврата для сборки модуля на ядре: 5.4.0-96-generic (x86_64)
Обратитесь к /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/make.log для получения дополнительной информации.
dpkg: ошибка обработки пакета amdgpu-dkms (--configure):
 установленный подпроцесс сценария после установки пакета amdgpu-dkms вернул статус ошибки 10
При обработке возникли ошибки:
 amdgpu-dkms

Упомянутый файл журнала содержит следующий текст:

DKMS make.log для amdgpu-5.4.7.53-1048554 для ядра 5.4.0-96-generic (x86_64)
Сб, 29 января 2022 г., 06:43:23 CST
make: Вход в каталог '/usr/src/linux-headers-5.4.0-96-generic'
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/symbols.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_mn.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_drv.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/main.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_device_cgroup.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_device.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_drm_cache.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_drm.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_kms.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_fence_array.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_fence.o
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_fence.c:29:1: предупреждение: «dma_fence_test_signaled_any» определено, но не используется [-Wunused-function]
   29 | dma_fence_test_signaled_any(struct dma_fence **fences, количество uint32_t,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_io.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_atombios.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_kthread.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_mm.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/atombios_crtc.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_pci.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_connectors.o
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_pci.c: В функции «amdkcl_pci_init»:
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_pci.c:102:84: предупреждение: передача аргумента 2 из «amdkcl_fp_setup» отбрасывает квалификатор «const» из тип цели указателя [-Wdiscarded-qualifiers]
  102 | _kcl_pcie_link_speed = (const unsigned char *) amdkcl_fp_setup("pcie_link_speed", _kcl_pcie_link_speed_stub);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
В файле из /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_pci.c:3:
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_common.h:23:63: примечание: ожидается «void *», но аргумент имеет тип «const unsigned» символ *
   23 | статический встроенный void *amdkcl_fp_setup (const char *symbol, void *fp_stup)
      | ~~~~~~^~~~~~~~
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_perf_event.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_reservation.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/atom.o
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_reservation.c: В функции «amdkcl_reservation_init»:
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_reservation.c:58:10: предупреждение: передача аргумента 2 из «amdkcl_fp_setup» отбрасывает квалификатор «const» из тип цели указателя [-Wdiscarded-array-qualifiers]
   58 | &_kcl_reservation_seqcount_string_stub);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
В файле из /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_reservation.c:32:
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_common.h:23:63: примечание: ожидается «void *», но аргумент имеет тип «const char» (*)[21]–
   23 | статический встроенный void *amdkcl_fp_setup (const char *symbol, void *fp_stup)
      | ~~~~~~^~~~~~~~
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/dma-resv.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_suspend.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_fence.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_workqueue.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_seq_file.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/kcl_connector.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_ttm.o
  LD [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdkcl/amdkcl.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/scheduler/sched_main.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_object.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/scheduler/sched_fence.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_gart.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/scheduler/sched_entity.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_encoders.o
  LD [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/scheduler/amd-sched.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_memory.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_display.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_tt.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_i2c.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_fb.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_bo.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_gem.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_bo_util.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_ring.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_cs.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_bo_vm.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_bios.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_module.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_execbuf_util.o
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_bios.c: В функции «amdgpu_read_platform_bios»:
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_bios.c:200:9: ошибка: неявное объявление функции «pci_platform_rom» [-Werror=implicit-function-declaration ]
  200 | bios = pci_platform_rom(adev->pdev, &size);
      | ^~~~~~~~~~~~~~~~
/var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_bios.c:200:7: предупреждение: присваивание uint8_t * â {aka â unsigned char *â } from âintâ делает указатель из целого числа без приведения [-Wint-преобразование]
  200 | bios = pci_platform_rom(adev->pdev, &size);
      | ^
cc1: некоторые предупреждения рассматриваются как ошибки
make[2]: *** [скрипты/Makefile.build:270: /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu/amdgpu_bios.o] Ошибка 1
make[1]: *** [скрипты/Makefile.build:519: /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/amd/amdgpu] Ошибка 2
make[1]: *** Ожидание незавершенных заданий....
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_page_alloc.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_bo_manager.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_agp_backend.o
  CC [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/ttm_page_alloc_dma.o
  LD [M] /var/lib/dkms/amdgpu/5.4.7.53-1048554/build/ttm/amdttm.o
make: *** [Makefile:1762: /var/lib/dkms/amdgpu/5.4.7.53-1048554/build] Ошибка 2
make: Выход из каталога '/usr/src/linux-headers-5.4.0-96-generic'

После попытки установить и настроить amdgpu драйвер Radeon по умолчанию, похоже, не работает. Он все еще установлен, но больше не управляет моей видеокартой. Состояние Systemctl gpu-manager.service урожаи

Gpu-manager.service — определяет доступный GPU и обрабатывает любые системные изменения.
   Загружено: загружено (/lib/system/gpu-manager.service; включено; предустановка поставщика: включена)
   Активный: неактивный (мертвый)

На основе этого поста и другие исследования (просто погуглите вопрос) кажется, что amdgpu совместим только с некоторыми ядрами. Я уже пытался очистить пакеты, используя меткая очистка amdgpu. Я не знаю, как исправить «радеон», драйвер по умолчанию. Должен ли я просто отказаться от попыток использовать этот новый драйвер и сосредоточиться на возврате к настройкам по умолчанию? В идеале я хотел бы, чтобы оба драйвера были доступны в качестве опций, чтобы я мог вернуться к настройкам по умолчанию, если/когда amdgpu сломается.

Вот мои аппаратные характеристики. Я буду редактировать, чтобы добавить дополнительную информацию по мере необходимости.

Процессор: Intel(R) Pentium(R) CPU G3258 с тактовой частотой 3,20 ГГц Память: 8041 МБ (1523 МБ используется) Графика: Radeon R7 240 (2 ГБ) Тип машины: Рабочий стол Операционная система: Ubuntu 20.04.3 LTS

-SCSI-диски- ATA KINGSTON SA400S3 (SSD, загрузочный диск) ATA Samsung SSD 860 (SSD) WDC WD25 00BEVT-60A23T0 (жесткий диск)

Nate T avatar
флаг it
Какой вывод вы получите, запустив `lspci | grep -i VGA`?
Nate T avatar
флаг it
Вы когда-нибудь запускали `uname -r`? Если я знаю ваше фактическое имя ядра, я могу сказать вам, какая версия приложения/пакета вам нужна. Так как вы уже установили через pkg mgr, достаточно поменять местами несколько файлов и указать dpkg сохранить конфигурацию, и вы получите работающую _и_ управляемую версию. Он не будет обновляться, но также не будет удалять или изменять какие-либо зависимости. А с пакетом dkms вы можете пропустить удержание. Простое добавление правильной версии для запуска может быть всем, что нужно для правильной работы функции dkms...
флаг in
Я скачал и установил две версии ядра с момента написания моего исходного поста. 5.4.0-97 был установлен автоматически, когда я запустил `apt-get full-upgrade`. Я скачал и установил 5.16.0-051600-generic вручную. (Мне нужно будет сослаться на руководство, которое я использовал, если вы хотите узнать подробности об этом.) Когда я запускаю `uname -r`, полученная версия ядра соответствует выбору, который я выбрал в grub. Каждая версия ядра работает, только если я загружаюсь без графики. (т.е. в режиме восстановления).
флаг in
`lspci | grep -i VGA` дает `00:02.0 VGA-совместимый контроллер: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06) 01:00.0 VGA-совместимый контроллер: Advanced Micro Devices, Inc. [AMD/ATI] Oland PRO [Radeon R7 240/340] (версия 87)`
Рейтинг:2
флаг it

Tl;dr... Сообщите об этом! Ссылка ниже.

Из вашего вывода:

Сборка для 5.4.0-96-generic

Предполагая, что у вас есть стоковая версия 20.04.4, ядро ​​​​5.4 — это НЕ то, что вы используете. Модуль неправильно определяет версию ядра.

Он удаляет старую версию, а затем просто восстанавливает точно такую ​​же.

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

Это определенно ошибка. Кажется, это проблема с реализацией модуля dkms. Об этом следует сообщить здесь.

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

Другими словами, если вы не сообщили об этом, не рассчитывайте на исправление в ближайшее время. Очевидно, он существует с 20.04.1, и все, что я видел в Интернете, указывает на то, что у AMDGPU относительно быстрый цикл разработки (т. е. много исправлений, много обновлений версий), поэтому есть вероятность, что они его не видели. Возможно, это связано с вашей видеокартой.

Nate T avatar
флаг it
Даже если об этом уже сообщалось, вы все равно должны сообщить, чтобы они могли оценить серьезность, среди прочего. См. [этот] (https://askubuntu.com/questions/1366982/issues-using-nautilus-on-a-touchscreen/1367066#1367066) ответ.
флаг in
Я полагаю, что это 20.04.3, основываясь на выводе hardinfo, но да, это старое ядро.
Рейтинг:1
флаг cn

на всякий случай, если вы пытаетесь это сделать в 20.04.4, последняя версия, для которой это работает с amdgpu 21.40.2, — это Ubuntu 20.04.3. Так что вам либо нужна 21.40.2 с Ubuntu 20.04.3, либо немного подождите драйвер для 20.04.4.

Nate T avatar
флаг it
Это модуль dkms. DKMS означает, что модуль ядра автоматически перестраивается при обновлении ядра. [См. здесь.] (https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support)
Рейтинг:1
флаг ky

Я столкнулся с очень похожей проблемой после обновления ядра с версии 5.11.0-44 до 5.13.0-27. Я перешел на версию ядра 5.11.0-44, и она продолжает нормально собираться и устанавливаться.

Чтобы избавиться от ошибок сборки dkms, мне пришлось удалить все версии ядра, которые были сломаны при сборке драйвера.

Возможно, вы можете попробовать Kernel 5.11.0?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.