Bug 53351

Summary: Mesa 25.0.1 превращает radeonsi в llvmpipe
Product: Sisyphus Reporter: Ivan A. Melnikov <iv>
Component: xorg-dri-radeonAssignee: Valery Inozemtsev <shrek>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: andy, shrek
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Xorg.0.log с проблемой
none
Xorg.0.log с работающего 3d none

Description Ivan A. Melnikov 2025-03-06 18:04:09 MSK
Created attachment 17926 [details]
Xorg.0.log с проблемой

Обновился до Mesa 25.0.1-alt1 -- сначала на loongarch64 чтобы новую сборку, потом на x86_64 из https://git.altlinux.org/tasks/archive/done/_368/377023/build/100/x86_64/rpms/ чтобы убедиться, что проблема переносимая.

На обоих системах 3D-ускорение пропало, один llvmpipe. Никаких новых ошибок ни в каких логах не нашёл -- только там, где в /var/log/Xorg.0.log.old написано

(II) RADEON(0): glamor X acceleration enabled on KAVERI (radeonsi, , LLVM 19.1.7, DRM 2.50, 6.11.8-6.11-alt1)

в /var/log/Xorg.0.log теперь

(II) RADEON(0): Refusing to try glamor on llvmpipe


Пока наблюдаю проблему на двух системах:

x86_64 со встроенным радеоном:
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics] [1002:130f]

loongarch64 с дискретным радеоном, кажется это R7 350:
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Oland XT [Radeon HD 8670 / R5 340X OEM / R7 250/350/350X OEM] [1002:6610]
Comment 1 Ivan A. Melnikov 2025-03-06 18:05:01 MSK
Побовал на x86_64 обновлять ядро до 6.12.17, не помогло.
Comment 2 Valery Inozemtsev 2025-03-06 18:44:53 MSK
приложите Xorg.0.log с Mesa 24.3
Comment 3 Ivan A. Melnikov 2025-03-06 18:56:07 MSK
Created attachment 17927 [details]
Xorg.0.log с работающего 3d
Comment 4 Ivan A. Melnikov 2025-03-07 17:51:52 MSK
Рабочая гипотеза: при импорте кода из libdrm_radeon (commit 1299f5c50a490fadeb60b61677596f13399ee136) разработчики не заметили, что в libdrm в r600_pci_ids.h больше идентификаторов, чем в Mesa -- в Mesa они разделены на pci_ids/r600_pci_ids.h и pci_ids/radeonsi_pci_ids.h. Из-за этого не считает  radeon_surface_manager_new своими.

Как так получилось? Они вообще не тестировали релиз на radeonsi? Или я чего-то не понимаю?
Comment 5 Ivan A. Melnikov 2025-03-07 18:58:57 MSK
Рабочая гипотеза подтвердилась тестированием на AMD A10 PRO-7800B R7 (встроенный KAVERI), так что я соорудил PR

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33940
Comment 6 Ivan A. Melnikov 2025-03-10 18:32:21 MSK
(In reply to Ivan A. Melnikov from comment #5)
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33940

За выходные получил reviewed-by от автора проблемного изменения. Сегодня дополнительно протестировал на имеющемся у меня здесь оборудовании -- десктопы на loongarch64 у нас все с радеонами, причём с разными.

Получилось следующее:

Kaveri (1002:130f, на x86_64) и два немого разых Oland'а (с одинаковым PCI ID, 1002:6610, на loongarch64) подвержены проблеме, мой патч её решает.

Cedar (1002:68f9), Caicos (1002:6779) и RV730 (1002:9498) проблеме не подвержены, так как их ID в Mesa находятся в r600_pci_ids.h; мой патч работу 3D на них не ломает.

Так что прошу пропустить задачу

#377485 EPERM #2 sisyphus Mesa.git=25.0.1-alt2

А то не знаю, когда ещё там апстрим пошевелится, и захочет ли мёрджить патч от меня.
Comment 7 Andrew Vasilyev 2025-03-10 22:47:08 MSK
(Ответ для Ivan A. Melnikov на комментарий #6)
> #377485 EPERM #2 sisyphus Mesa.git=25.0.1-alt2

March 10, 2025 Ivan A. Melnikov:
- gallium/radeon: Make sure radeonsi PCI IDs are also included
  (upstream PR 33940) (ALTBUG#53351).

https://www.altlinux.org/Руководство_по_написанию_changelog#Автозакрытие_багов
Comment 8 Ivan A. Melnikov 2025-03-10 23:40:28 MSK
Я его руками закрою, мне будет приятно =)
Comment 9 Ivan A. Melnikov 2025-03-11 12:15:12 MSK
Код принят в апстрим, а исправления -- даже до sisyphus_loongarch64.