Speaker

Daniel Stone

Daniel Stone

Collabora Graphics Lead

Daniel is the graphics lead at Collabora, working with Wayland/Weston, Mesa (including EGL/OpenGL ES/Vulkan), the Linux kernel DRM/KMS display and modesetting, GStreamer, and more. We improve the upstream open-source graphics experience, and help our customers make the most of it.

Wayland and Weston: 8 years of production devices

Wayland and Weston have now been shipping in commercial devices for eight years, since the first set-top box shipped with Wayland and Weston's 0.85 release.

Considered a dramatic and difficult bet at the time, Wayland has in a short time become the de-facto choice across the industry. Not only is it seen everything from set-top boxes to smart TVs to smart watches, but its extensible and flexible nature means that it is even used to support Android applications within Google's ChromeOS, running as a component of the Chromium browser engine. More complex usecases such as remote-display sharing and even VR environments are using Wayland as a building block.

Many of these devices are using the Weston display server, developed alongside the original Wayland implementation. Weston performs a careful balancing act, delivering as much of the capability of the underlying hardware as possible, whilst being uncompromising on quality. Weston's efficient architecture and quality has seen it ship in many cases where reliability and responsiveness are non-negotiable. Thanks to its internal architecture making full use of the hardware's capability, Weston is often used as a vehicle for introducing new features to the upstream graphics stack, as it can be easily adapted to take full advantage of new and more efficient hardware offload functionality.

In this talk, Daniel, a core Wayland developer at Collabora, will share some of the lessons of the last eight years of helping partners and the community successfully ship devices fulfilling Wayland's original promise of 'every frame is perfect', including lessons from what Wayland did well, things that would be very different in Wayland 2.0, and a look to future usecases and challenges for the whole graphics stack. He will also run through some real-life practical examples of closing the gap between prototype and production, using powerful profiling and introspection tools provided in recent versions of Weston.

SPURV: Seamlessly integrating Android and generic Linux

An oft-discussed topic is reducing the gap between Android and mainline Linux, particularly through the graphics stack. As both systems have grown and matured, Android has donated some of its graphical capabilities to mainline Linux systems, and equally Android has itself evolved to take advantage of new mainline Linux developments. This co-development of both systems allows hardware vendors to confidently develop a mainline-focused BSP for their platforms, supporting mass-volume Android as well as the broad long-tail capability of generic Linux, with a single development effort.

Over the years, Collabora has invested in this effort, including the upstreaming of Android's explicit-fencing support, and the opening of drm_hwcomposer. Last year, we released SPURV to the community: a system which runs Android P applications in a container, displaying on to a Wayland-based generic Linux host system. Though SPURV was developed for a commercial client seeking to run Android applications inside their generic-Linux UI, SPURV is not an out-of-the-box polished product: rather, it is a continuation of our effort to bring the two worlds together.

The surface area and interactions of the Android APIs, and the difficulty of integrating them with a mainline Linux system, are well understood. This talk will not cover the ground of higher-level Android APIs such as contact management. This talk will focus on the issues specific to the graphics stack and low-level hardware enablement, focused on bridging the gap between Android and mainline-Linux systems. The differences between the two will be analysed and compared, and potential roadmaps for continued convergence discussed.

Linaro Connect Budapest Sessionize Event

March 2020 Budapest, Hungary

Daniel Stone

Collabora Graphics Lead