ivi-shell: add README for ivi-shell
authorNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Wed, 29 Jan 2014 06:53:59 +0000 (15:53 +0900)
committerJan Ekström <jan.ekstrom@intel.com>
Thu, 4 Dec 2014 11:34:17 +0000 (13:34 +0200)
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
ivi-shell/README [new file with mode: 0644]

diff --git a/ivi-shell/README b/ivi-shell/README
new file mode 100644 (file)
index 0000000..7f41291
--- /dev/null
@@ -0,0 +1,79 @@
+       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.
+
+  http://projects.genivi.org/wayland-ivi-extension/
+
+- Extension protocal; 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:
+       http://projects.genivi.org/ivi-layer-management/node/13
+       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:
+       http://git.projects.genivi.org/?p=wayland-ivi-extension.git;a=summary
+
+- 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