Multi-screen support with Wayland IVI Extension

Melatt Vythakkatt, Binoy (B.) mbinoy at visteon.com
Wed Feb 8 23:48:34 EST 2017


Hi Jacobo,

Probably you can try this on your side,

In the Weston.ini and the input controller library,

[ivi-shell]
ivi-module=ivi-controller.so,ivi-input-controller.so

and you can connect multiple devices and the set the input focus, 
Example for keyboard as below,
LayerManagerControl set surfaces <id> input focus keyboard

And for checking the capabilities of the default seat,
LayerManagerControl get input device default capabilities


Best regards,
Binoy

-----Original Message-----
From: Jacobo Aragunde Pérez [mailto:jaragunde at igalia.com] 
Sent: Wednesday, February 08, 2017 10:00 PM
To: Ucan, Emre (ADITG/SW1); genivi-ivi-layer-management at lists.genivi.org
Cc: Ranjeethkumar, Sukumar (S.); genivi-projects at lists.genivi.org; Melatt Vythakkatt, Binoy (B.)
Subject: Re: Multi-screen support with Wayland IVI Extension

On 08/02/17 12:03, Ucan, Emre (ADITG/SW1) wrote:
> Hi,
> 
> You have to set source and destination rectangle of surface 10:
> 
> LayerManagerControl set surface 10 source region 0 0 800 480 
> LayerManagerControl set surface 10 destination region 0 0 800 480
> 

Thank you very much! I was indeed missing this.

Related question, how about input devices? I connected several keyboards and mice, but they all are considered the same "default" input device.
Any tips on how to test multiple input?

Thanks again O:-)

--
Jacobo Aragunde
Software Engineer at Igalia

>> -----Original Message-----
>> From: genivi-ivi-layer-management 
>> [mailto:genivi-ivi-layer-management-
>> bounces at lists.genivi.org] On Behalf Of Jacobo Aragunde Pérez
>> Sent: Mittwoch, 8. Februar 2017 12:02
>> To: genivi-ivi-layer-management at lists.genivi.org
>> Cc: sranjeet at visteon.com; genivi-projects at lists.genivi.org; 
>> mbinoy at visteon.com
>> Subject: Multi-screen support with Wayland IVI Extension
>>
>> Hi,
>>
>> this is basically a bump of an older email:
>>
>> http://lists.genivi.org/pipermail/genivi-projects/2016-
>> September/002934.html
>>
>> (CCing original senders too, sorry for the noise)
>>
>> I follow the same steps from the experiment in the email above, and 
>> I'm getting the same results: two displays are connected and detected 
>> by LM, but content only shows up in the first one.
>>
>> I'm using GDP master and Weston version is 1.11, so the bug mentioned 
>> in that mail thread should not be happening this time. Is there any 
>> other known issue on multi-screen configurations?
>>
>> Regarding hardware, I'm using Minnowboard builds on an Intel NUC 
>> board with a chip from the same family, so I have two screen outputs.
>>
>> Find below the command-line output of the experiment. The final 
>> output of `get scene` says the surface 10 hangs from the screen 1, 
>> but the surface is actually visible on screen 0.
>>
>> # LayerManagerControl get scene
>> screen 0 (0x0)
>> ---------------------------------------
>> - resolution:           x=1280, y=1024
>> - hardware layer count: 0
>> - layer render order:
>>
>> screen 1 (0x1)
>> ---------------------------------------
>> - resolution:           x=1920, y=1080
>> - hardware layer count: 0
>> - layer render order:
>>
>> # LayerManagerControl create layer 1000 1280 1024 # 
>> LayerManagerControl create layer 2000 1920 1080 # LayerManagerControl 
>> set layer 1000 visibility 1 # LayerManagerControl set layer 2000 
>> visibility 1 # LayerManagerControl set screen 0 render order 1000 # 
>> LayerManagerControl set screen 1 render order 2000 # 
>> EGLWLMockNavigation & Shader setup complete.
>> # LayerManagerControl get surfaces
>> 1 Surface(s):
>> - Surface 10 (0xa)
>> # LayerManagerControl set surface 10 visibility 1 # 
>> LayerManagerControl set layer 2000 render order 10 # 
>> LayerManagerControl get scene screen 0 (0x0)
>> ---------------------------------------
>> - resolution:           x=1280, y=1024
>> - hardware layer count: 0
>> - layer render order:   1000(0x3e8),
>>
>>     layer 1000 (0x3e8)
>>     ---------------------------------------
>>     - created by pid:       0
>>     - original size:        x=1280, y=1024
>>     - destination region:   x=0, y=0, w=1280, h=1024
>>     - source region:        x=0, y=0, w=1280, h=1024
>>     - orientation:          0 (up is top)
>>     - opacity:              1
>>     - visibility:           1
>>     - type:                 0 (unknown)
>>     - surface render order:
>>     - on screen:            0(0x0)
>>
>> screen 1 (0x1)
>> ---------------------------------------
>> - resolution:           x=1920, y=1080
>> - hardware layer count: 0
>> - layer render order:   2000(0x7d0),
>>
>>     layer 2000 (0x7d0)
>>     ---------------------------------------
>>     - created by pid:       0
>>     - original size:        x=1920, y=1080
>>     - destination region:   x=0, y=0, w=1920, h=1080
>>     - source region:        x=0, y=0, w=1920, h=1080
>>     - orientation:          0 (up is top)
>>     - opacity:              1
>>     - visibility:           1
>>     - type:                 0 (unknown)
>>     - surface render order: 10(0xa),
>>     - on screen:            1(0x1)
>>
>>         surface 10 (0xa)
>>         ---------------------------------------
>>         - created by pid:       360
>>         - original size:      x=800, y=480
>>         - destination region: x=0, y=0, w=1, h=1
>>         - source region:      x=0, y=0, w=0, h=0
>>         - orientation:        0 (up is top)
>>         - opacity:            1
>>         - visibility:         1
>>         - pixel format:       0 (R-8)
>>         - native surface:     0
>>         - counters:           frame=0, draw=0, update=0
>>         - on layer:           2000(0x7d0)
>>
>>
>> Thanks in advance.
>> Best,
>> --
>> Jacobo Aragunde
>> Software Engineer at Igalia
>> _______________________________________________
>> genivi-ivi-layer-management mailing list 
>> genivi-ivi-layer-management at lists.genivi.org
>> http://lists.genivi.org/mailman/listinfo/genivi-ivi-layer-management



More information about the genivi-ivi-layer-management mailing list