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

Reply via email to