Same ilm surface on multiple layer support

Ikshwaku Chauhan ikshwaku.ec2004 at gmail.com
Wed Jul 4 02:32:41 EDT 2018


Hello Wataru ,

Could you please suggest on this blocking behavior of LayerManagerControl
with multi screen/layer?
We have applied this patch:  e8ff7df863a10eb4be5273017fb544b5f823fc6a  as
you suggested, but issue is not resolved.

Best Regards,
Ikshwaku

On Fri, May 11, 2018 at 11:21 AM, Vikas Patil <vikasmpatil at gmail.com> wrote:

> Hi Wataru,
>
> I have tried it and unfortunately it do not solve the issue. Is it known
> issue or it is happening due to older (1.11.0) version of weston and ivi
> which i am using.
>
> Best Regards,
> Vikash
>
> On Thu, May 10, 2018 at 3:54 PM, Mizuno, Wataru (ADITJ/SWG) <
> wmizuno at jp.adit-jv.com> wrote:
>
>> Hi Vikas,
>>
>>
>>
>> This issue might be fixed with this patch: e8ff7df863a10eb4be5273017fb544
>> b5f823fc6a
>>
>>
>>
>> Please try with it.
>>
>>
>>
>> Best regards,
>>
>>
>>
>> *Wataru Mizuno*
>>
>> ADITJ / SWG
>>
>>
>>
>> +81-(0)566-56-0946
>>
>>
>>
>> *From:* Vikas Patil [mailto:vikasmpatil at gmail.com <vikasmpatil at gmail.com>]
>>
>> *Sent:* Thursday, May 10, 2018 4:07 PM
>> *To:* Ucan, Emre (ADITG/ESB)
>> *Cc:* genivi-ivi-layer-management at lists.genivi.org; Mizuno, Wataru
>> (ADITJ/SWG); wayland mailing list; Ikshwaku Chauhan
>> *Subject:* Re: Same ilm surface on multiple layer support
>>
>>
>>
>> Hi All,
>>
>> As some of the LayerManagerControl commands do not work when same surface
>> is attached to two layers.
>>
>> Following command hangs and do not come out as expected. I tried to check
>> where it is hanging using GDB. Is this gives some hit on issue and
>> resolution? Please suggest if you have any pointers.
>>
>> LayerManagerControl get scene
>>
>>
>> root at linux1:~# gdb -p 916
>> warning: Unable to find libthread_db matching inferior's thread library,
>> thread debugging will not be available.
>> warning: Unable to find libthread_db matching inferior's thread library,
>> thread debugging will not be available.
>>
>> 0x4ddf68f4 in wl_list_length () from /usr/lib/libwayland-client.so.0
>> (gdb) bt
>> #0  0x4ddf68f4 in wl_list_length () from /usr/lib/libwayland-client.so.0
>> #1  0x4deb45e4 in ilm_getSurfaceIDsOnLayer ()
>>    from /usr/lib/libilmControl.so.1.11.0
>> #2  0x00033f80 in printLayerProperties(unsigned int, char const*) ()
>> #3  0x00035a40 in printScene() ()
>> #4  0x0001d4e8 in func_2(Expression*) ()
>> #5  0x000330ac in ExpressionInterpreter::interpr
>> etCommand(std::__cxx11::basic_string<char, std::char_traits<char>,
>> std::allocator<char> >) ()
>> #6  0x00018d50 in main ()
>>
>> Regards,
>>
>> Vikash
>>
>>
>>
>> On Tue, Apr 17, 2018 at 10:51 AM, Vikas Patil <vikasmpatil at gmail.com>
>> wrote:
>>
>> Hi Emre,
>>
>> Could you please suggest on this blocking behavior of LayerManagerControl
>> with multi screen/layer?
>>
>> Thank You.
>>
>> Best Regards,
>>
>> Vikash
>>
>>
>>
>> On Wed, Apr 11, 2018 at 11:35 AM, Vikas Patil <vikasmpatil at gmail.com>
>> wrote:
>>
>> Hi Emre Ucan,
>>
>> Thanks a lot for your quick response. I am able to show same surface on
>> two layers now. I have taken following two commit to weston 1.11.0.
>> Attached here same as  patch to weston 1.11.0.
>>
>> "5e8d55da698e58"
>> "67bd21232fa549"
>>
>> However if I use any of the below commands to analyze then it is not
>> exiting and I need to prress "CTRl+C" to come out from command. Do you know
>> if this is the normal behavior or some fix is available for this ?
>>
>> root at linux-a1 :~# LayerManagerControl analyze surface 10
>> ^C
>>
>> root@ linux-a1 :~# LayerManagerControl get scene
>> screen 0 (0x0)
>> ---------------------------------------
>> - resolution:           x=800, y=480
>> - hardware layer count: 0
>> - layer render order:   1000(0x3e8), 2000(0x7d0),
>>
>>     layer 1000 (0x3e8)
>>     ---------------------------------------
>>     - created by pid:       0
>>     - original size:        x=400, y=480
>>     - destination region:   x=0, y=0, w=400, h=480
>>     - source region:        x=0, y=0, w=400, h=480
>>     - orientation:          0 (up is top)
>>     - opacity:              1
>>     - visibility:           1
>>     - type:                 0 (unknown)
>> ^C
>>
>>
>> root at linux-a1:~# LayerManagerControl get layer 1000
>> layer 1000 (0x3e8)
>> ---------------------------------------
>> - created by pid:       0
>> - original size:        x=400, y=480
>> - destination region:   x=0, y=0, w=400, h=480
>> - source region:        x=0, y=0, w=400, h=480
>> - orientation:          0 (up is top)
>> - opacity:              1
>> - visibility:           1
>> - type:                 0 (unknown)
>> ^C
>>
>> root at orinoco-9939-a1:~# LayerManagerControl get surface 10
>> surface 10 (0xa)
>> ---------------------------------------
>> - created by pid:       821
>> - original size:      x=800, y=480
>> - destination region: x=0, y=0, w=400, h=480
>> - source region:      x=0, y=0, w=800, h=480
>> - orientation:        0 (up is top)
>> - opacity:            1
>> - visibility:         1
>> - pixel format:       0 (R-8)
>> - native surface:     0
>> - counters:           frame=0, draw=0, update=0
>> ^C
>>
>> Also following commands worked successfully.
>>
>>
>> LayerManagerControl get screen 0
>> LayerManagerControl get layer 2000
>> LayerManagerControl get layers
>> LayerManagerControl get surfaces
>>
>> I used following commands to setup  and test
>>
>> export XDG_RUNTIME_DIR=/var/run/root/1000
>>
>> LayerManagerControl create layer 1000 400 480
>> LayerManagerControl set layer 1000 visibility 1
>> LayerManagerControl set layer 1000 destination region 0 0 400 480
>>
>> LayerManagerControl create layer 2000 400 480
>> LayerManagerControl set layer 2000 visibility 1
>> LayerManagerControl set layer 2000 destination region 400 0 400 480
>>
>> LayerManagerControl set screen 0 render order 1000,2000
>>
>> EGLWLMockNavigation &
>> LayerManagerControl add surface 10 to layer 1000
>> LayerManagerControl add surface 10 to layer 2000
>> LayerManagerControl set surface 10 visibility 1
>> LayerManagerControl set surface 10 source region 0 0 800 480
>> LayerManagerControl set surface 10 destination region 0 0 400 480
>>
>> Best Regards,
>>
>> Vikash
>>
>>
>>
>> On Tue, Apr 10, 2018 at 7:43 PM, Ucan, Emre (ADITG/ESB) <
>> eucan at de.adit-jv.com> wrote:
>>
>> Hi Vikas,
>>
>>
>>
>> This patch “5e8d55da698e58”  enabled the feature. It is part of weston
>> 1.12 release.
>>
>>
>>
>> Best regards
>>
>> *Emre Ucan*
>> Engineering Software Base (ADITG/ESB)
>>
>> Tel. +49 5121 49 6937
>>
>> *From:* wayland-devel [mailto:wayland-devel-bounces at lists.freedesktop.org]
>> *On Behalf Of *Vikas Patil
>> *Sent:* Dienstag, 10. April 2018 14:58
>> *To:* genivi-ivi-layer-management at lists.genivi.org; Mizuno, Wataru
>> (ADITJ/SWG); wayland mailing list
>> *Subject:* Same ilm surface on multiple layer support
>>
>>
>>
>> +Subject
>>
>> Dear All,
>>
>> We are facing issue when we are trying to add same surface to multiple
>> layers. When we try to attach surface to another layer, it is getting
>> detached from the earlier layer.
>>
>> We are using wayland/weston/wayland-ivi-extension 1.11.0 with
>> drm-backend on TI's Soc.
>>
>> Could anyone know if this is the limitation of ILM 1.11.0 ? Is this fixed
>> in newer version and can it be ported to 1.11.0 ? or Is there any other way
>> to show same surface on multiple layers?
>>
>> I see it was the limitation with wayland-ivi-extesnion 1.9.0 as below
>> [1].
>>
>>
>>
>> *"Currently 1 layer can be only on 1 screen, and 1 surface can be only on 1 layer, we are planning to relax this limitation And allow 1 surface to be on many layers but we would need to break the ABI and change the  ivi-controller protocol."*
>>
>> [1] https://lists.genivi.org/pipermail/genivi-ivi-layer-manageme
>> nt/2016-October/005416.html
>>
>>
>>
>> Thanking you in advance.
>>
>>
>>
>> Best Regards,
>>
>> Vikash
>>
>>
>>
>>
>>
>>
>>
>
>



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