The supports_dmabuf flag in CrossDomainCapabilities is set when rutabaga is built with (and successfully initializes) a "Gralloc" implementation based on GBM or Vulkan.
However none of that is necessary to import dma-bufs from the virglrenderer context into cross-domain. libkrun does not build (mini)gbm nor vulkano in its rutabaga, and GPU rendering with virglrenderer-provided services (Venus/vDRM) and passing the buffers to the host Wayland compositor over a cross-domain proxy works great.
Recently the initial version of a new, simpler proxy (wl-cross-domain-proxy) was published.. with a check for supports_dmabuf, and that was filtering out zwp_linux_dmabuf_v1 for no good reason in libkrun guests. So evidently that flag causes some confusion.
Can the purpose of that flag and the entire gralloc system be clarified in the comments/etc.?
The
supports_dmabufflag inCrossDomainCapabilitiesis set when rutabaga is built with (and successfully initializes) a "Gralloc" implementation based on GBM or Vulkan.However none of that is necessary to import dma-bufs from the virglrenderer context into cross-domain. libkrun does not build (mini)gbm nor vulkano in its rutabaga, and GPU rendering with virglrenderer-provided services (Venus/vDRM) and passing the buffers to the host Wayland compositor over a cross-domain proxy works great.
Recently the initial version of a new, simpler proxy (wl-cross-domain-proxy) was published.. with a check for
supports_dmabuf, and that was filtering outzwp_linux_dmabuf_v1for no good reason in libkrun guests. So evidently that flag causes some confusion.Can the purpose of that flag and the entire gralloc system be clarified in the comments/etc.?