ARM Mali support for GBM_BO_IMPORT_WL_BUFFER
I wondered why the weston can't select a new DRM plane for a windows which is not overlay. We though it is gbm problem, because the gbm failed at gbm_bo_import() with GBM_BO_IMPORT_WL_BUFFER type. I verified GBM_BO_IMPORT_FD before, it would work.
@daniels pointed out it is a problem of the ARM Mali DDK. To make it work, we need to a) the Mali DDK (EGL client side) needs to be changed to use zwp_linux_dmabuf_v1, just like Mesa's EGL client code does b) the Mali DDK (Wayland server side) needs to be changed to expose EGL_EXT_image_dma_buf_import_modifiers - even if you only use linear buffers, the import_modifiers extension adds query functions to declare which formats are supported. without this extension, it is impossible to know which formats the EGL stack supports.
Although only adapted the second idea would make thing easy, but you need to modify a ARM fork weston to avoid supporting gbm_bo_import() with GBM_BO_IMPORT_WL_BUFFER type in this path.