URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 4560
[ Назад ]

Исходное сообщение
"Можно ли запихнуть вулкан в неймспейс?"

Отправлено Аноним , 09-Янв-20 10:06 
Подскажите, из-за чего CLONE_NEWUSER обламывает вулкан? Мой гугл мне ничего не подсказал.

Вот такую ошибку выдаёт vulkaninfo, например: /var/tmp/portage/dev-util/vulkan-tools-1.1.124/work/Vulkan-Tools-119e7c3bbae122f6cc5d778d068fb91e0e85d6a9/vulkaninfo/vulkaninfo.h:797: failed with ERROR_INITIALIZATION_FAILED

Для примера glxinfo (и вообще что угодно) работает без вопросов, а вулкан не хочет. И vkcube так вообще грохнул иксы.



Содержание

Сообщения в этом обсуждении
"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 09-Янв-20 16:50 
У тебя в FUTURES песочница с namespaces?

А тесты OpenCL в той же изоляции работают?


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 09-Янв-20 19:18 
> У тебя в FUTURES песочница с namespaces?
> А тесты OpenCL в той же изоляции работают?

Только с вулканом проблемы. Проверить можно легко, эта команда фейлится:

unshare -r vulkaninfo


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 00:49 
> unshare -r vulkaninfo

УМВР. NixOS 19.09, Linux 5.4.5, RADV POLARIS11 (RX 560). Вывод vulkaninfo с и без unshare различается только полями budget.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 00:55 
>> unshare -r vulkaninfo
> УМВР. NixOS 19.09, Linux 5.4.5, RADV POLARIS11 (RX 560). Вывод vulkaninfo с
> и без unshare различается только полями budget.

Иксы? Нет ли возможности проверить на NVIDIA? Я пробовал 430/435/440 драйвер, проблема одна. Попутно переехал на libglvnd (мало ли), но nouveau вулкан всё равно не умеет. И cuda в неймспейсе тоже работает кстати, так что проблема будто бы только у вулкана.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 10:34 
> Иксы?

Да.
> Нет ли возможности проверить на NVIDIA?

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


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 10:42 
> Не имею из-за нежелания пихать в ядро огромный проприетарный блоб. Рекомендую тоже
> отказаться, проблем будет меньше.

Хех, будто драйвера амд это не огромный проприетарный блоб. :>

И нет, отказаться не варик, мне нужен вулкан. Может быть тут есть пользователи нвидиевских карт?


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 21:24 
> Хех, будто драйвера амд это не огромный проприетарный блоб. :>

Ядерная часть драйвера AMD давно волша в апстрим ядра. Он вообще не использует проприетарных модулей, закрытой остаётся только прошивка GPU.

> И нет, отказаться не варик, мне нужен вулкан.

Для карт AMD есть три открытые реализации вулкана, одна из которых (RADV) входит в мезу и работает из коробки во всех десктопных дистрибутивах.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 21-Фев-20 02:11 
> Хех, будто драйвера амд это не огромный проприетарный блоб. :>

Таки нет. MESA + ядро Linux вполне себе опенсорсная реализация вулкана.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 13:49 
> Только с вулканом проблемы. Проверить можно легко, эта команда фейлится:
> unshare -r vulkaninfo

Работает на Kubuntu 19.10, Nvidia driver 440.44.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 14:16 
>> Только с вулканом проблемы. Проверить можно легко, эта команда фейлится:
>> unshare -r vulkaninfo
> Работает на Kubuntu 19.10, Nvidia driver 440.44.

Можно подумать разное, но от рута я тоже не могу этого сделать. Занятно…


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 16-Янв-20 15:21 
>>> Только с вулканом проблемы. Проверить можно легко, эта команда фейлится:
>>> unshare -r vulkaninfo
>> Работает на Kubuntu 19.10, Nvidia driver 440.44.
> Можно подумать разное, но от рута я тоже не могу этого сделать.
> Занятно…

А X.org у вас тоже от рута работает?


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 10-Янв-20 00:35 
Во, ещё когда навожу курсор на элементы управления окном (свернуть/закрыть) vkcube лагает. Косяк в оконном менеджере или так и должно быть? К слову, glxgears тоже подлагивает при этом, но менее заметно. Отключение антитиринга не помогло.

"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 12-Янв-20 08:01 
Выяснил, что без иксов работает. Попутно выяснил, что без CLONE_NEWUSER,
DISPLAY=:0 glxinfo
из tty выполняется, и
DISPLAY=:0 vulkaninfo
выдаёт точно такую же ошибку. Это может быть связано?

"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 12-Янв-20 08:18 
vkcube сегфолтится в vkGetDeviceProcAddr (libvulkan.so)

"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 12-Янв-20 09:17 
В tty фейлится на vkCreateDevice, в неймспейсе на vkGetPhysicalDeviceSurfacePresentModesKHR.

GLX в обоих случаях работает. Профиль ICD корректный.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 13-Янв-20 00:18 
Вулкан не может получить доступ к устройству, например в логе вот это:

DEBUG: Instance Extension: VK_EXT_direct_mode_display (libGLX_nvidia.so.0) version 0.0.1
DEBUG: Instance Extension: VK_EXT_display_surface_counter (libGLX_nvidia.so.0) version 0.0.1
/tmp/portage/dev-util/vulkan-tools-9999/work/vulkan-tools-9999/vulkaninfo/vulkaninfo.h:920: failed with ERROR_INITIALIZATION_FAILED

Как должно быть:

DEBUG: Instance Extension: VK_EXT_direct_mode_display (libGLX_nvidia.so.0) version 0.0.1
DEBUG: Instance Extension: VK_EXT_display_surface_counter (libGLX_nvidia.so.0) version 0.0.1
DEBUG: Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1

Права сравнивал, не похоже что дело в этом. Дополнительные неймспейсы расшаривал, лишних прав на бинарник навешивал. Проблема именно в CLONE_NEWUSER, поскольку другие неймспейсы насколько я могу судить, замечательно работают. И можно повесить суидный бит на unshare, чтобы создать отдельный сетевой неймспейс (setcap не работает, не хватает прав для записи в /proc/self/setgroups). Но не в моём коде, никак не могу понять в чём дело и почему unshare может успешно создать сетевой неймспейс, а я нет. Есть подозрение, что поведение под отладчиком значительно отличается. Но это всё не имеет отношения к вулкану и моим проблемам с ним. С CLONE_NEWUSER он и под unshare от рута не работает.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 13-Янв-20 00:24 
Хорошо, свой код я исправил, не проблема. Проблема в том что vulkan не может получить доступа к устройству. Когда он не может получить доступа к иксам, ошибка другая. Чтобы использовать вулкан вообще без иксов (что должно мне помочь), можно использовать icd профиль с egl вместо glx, но я пока получаю только сегфолты.

"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 13-Янв-20 00:41 
И мне не нравится бинарник с лишними правами (хотя бы не суидный, как того требует unshare, но это не важно), я просто хочу CLONE_NEWUSER использовать.

"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 13-Янв-20 00:57 
> И мне не нравится бинарник с лишними правами (хотя бы не суидный,
> как того требует unshare, но это не важно), я просто хочу
> CLONE_NEWUSER использовать.

Ладно, пока придётся пользоваться тем, что есть, и бинарником с дополнительными capabilities. Я бы предпочёл CLONE_NEWUSER, но в нём вулкан не работает.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 21-Фев-20 02:12 
> Я бы предпочёл CLONE_NEWUSER, но в нём вулкан не работает.

Ну так посмотри strace на чем именно обламывается. Как один из вариантов - на доступе к DRM-девайсу, opencl так тоже умеет. На эти девайсы юзеру надо права дать, иначе они не смогут туда соваться.


"Можно ли запихнуть вулкан в неймспейс?"
Отправлено Аноним , 13-Янв-20 05:19 
> libGLX_nvidia.so.0

В техподдержку нвидии, пожалуйста. Это форум об открытом ПО, а не о кривых мокрописечных блобах.