Bug 49145 - Поддержка Vulkan в Nouveau
Summary: Поддержка Vulkan в Nouveau
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: xorg-dri-nouveau (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Valery Inozemtsev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-22 10:48 MSK by iQQator
Modified: 2024-02-14 01:01 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description iQQator 2024-01-22 10:48:56 MSK
Стенд с ошибкой: 
==============================
- OS: ALT Regular Sisyphus x86_64 
- Kernel: 6.6.13-un-def-alt1 
- DE: GNOME 45.3 
- CPU: Intel i7-4850HQ (8) @ 1.750GHz 
- GPU: NVIDIA GeForce GT 750M Mac Edition 
- GPU: Intel Crystal Well 
- Display: wayland 
Система обновлена: 22.01.2024

==============================
Пакет: xorg-dri-nouveau-23.3.3-alt1.x86_64

Шаги, приводящие к ошибке:
==============================
1. vulkaninfo --summary

Фактический результат:
==============================
WARNING: [Loader Message] Code 0 : loader_scanned_icd_add: Driver /usr/lib64/libvulkan_nouveau.so supports Vulkan 1.3, but only supports loader interface version 4. Interface version 5 or newer required to support this version of Vulkan (Policy #LDP_DRIVER_7)

WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Manifest ICD for "/usr/lib64/libvulkan_nouveau.so" contained a 1.1 or greater API version, but vkEnumerateInstanceVersion returned 1.0, treating as a 1.0 ICD

WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 3.  Skipping ICD.

Ожидаемый результат:
==============================
Отсутствие варингов, загруженный модуль для nouveau
Comment 1 iQQator 2024-01-28 14:00:48 MSK
Добрый день,
Ошибка загрузки остается (
Посмотрел изменения по веткам, нигда не меняли АПИ версию загрузки вулкана. Загрузчик ожидает версию 5 а ему предлагают версию 4 и он просто отказывается грузить данный модуль. Причем в ручную (с указанием ключа принудительной загрузки: NVK_I_WANT_A_BROKEN_VULKAN_DRIVER=1) модуль загружается и работает, но такое не провернуть с другими приложениями... только в vulkaninfo

Подозреваю что необходимо изменить переменную в файле src/vulkan/vulkan_api_def.in
vk_icdNegotiateLoaderICDInterfaceVersion@4 => vk_icdNegotiateLoaderICDInterfaceVersion@5

Но это не точно, потому нужна сборка для проверки данной гипотезы
Comment 2 Valery Inozemtsev 2024-02-05 08:51:31 MSK
*** Bug 49216 has been marked as a duplicate of this bug. ***
Comment 3 Valery Inozemtsev 2024-02-12 09:39:15 MSK
в mesa 24.0.0 nouveau vulkan отсутствует
Comment 4 iQQator 2024-02-12 19:50:42 MSK
https://github.com/Mesa3D/mesa/tree/24.0/src/nouveau
Однако сам vulkan в ней присутствует... а вот в сборке уже нет
Comment 5 iQQator 2024-02-12 19:51:53 MSK
и в meson.build он писутствует

subdir('headers')
if with_nouveau_vk
  subdir('compiler')
endif
subdir('winsys')
if with_tools.contains('drm-shim')
  subdir('drm-shim')
endif

subdir('codegen')
if with_nouveau_vk
  subdir('nil')
  subdir('mme')
  subdir('vulkan')
endif

Вероятно сломалась сборка или потерялся флаг with_nouveau_vk
Comment 6 iQQator 2024-02-12 19:59:57 MSK
https://github.com/Mesa3D/mesa/blob/24.0/meson.build
Нашел причину, вероятно больше они не поддерживают Vulkan на Nouveau от слова совсем :(
Comment 7 iQQator 2024-02-12 20:14:20 MSK
Они вынесли nouveau в опцию all но как я понимаю Сизиф не будет собирать с такой опцией данный пакет ?
Comment 9 iQQator 2024-02-12 20:16:27 MSK
Подскажите возможно ли собрать mesa с данной опцией ? 

value : ['auto'] => value : ['all']

https://gitlab.freedesktop.org/mesa/mesa/-/commit/b70e948886976d2fb17b3191c9116c1babe25810#ca9bb7eff80503c97c83505e8acea4002fd87ac6
Comment 10 Valery Inozemtsev 2024-02-12 20:34:46 MSK
этот драйвер экспериментальный. когда будет стабильным, тогда и появится
Comment 11 iQQator 2024-02-14 01:01:45 MSK
(Ответ для Valery Inozemtsev на комментарий #10)
> этот драйвер экспериментальный. когда будет стабильным, тогда и появится

А как узнать что он перстал быть эксперементальным то ? если не тестировать :)