Skip to content

v3dv: Rework to remove drm authentication for wsi

Erico Nunes requested to merge enunes/mesa:v3dv-wl_drm into main

For Wayland wsi allocations, v3dv used the wl_drm protocol, which is now being phased out in favor of dmabuf feedback. wl_drm is used to figure out the display device (in v3dv assumed to be vc4) and then to authenticate with the Wayland compositor in order to allocate scanout-able buffers (in this case, dumb buffers) directly at the display device. Recent commit 88c03ddd changed the behavior of the wsi code, and wl_drm is now passing the render device instead, which broke Wayland wsi. It turns out that the authentication code is not really needed and since we would like to remove wl_drm usage and the master device is assumed to be vc4 anyway, we can just remove some unneeded device-specific wsi code and get Vulkan Wayland wsi back to work.

Fixes: 88c03ddd ("egl/drm: get compatible render-only device fd for kms-only device")

Closes: #10111 (closed)

Cc @itoral @apinheiro @emersion

I think this will need some more testing. I tested with Vulkan applications on Wayland and Xwayland and it seems to work fine and fix the current issues. So far I have been unable to test with Zink since it seems to also have regressed elsewhere and I can't even run simple applications with it anymore.

Edited by Erico Nunes

Merge request reports