Positioning and Multi display support for Weston Wayland
ba.sandeep at tataelxsi.co.in
Fri May 18 08:25:26 UTC 2018
Thanks for a detailed response, need some more clarifications though
The final solution will use drm-backend we are in process of getting the drm-backend work on the platform, while we use x11-backend for development.
a) I assume from Shared-CRTC support you mean monitors with same resolutions, refresh rate etc. So cloned mode is supported for use cases for displays with similar properties for resolution, refresh rate etc. Is this supported for x11-backend also? As you mentioned Independent-CRTC mode (i.e monitors with different refresh rate etc), cloning is not supported currently. Can you please confirm if this understanding is correct?
b) Different configuration for us means - Either a single or multiple compositor instance (running on same physical hardware) driving different monitors to display different composited content. In this case the displays can be placed far off from each other. I assume this would be supported. Please confirm?
c) Extended/Tiled mode for us means - Multiple monitors connected to form a larger display (e.g. Video wall use case), just wanted to confirm can this be achieved with a single compositor instance?
From: Pekka Paalanen [mailto:ppaalanen at gmail.com]
Sent: 17 May 2018 17:48
To: Sandeep Chandak <ba.sandeep at tataelxsi.co.in>
Cc: wayland-devel at lists.freedesktop.org
Subject: Re: Positioning and Multi display support for Weston Wayland
On Wed, 16 May 2018 06:41:08 +0000
Sandeep Chandak <ba.sandeep at tataelxsi.co.in> wrote:
> We are using Weston Wayland based compositing for our solution, though
> we are able to render image, video text etc.
> We are using x11 backend along with desktop shell to build the
> solution which requires rendering of multiple media contents (image,
> videos etc) together. We are using following versions of packages
I presume the x11-backend is only for development purposes and the final product will run on DRM-backend instead.
> a) Weston - version 5.0
> b) Wayland - version 1.15.0
> c) Ubuntu 16.04
> d) Hardware - Intel i5 processors
> e) Cairo - 1.14 with EGL/OpenGL ES enabled
> We have below queries for which we need some inputs
> a) Positioning of windows - We would like to position windows
> to a specific x,y location. However, we see that Weston positions it
> at a random location. We would like to confirm if positioning of
> windows to specific location is supported by Weston.
No, you cannot position windows from the application into specific x,y coordinates chosen by the application. There are a couple of design approaches to achieve the positioning you want:
What I would personally recommend is to modify the window manager to position your windows appropriately. You may need to write a new protocol extension so that the application can tell the special role of the window to the compositor, so that the compositor can place it correctly in the space it happens to have available.
You could also write a protocol extension to allow explicit positioning of windows from applications, but that will have the problem that any single application will be completely unaware of any other applications' windows or desktop elements. Explicit positioning in applications may seem like an easy solution at first, but it really only works in extremely narrow use cases. I consider it as a workaround, not a solution.
However, depending on your use case, there might be much more straightforward solutions.
> b) Multi display Support - We need to support following use
> cases and would like to confirm if this is currently supported by
> * Cloned display (same content on multiple screens)
Shared-CRTC clone mode is available in Weston upstream master branch, but the final patch to allow it to be configured is not yet reviewed:
Note, that shared-CRTC clone mode requires hardware support that recent Intel display controllers do not have as far as I know.
Independent-CRTC clone mode is currently not supported due to design problems with damage tracking in libweston. Even if you could configure two weston_outputs to show the same area of the desktop, there would likely be problems with outdated contents on screen. This would be good to fix, but so far has not been a priority for anyone.
> * Extended display/Tiled (Multiple displays are combined to
> form a single display)
Weston supports extended display, but the output layout configuration is essentially missing. Currently you can only realize a single row of outputs in an implicit order. This too would be nice to fix.
There is no synchronization implemented as that would require kernel interfaces and hardware support, either gen-lock or variable refresh rate.
> * Different (Different displays rendering different content)
How does this differ from Extended display?
> * Portrait/Landscape orientation (this we believe is supported
> via configuring Weston.ini)
More information about the wayland-devel