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