The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."
Отправлено n00by, 29-Сен-20 10:38 
>> Драйвера nvidia закрытые? Они, если правильно помню, не поддерживали Wayland.
> Поддерживается давно.
> Раньше не поддерживалась конкретная вещь, которую использовал сеанс gnome на wayland. Но
> это уже обошли. Другое дело, что некоторые хитрые вещи типа XWayland
> полноценно не работают. Но чистый wayland - без вопросов.

Вот что пишет автор wlroots в Sway версии 1.5:

If you are using the Nvidia proprietary driver for any reason, you have two choices:

1. Uninstall it and use nouveau instead
2. Use X11+i3 and close your browser tab

> Впрочем, в данном случае у меня сеанс X11, под которым я запускаю
> weston.
>> Это Вы запускаете на Интеле, а игра нашла подходящий Интел, но дальше пробует следующий граф.процессор (в Вулкане нет умолчаний, всё лежит на плечах клиента, т.е. косяк мой - можно было на первом подходящем запускать).
> Умолчаний может и нет, но я же явно могу задавать процессор.
> $ vulkaninfo |grep 'GPU id :'
> GPU id : 0 (Intel(R) UHD Graphics 630 (CFL GT2)):
> GPU id : 1 (GeForce GTX 1050 Ti with Max-Q Design):
> $ __NV_PRIME_RENDER_OFFLOAD=1 vulkaninfo |grep 'GPU id :'
> GPU id : 0 (GeForce GTX 1050 Ti with Max-Q Design):
> GPU id : 1 (Intel(R) UHD Graphics 630 (CFL GT2)):

Утилита выводит вообще всё, и NVidia достаточно поддерживать VK_KHR_xcb_surface, что бы оказаться в выводе.

Скорее, превильнее смотреть, поддерживает ли конкретный GPU требуемый тип поверхности (Surface type = VK_KHR_wayland_surface). Заодно, поддерживается ли презентация:

vulkaninfo | egrep -C3 'queue|resent|wayland_surface'


> И vulkan софт без явного выбора процессора этому следует. Это стандарт...

Это расширение NVidia. Когда задана переменная окружения, загружается прослойка VK_LAYER_NV_optimus. Она меняет приоритеты граф.процессоров при перечислении. Вот что пишут https://download.nvidia.com/XFree86/Linux-x86_64/435.21/READ...
сами авторы: "большинство приложенй используют первый попавшийся GPU" (most Vulkan applications will use the first GPU reported by Vulkan).

Сам же Vulkan позвляет (и это одна из целей создания) выбрать для построения сцены один графроцессор, а для презентации - другой, при этом не обязывает производителя оборудования совмещать обе эти функции в едином устройстве. Тот код, где происходит падение, ищет устройство сочетающее в себе "Графические операции" и "Вывод изображения". И падает при проверке, поддерживает ли nvidia презентацию.
        
>> Вот так должно запуститься на первом подходящем граф.процессоре, т.е. в Вашем случае на Интел.
> Работает, спасибо.

Спасибо, пока опубликовал так.

> Но! Только на интеле. А как же быстрая графика nvidia?
> на ней падает.

Полагаю, быстрее я добавлю поддержку XCB, она решит и запуск у остальных под Иксами, и позволит локализовать данный крах, проверив гипотезу.

> Запускаю weston с графикой nvidia (__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1
> weston):
> ...
> [01:04:03.217] EGL version: 1.5
> [01:04:03.217] EGL vendor: NVIDIA
> ...
>            
>    EGL Wayland extension: yes
> [01:04:03.244] Using gl renderer

EGL (и gl renderer) не используется, это вообще другое -- там достаточно вызвать eglCreateWindowSurface() https://jan.newmarch.name/Wayland/EGL/
а в Vulkan вся инициализация реализуется приложением.

>[оверквотинг удален]
> Инициализация Vulkan:
> [New Thread 0x7fffdd543700 (LWP 35031)]
> [New Thread 0x7fffdcd42700 (LWP 35032)]
> [New Thread 0x7fffd327e700 (LWP 35033)]
> [New Thread 0x7fffd2a7d700 (LWP 35034)]
>  Доступно графических процессоров с поддержкой Vulkan: 2.
>   Сопроцессор №1 поддерживает семейств очередей: 3.
>     Графические операции: да.
> Thread 1 "foxhunt_dbg" received signal SIGSEGV, Segmentation fault.
> 0x00007ffff1360353 in ?? () from /lib64/libnvidia-glcore.so.450.66

В том же месте и падает. Насколько вижу требования к vkGetPhysicalDeviceSurfaceSupportKHR https://www.khronos.org/registry/vulkan/specs/1.2-extensions...
в приложении выполнены.
Подозрительный 3й параметр - surface типа VkSurfaceKHR - описатель поверхности Vulkan, получается из поверхности Wayland. То есть где-то внутри сохраняется указатель на последнюю. В случае Nvidia там NULL. И vkAcquireNextImageKHR() тоже относится к стадии презентации, т.е. у краха в случае запуска в Weston на Nvidia, похоже, аналогичная причина.

Возможно, валидатор что-то покажет (в Gentoo это пакет vulkan-layers, в остальных должно быть что-то похожее). fuxhunt_dbg подхватывет прослойку, если она установлена в сиcтеме.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру