> Вот что пишет спецификация про то чему задаётся VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:
> compositeAlpha is a VkCompositeAlphaFlagBitsKHR value indicating the alpha compositing
> mode
> to use when this surface is composited together with other surfaces on
> certain window systems.
> https://www.khronos.org/registry/vulkan/specs/1.2-extensions... Так нвидия его поддерживает.
GPU id : 1 (GeForce GTX 1050 Ti with Max-Q Design):
Surface types: count = 2
VK_KHR_xcb_surface
VK_KHR_xlib_surface
Formats: count = 2
SurfaceFormat[0]:
format = FORMAT_B8G8R8A8_UNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[1]:
format = FORMAT_B8G8R8A8_SRGB
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
Present Modes: count = 3
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_IMMEDIATE_KHR
VkSurfaceCapabilitiesKHR:
-------------------------
minImageCount = 2
maxImageCount = 8
currentExtent:
width = 256
height = 256
minImageExtent:
width = 256
height = 256
maxImageExtent:
width = 256
height = 256
maxImageArrayLayers = 1
supportedTransforms: count = 1
SURFACE_TRANSFORM_IDENTITY_BIT_KHR
currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
supportedCompositeAlpha: count = 1
COMPOSITE_ALPHA_OPAQUE_BIT_KHR
Intel поддерживает два:
supportedCompositeAlpha: count = 2
COMPOSITE_ALPHA_OPAQUE_BIT_KHR
COMPOSITE_ALPHA_INHERIT_BIT_KHR
Но COMPOSITE_ALPHA_OPAQUE_BIT_KHR есть в обоих. А этот второй режим на фиг нужен..
> Ну вот как-то так и выходит, что композитор X-сервера берёт кадр из
> памяти Nvidia и копирует его в экранный буфер Intel-а, отсюда и
> самодеятельность с прозрачностью (у Intel-а как раз отсутствует режим непрозрачности,
> только два варианта альфы) и в логе за счёт этого есть
> "Вывод изображения: да.". А в Wayland этого нет, поскольку должен реализовать
> клиент. А как определить, что Nvidia не поддерживает непосредственно вывод изображения,
> если как раз при проверке и падает, не понятно. По-моему, должен
> быть какой-то адекватный способ без ловли SIGSEGV.
На самом деле, я нашел почему падает под wayland все связанное с vulkan на nvidia. Вот эта проблема: https://wiki.archlinux.org/index.php/Vulkan#Nvidia_-_vulkan_...
Если запускаю weston как __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json weston&
то vulkaninfo и тп перестают падать и нормально работают. Но intel не показывают. Т.е. баг не в чисто в том, как работает vulkan в nvidia; баг в переключении ICD или одновременной попытке их подгрузить оба. foxhunt, правда, это не помогает, но это уже дело десятое. Как минимум я теперь знаю, что связка wayland+vulkan на нвидии рабочая! ( кстати тут еще 4 года назад писали, что под чистым wayland все работает https://www.nvidia.com/en-us/geforce/forums/discover/249236/...-/ )