32aedb9fd6
Fixes ASan reported leaks: Direct leak of 88 byte(s) in 1 object(s) allocated from: #0 0x7fcdc7382518 in calloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9518) #1 0x7fcdc2d902f3 in zalloc ../../git/weston/include/libweston/zalloc.h:38 #2 0x7fcdc2d91cc2 in weston_desktop_xwayland_init ../../git/weston/libweston-desktop/xwayland.c:410 #3 0x7fcdc2d89aef in weston_desktop_create ../../git/weston/libweston-desktop/libweston-desktop.c:87 #4 0x7fcdc2db7300 in wet_shell_init ../../git/weston/ivi-shell/ivi-shell.c:642 #5 0x7fcdc7261de5 in wet_load_shell ../../git/weston/compositor/main.c:956 #6 0x7fcdc7272baa in wet_main ../../git/weston/compositor/main.c:3410 #7 0x55e12a669e29 in execute_compositor ../../git/weston/tests/weston-test-fixture-compositor.c:432 #8 0x55e12a66d85d in weston_test_harness_execute_as_client ../../git/weston/tests/weston-test-runner.c:528 #9 0x55e12a65dc48 in fixture_setup ../../git/weston/tests/ivi-layout-test-client.c:48 #10 0x55e12a65dcca in fixture_setup_run_ ../../git/weston/tests/ivi-layout-test-client.c:50 #11 0x55e12a66de12 in main ../../git/weston/tests/weston-test-runner.c:661 #12 0x7fcdc6ed709a in __libc_start_main ../csu/libc-start.c:308 #13 0x55e12a65d769 in _start (/home/pq/build/weston-meson/tests/test-ivi-layout-client+0xd769) Indirect leak of 152 byte(s) in 1 object(s) allocated from: #0 0x7fcdc7382518 in calloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9518) #1 0x7fcdc2d89811 in zalloc ../../git/weston/include/libweston/zalloc.h:38 #2 0x7fcdc2d8992d in weston_desktop_create ../../git/weston/libweston-desktop/libweston-desktop.c:65 #3 0x7fcdc2db7300 in wet_shell_init ../../git/weston/ivi-shell/ivi-shell.c:642 #4 0x7fcdc7261de5 in wet_load_shell ../../git/weston/compositor/main.c:956 #5 0x7fcdc7272baa in wet_main ../../git/weston/compositor/main.c:3410 #6 0x55e12a669e29 in execute_compositor ../../git/weston/tests/weston-test-fixture-compositor.c:432 #7 0x55e12a66d85d in weston_test_harness_execute_as_client ../../git/weston/tests/weston-test-runner.c:528 #8 0x55e12a65dc48 in fixture_setup ../../git/weston/tests/ivi-layout-test-client.c:48 #9 0x55e12a65dcca in fixture_setup_run_ ../../git/weston/tests/ivi-layout-test-client.c:50 #10 0x55e12a66de12 in main ../../git/weston/tests/weston-test-runner.c:661 #11 0x7fcdc6ed709a in __libc_start_main ../csu/libc-start.c:308 #12 0x55e12a65d769 in _start (/home/pq/build/weston-meson/tests/test-ivi-layout-client+0xd769) Indirect leak of 72 byte(s) in 1 object(s) allocated from: #0 0x7fcdc7382518 in calloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9518) #1 0x7fcdc2d8a5ae in zalloc ../../git/weston/include/libweston/zalloc.h:38 #2 0x7fcdc2d8a89e in weston_desktop_client_create ../../git/weston/libweston-desktop/client.c:108 #3 0x7fcdc2d91d2a in weston_desktop_xwayland_init ../../git/weston/libweston-desktop/xwayland.c:415 #4 0x7fcdc2d89aef in weston_desktop_create ../../git/weston/libweston-desktop/libweston-desktop.c:87 #5 0x7fcdc2db7300 in wet_shell_init ../../git/weston/ivi-shell/ivi-shell.c:642 #6 0x7fcdc7261de5 in wet_load_shell ../../git/weston/compositor/main.c:956 #7 0x7fcdc7272baa in wet_main ../../git/weston/compositor/main.c:3410 #8 0x55e12a669e29 in execute_compositor ../../git/weston/tests/weston-test-fixture-compositor.c:432 #9 0x55e12a66d85d in weston_test_harness_execute_as_client ../../git/weston/tests/weston-test-runner.c:528 #10 0x55e12a65dc48 in fixture_setup ../../git/weston/tests/ivi-layout-test-client.c:48 #11 0x55e12a65dcca in fixture_setup_run_ ../../git/weston/tests/ivi-layout-test-client.c:50 #12 0x55e12a66de12 in main ../../git/weston/tests/weston-test-runner.c:661 #13 0x7fcdc6ed709a in __libc_start_main ../csu/libc-start.c:308 #14 0x55e12a65d769 in _start (/home/pq/build/weston-meson/tests/test-ivi-layout-client+0xd769) Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> |
||
---|---|---|
.. | ||
hmi-controller.c | ||
ivi-layout-export.h | ||
ivi-layout-private.h | ||
ivi-layout-shell.h | ||
ivi-layout-transition.c | ||
ivi-layout.c | ||
ivi-shell.c | ||
ivi-shell.h | ||
meson.build | ||
README | ||
weston.ini.in |
In-vehicle infotainment (information and entertainment) graphical environment support modules for Weston IVI-shell is an alternative shell for Weston, a Wayland display server. Window management and application interaction with the display server are very different to that of a normal desktop, which is why this is a separate shell and not an extension to the desktop-shell suite with xdg_shell. As such, applications need to be specifically written to use IVI-shell. IVI-shell contains two main features: - Common layout library for surface, which allow ivi-shell developer to develop own shell, linking Common layout library. For the time being, the library refers Genivi ilm interface. https://at.projects.genivi.org/wiki/display/WIE/Wayland+IVI+Extension+Home - Extension protocol; ivi-application to tie wl_surface and a given ID. With this ID, shell can identify which wl_surface is drawn by which application. In in-vehicle infortainment system, a shell has to update a property of a wl_surface. E.g. there may be a use case when vehicle starts to move, the wl_surface drawn by Car navigation is expected to move top of surfaces. The actual software components delivered with Weston are: - ivi-application.xml: Wayland protocol extension for IVI-applications; the public shell protocol (the same concept as xdg_shell). Implemented by ivi-shell.so. - ivi-shell.so: A Weston shell module that implements ivi-application.xml interfaces. Loads ivi-layout.so. - ivi-layout.so: Implements the IVI window management concepts: Screen, Layer, Surface, groups of Layers, groups of Surfaces, see: https://at.projects.genivi.org/wiki/display/WIE/Summary+of+Layer+manager+APIs Offers a stable API for writing IVI-controller modules like hmi-controller.so against the IVI concepts. In other words, it offers an API to write IVI window manager modules. - hmi-controller.so: A sample implementation of an IVI-controller module, usually replaced by IVI system vendors. Uses ivi-layout.so to perform essentially window manager tasks. This implementation keeps all window management inside the module, while IVI-systems may use another module that exposes all window management via Wayland or other protocol for an external process to control. - ivi-hmi-controller.xml: Wayland protocol extension for IVI display control; the private shell protocol for weston-ivi-shell-user-interface client (the same concept as desktop-shell.xml). Implemented by hmi-controller.so, and usually replaced by IVI system vendors. - weston-ivi-shell-user-interface: A sample implementation of an IVI shell helper client, usually replaced by IVI system vendors. A helper client for basic display content, similar to weston-desktop-shell. How to compile: same as weston. To disable, use option: --disable-ivi-shell for configure. How to configure weston.ini: reference ini file will be generated in <build_dir>/ivi-shell. How to run: same as weston. exec weston. How to use UI: http://lists.freedesktop.org/archives/wayland-devel/attachments/20140625/abbfc064/attachment-0001.png