In this talk, I will give an introduction into the QtWayland Compositorframework and show how to use it to create a Wayland compositor from scratch.The QtWayland Compositor API is rather new and just got its first stablerelease with Qt 5.8. It can be used to create Wayland compositors from scratchwithin only a few hours and completely adapt them to the UI concept of yourembedded device. My talk focus on how to use the framework within a complexmulti-application automotive scenario.
Wayland is today's standard to perform window compositing on embedded Linuxdevices. In cars, one typically uses the automotive specific "IVI" protocolextension to talk to the compositor. This works well if you have a UI withonly limited window dynamics or animations, like a static display of windowsfrom different processes (e.g. display consisting of a radio control window, aclimate control window...). But if you want to add fancy window animationsand/or have a certain complex workflow for your UI in mind, the IVI protocolshows its limits. However, writing your own Wayland compositor is no option insuch a case due to the amount of work and the introduced complexity/bugs. Inthis talk, I will explain why and when the QtWayland Compositor Frameworkprovides you with a new alternative.
The QtWayland Compositor API, which only recently entered the realm of stablereleased Qt API, makes it almost trivial to create your own Waylandcompositor. Even adding your own protocol extensions, for which your UXdesigners can add any fancy (QtQuick) animation you can dream of, is simple.In my talk, I will give an introduction into the QtWayland Compositorframework and show how to use it to create a Wayland compositor from scratch.I will focus on my own experience as an embedded device developer from usingthe framework in real-life automotive scenarios. However, like most people inthe embedded world, I cannot directly talk about my projects, but instead willtalk about a hypothetical "Kitchen HMI" project, which yet will cover the fullcomplexity of a multi-application device. Specifically, this Kitchen HMI willfeature the following:
* The windows from different example applications (clock app, tea cooking timer app, egg cooking timer app) will be composed in a uniform UI by a QtWayland based Wayland compositor. * The compositor provides a custom protocol extension for alarming ("hey, your tea is ready!"). * The windows will have nice animations, actually you can handle them the same as QtQuick items in the canvas of a QtQuick application.
Attending the talk will provide you with the required knowledge to do all ofthe above on your own and specifically show that window handling in aQtWayland compositor "feels" the same like doing simple declarative QtQuick UIdevelopment. |