The OpenNET Project / Index page

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



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

Исходное сообщение
"Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."
Отправлено Stax, 29-Сен-20 15:56 
> Вот что пишет автор wlroots в Sway версии 1.5:
> If you are using the Nvidia proprietary driver for any reason, you
> have two choices:

))

Это может всего лишь означать его нежелание разбираться.
Я не говорю, что нвидия белые и пушистые - они знатно поиздевались над сообществом со своим EGLStreams. Но говорить, что оно вообще не работает тоже нельзя..

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

Я всего лишь показываю, как в PRIME задавать ГПУ по умолчанию. В т.ч. для vulkan. Это работает что в простом приложении типа vkcube, что в более хитрых - в зависимости от переменной менятся GPU и для opengl, и для vulkan приложений. Конечно, бывают те, которые позволяют задать GPU явно.

> Скорее, превильнее смотреть, поддерживает ли конкретный GPU требуемый тип поверхности
> (Surface type = VK_KHR_wayland_surface). Заодно, поддерживается ли презентация:
> vulkaninfo | egrep -C3 'queue|resent|wayland_surface'

Я и для интела не вижу такой поверхности, если запускать из под X11. Если из под wayland.. то vulkaninfo падает ))

> Это расширение NVidia. Когда задана переменная окружения, загружается прослойка VK_LAYER_NV_optimus.

Это понятно. Им пришлось внедрять свое тк кроме них над dual graphics под линуксом никто особо не работал..

>  сами авторы: "большинство приложенй используют первый попавшийся GPU" (most Vulkan applications
> will use the first GPU reported by Vulkan).

Ага

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

Ок. Вероятно, что-то не так на нвидии в комбинации wayland+vulkan. wayland+OpenGL можно, vulkan можно, но в комбинации падает.

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

Под иксами с vulkan + nvidia ничего падать не будет, я полагаю. Но спасибо за желание разобраться!

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

да-да, я всего лишь показываю, что weston использует GL Rendeder при запуске на нвидии

> в приложении выполнены.
> Подозрительный 3й параметр - surface типа VkSurfaceKHR - описатель поверхности Vulkan,
> получается из поверхности Wayland. То есть где-то внутри сохраняется указатель на
> последнюю. В случае Nvidia там NULL. И vkAcquireNextImageKHR() тоже относится к
> стадии презентации, т.е. у краха в случае запуска в Weston на
> Nvidia, похоже, аналогичная причина.
> Возможно, валидатор что-то покажет (в Gentoo это пакет vulkan-layers, в остальных должно
> быть что-то похожее). fuxhunt_dbg подхватывет прослойку, если она установлена в сиcтеме.

Поставил. Подхватило. Но ничего лучше не вывело, просто еще функция в трейсе. Дебагинфо к вулкану и валидаторам стоит, но..

#0  0x00007fffdf55e353 in ?? () from /lib64/libnvidia-glcore.so.450.66
No symbol table info available.
#1  0x00007fffdf55eea6 in ?? () from /lib64/libnvidia-glcore.so.450.66
No symbol table info available.
#2  0x00007fffdda95b30 in vulkan_layer_chassis::GetPhysicalDeviceSurfaceSupportKHR () at layers/generated/chassis.cpp:4890
No locals.
#3  0x0000000000403d2c in select_gpu (vk=0x8578f0) at src/vulkan.c:234
        gfx_q = true
        presentation = 0
        i = 0
        num_qf = 3
        props = 0x98dcb0
        d = 0
        devs = 0x98dbb0
        inv = 4294967295
        num_dev = 2
        r = VK_SUCCESS
#4  0x0000000000406c77 in vk_window_create (display=0x440ad0, surface=0x85a500, width=800, height=600, vk_context=0x7fffffffd310)
    at src/vulkan.c:1107
        vk = 0x8578f0
#5  0x000000000040aaa0 in window_create (window=0x7fffffffd2e0) at src/wayland_window.c:899
        __PRETTY_FUNCTION__ = "window_create"

 

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



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

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