Move wayland-drm protocol from Mesa to wayland-core
jason at jlekstrand.net
Wed Nov 27 10:22:12 PST 2013
On Nov 27, 2013 10:53 AM, "Benjamin Gaignard" <benjamin.gaignard at linaro.org>
> Hi all,
> I'm working for Linaro on enabling a zero copy path in GStreamer by
> using dmabuf.
> To make this possible I have patched gst wayland sink to use wayland
> drm protocol: https://bugzilla.gnome.org/show_bug.cgi?id=711155
> Today wayland drm protocol is limited to Mesa so I have decided to
> move it into wayland-core.
> My hardware doesn't have gpu support yet so I have patched weston
> (pixman) to allow usage of wl_drm buffers.
> With this I able to share/use a buffer allocated by DRM in gstreamer
> pipeline even if I don't have gpu and EGL.
> What do you think about make wayland drm protocol available like this ?
The problem here is that wl_drm is really a mesa extension. Well, more of
an open-source linux graphics stack extension. The point is that there are
other graphics stacks: Rhaspberry Pi, libhybris, other proprietary stacks,
etc. and each of these graphics stacks has its own extension for passing
hardware buffers around. This means that if you want your GStreamer sink
to work on these other stacks with zero-copy, you will have to talk their
protocols. Because wl_drm isn't global to all of wayland, it probably
shouldn't go into the wayland core.
This does not mean, however, that wl_drm can't be exposed in a more
sensible way. As of 1.3, we are now exporting wayland.xml to
/usr/share/wayland and we can put other extensions there as well. We could
have, for instance, a /usr/share/mesa.xml file that provides the mesa
extensions. Then projects wanting to talk directly to mesa can generate
the header and C files from the system-installed xml file. This would
solve the problem of keeping everything in sync.
One last note (this one's been bugging me for a while). If we are going to
export wl_drm in some way, we should probably rename it to something like
mesa_drm. We really need to get out of the habit of using the wl_
namespace for everything that talks the wayland protocol. If we don't
alter the details of wl_drm in the rename, it shouldn't be too hard to move
everyone over from wl_drm to mesa_drm.
Hope that's sensible/helpful.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the wayland-devel