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