[Interest] Qt 5.9 with Wayland IVI Extension

Christian Gagneraud chgans at gmail.com
Fri Dec 21 02:12:19 CET 2018


On Fri, 21 Dec 2018 at 01:47, Johan Helsing <johan.helsing at qt.io> wrote:
>
> Hi Vikas,
>
> it's a bit confusing, since there are multiple ivi protocols around (https://github.com/GENIVI/wayland-ivi-extension/tree/master/protocol)
>
> In Qt, we support "ivi-application", which is, as Chris wrote, a dead simple protocol which just support surface identification and resizing.
>
> With your command "LayerManagerControl set surface 1234 destination region 50 50 200 200", you are probably trying to use "ivi-controller", another ivi protocol, which allows positioning surfaces from another Wayland client.
>
> "ivi-controller" is not implemented as a part of the Qt Wayland Compositor API, because we believe positioning and animating clients through QML in the compositor itself to be far more flexible and performant than letting it be handled by another client through "ivi-controller".

That's a pity, because QtWayland could be used for client side only,
and Weston+IVI on the compositor side.
Apparently Weston is "better" Than QtWayland, see 26:36 of
https://www.youtube.com/watch?v=k9mobviOpFQ (The Modern Linux Graphics
Stack on Embedded Systems - Michael Tretter, Pengutronix)
As we're fighting with performance issues on imx61/egl/vivante and
QtWayland compositor, we're experimenting with using Weston instead,
we can see definite performance improvement. But we would need
ivi-controller so that our main app can move/resize auxiliary apps.

> The reason that you can see ivi-controller in the documentation you linked, is that there is some support for it on the client side, through the "ivi-shell" shell integration plugin.

With Weston+IVI, i can control a Qt app (collidingmice) from the
command line, eg using:
LayerManagerControl set surface $QT_IVI_SURFACE_ID opacity 0.8
LayerManagerControl set surface $QT_IVI_SURFACE_ID destination region
100 100 600 480

The only missing bit is access to ivi-controller from C++/Qt.

Chris



More information about the Interest mailing list