Dual Independent displays with NXP i.MX8QM SoC

Marius Vlad marius.vlad at collabora.com
Tue Dec 14 11:22:36 UTC 2021


Hi,

Keep in mind that Wayland is a protocol, and all your questions seem to 
be related to Weston, which is one of the compositors implementing it. 
Some of the them do share some common functionality, and would work 
similarity, but need to have that mind.

On 12/13/21 11:55, Abdul Redwan wrote:
> Hello Wayland Developer Team,
> We are working on dual display use case based on i.MX8QM SoC for an 
> Automotive Rear Seat Entertainment application which has Audio/Video 
> playback supporting two users in parallel. As well defined, we could 
> achieve extended display with Wayland/Weston service (Unable to choose 
> the location of the secondary display for the applications except with 
> the help of mouse pointer) but we need dual Independent displays hence 
> tried below options without any luck
> 
> 1. Kiosk shell (We believe it allows to locate the display with app-ids 
> field under output)

This works, but not with all applications. See 
https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/611 for 
more details, which fixes it in other different circumstances. 
Obviously, applications need to have an app_id set. Also, just a single 
weston instance.

> 2. Two Weston service (is this only possible with two DRM devices? not 
> with one?? drm-backend seems to be crashing for the second service)

You set-up an ENV{ID_SEAT}, for which you assign a graphics card which 
you can then pass to weston. So then you have two weston instances for 
each seat (each with its own graphics card, and potentially input 
devices). Some slightly related documentation to that can be found at 
https://wayland.pages.freedesktop.org/weston/toc/running-weston.html

But you don't really have two graphics card, just one. You have two
DRM devices, one being the display, one being the GPU, commonly found in 
SoCs.


> 3. Segregating user points for each display like dedicating touch inputs 
> for each display in kms.conf for QT Wayland, ivi-shell, etc

What are user points? You should be able to specify which inputs
reach which outputs by using proper udev rules, just like I've mentioned 
above. In that link there's actually an example on how to assign a 
particular input to a particular output.

> 
> We aren't very sure if above methods we tried is properly executed, any 
> other methods we have missed or not if we could get some working 
> logs/steps so that we can verify the same. Also, if you could let us 
> know if there are any limitations with dual independent display wrt 
> Native Wayland/Weston (Both users in Parallel accessing two displays 
> able to do extensive Audio/Video playback) it would be helpful

It seems you might be looking at logical seats (what I've suggested 
previously), or potentially have a look at DRM lease functionality where 
a compositor can lease to other clients (well maybe potentially to other
compositors) some DRM resources. We have a protocol for that: 
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/staging/drm-lease/drm-lease-v1.xml 
but in weston there's no implementation for it. wlroots seem to be have 
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2929 
though.

> 
> Thanks,
> Redwan


More information about the wayland-devel mailing list