Upcoming Enlightenment Improvements: DMABuf & Teamwork V2

E21 has been under heavy development since December of last year; the primary goals for have been to provide a more rapid release and expedite improvements in Wayland compositing to provide a much more usable experience. With the release pending, here’s a roundup of a couple recently-added Wayland features that are coming in this release.

Improving Memory Sharing for Video Processing with DMABuf

DMABuf is an infrastructure for sharing memory between various pieces of hardware. It’s a key technology to enable a high performance video pipeline without wasted memory copies, but its benefits aren’t limited to video processing and playback.

EFL and Enlightenment now both support the Wayland DMABuf protocol, allowing clients to create buffers that can be dropped into a hardware video plane or used as a texture by the GPU, without the inherent memory copy required for wl_shm buffers. While this is good news for video players, we’ve taken it one step further.

All software-rendered EFL applications – not just video players – will automatically take advantage of this on Intel and Exynos hardware for a performance boost in certain situations. If for some reason DMABuf can’t be used, clients will silently fall back to wl_shm buffers.

In the future, this will be improved with more image formats to allow better acceleration of video playback, and integrated with the scene graph to allow the compositor to intelligently assign surfaces to available hardware planes.

Improving the Efficiency of Gif Inspection with Teamwork

Another big feature is the support for Teamwork v2 which was recently integrated into E21. The API has undergone a rewrite to move away from DBus, and to provide some simplifications, specifically the removal of unused and unnecessary methods.

The gist of Teamwork is that an application can provide a URI to the compositor, and the compositor can then display the content of the URI in a tooltip using application-provided coordinates. For example, this means a chat client could tell the compositor to display a funny-but-definitely-work-related gif received from a coworker without the user needing to click and load their web browser. Below are a pair of videos showing Teamwork in action from the Terminology terminal emulator:

There’s more Wayland features packed into this release, so stay tuned for more updates!

[wp_biographia user="zmike"]

[wp_biographia user="derekf"]

Author: Mike Blumenkrantz

Mike is the release manager for Enlightenment as well as a core developer of the EFL toolkit.