• Home
Name Date Size #Lines LOC

..--

READMED12-May-20243 KiB7961

hmi-controller.cD12-May-202456.8 KiB2,0071,464

ivi-layout-export.hD12-May-202421.9 KiB682259

ivi-layout-private.hD12-May-20246.2 KiB211144

ivi-layout-shell.hD12-May-20242.1 KiB6827

ivi-layout-transition.cD12-May-202423 KiB909706

ivi-layout.cD12-May-202467.5 KiB2,4711,825

ivi-shell.cD12-May-202416.7 KiB661439

ivi-shell.hD12-May-20241.8 KiB5621

meson.buildD12-May-20241.6 KiB6258

weston.ini.inD12-May-20242 KiB9981

README

1	In-vehicle infotainment (information and entertainment)
2	graphical environment support modules for Weston
3
4
5IVI-shell is an alternative shell for Weston, a Wayland display server.
6Window management and application interaction with the display server
7are very different to that of a normal desktop, which is why this is
8a separate shell and not an extension to the desktop-shell suite with
9xdg_shell. As such, applications need to be specifically written to use
10IVI-shell.
11
12IVI-shell contains two main features:
13- Common layout library for surface, which allow ivi-shell developer
14  to develop own shell, linking Common layout library.
15  For the time being, the library refers Genivi ilm interface.
16
17  https://at.projects.genivi.org/wiki/display/WIE/Wayland+IVI+Extension+Home
18
19- Extension protocol; ivi-application to tie wl_surface and a given ID.
20  With this ID, shell can identify which wl_surface is drawn by which
21  application. In in-vehicle infortainment system, a shell has to update
22  a property of a wl_surface. E.g. there may be a use case when vehicle
23  starts to move, the wl_surface drawn by Car navigation is expected to
24  move top of surfaces.
25
26The actual software components delivered with Weston are:
27
28- ivi-application.xml:
29	Wayland protocol extension for IVI-applications; the public
30	shell protocol (the same concept as xdg_shell).
31	Implemented by ivi-shell.so.
32
33- ivi-shell.so:
34	A Weston shell module that implements ivi-application.xml interfaces.
35	Loads ivi-layout.so.
36
37- ivi-layout.so:
38	Implements the IVI window management concepts: Screen, Layer,
39	Surface, groups of Layers, groups of Surfaces, see:
40	https://at.projects.genivi.org/wiki/display/WIE/Summary+of+Layer+manager+APIs
41	Offers a stable API for writing IVI-controller modules like
42	hmi-controller.so against the IVI concepts. In other words,
43	it offers an API to write IVI window manager modules.
44
45- hmi-controller.so:
46	A sample implementation of an IVI-controller module, usually
47	replaced by IVI system vendors.
48	Uses ivi-layout.so to perform essentially window manager tasks.
49	This implementation keeps all window management inside the module,
50	while IVI-systems may use another module that exposes all window
51	management via Wayland or other protocol for an external process
52	to control.
53
54- ivi-hmi-controller.xml:
55	Wayland protocol extension for IVI display control; the private
56	shell protocol for weston-ivi-shell-user-interface client
57	(the same concept as desktop-shell.xml).
58	Implemented by hmi-controller.so, and usually replaced by IVI
59	system vendors.
60
61- weston-ivi-shell-user-interface:
62	A sample implementation of an IVI shell helper client, usually
63	replaced by IVI system vendors.
64	A helper client for basic display content, similar to
65	weston-desktop-shell.
66
67
68How to compile:
69same as weston. To disable, use option: --disable-ivi-shell for configure.
70
71How to configure weston.ini:
72reference ini file will be generated in <build_dir>/ivi-shell.
73
74How to run:
75same as weston. exec weston.
76
77How to use UI:
78http://lists.freedesktop.org/archives/wayland-devel/attachments/20140625/abbfc064/attachment-0001.png
79