From 930faee673feddd27f7dc3b4b9ce557bcd86f269 Mon Sep 17 00:00:00 2001 From: Nobuhiko Tanibata Date: Thu, 27 Nov 2014 13:19:23 +0900 Subject: [PATCH] ivi-shell: add README for ivi-shell Signed-off-by: Nobuhiko Tanibata Reviewed-by: Pekka Paalanen --- ivi-shell/README | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 ivi-shell/README diff --git a/ivi-shell/README b/ivi-shell/README new file mode 100644 index 0000000..7f41291 --- /dev/null +++ b/ivi-shell/README @@ -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 /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 -- 2.7.4