This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
agl-distro:demo-apps:home-screen [2015/08/20 01:49] wminer |
agl-distro:demo-apps:home-screen [2015/08/20 19:57] wminer Add block diagram and shell options |
||
---|---|---|---|
Line 5: | Line 5: | ||
==== Requirements ==== | ==== Requirements ==== | ||
- | Requirements for the Home Screen application are based on the [[:agl_specification|AGL Requirements Specification]]. The team pulled the requirements from the spec and determined which requirements are to be met during this development cycle (through the end 2015). That list of requirements is {{:agl-distro:demo-apps:agl_spec_homescreen_rev01.pdf|here}}. | + | Requirements for the Home Screen application are based on the [[:agl_specification|AGL Requirements Specification ver 1.0]]. |
+ | |||
+ | **//Summary of Home Screen Requirements//** | ||
+ | * Customize GUI layout by each vehicle, grade, brand and so on. | ||
+ | * Display status notifications, pop-up window, system setting, software keyboard for ivi-use. | ||
+ | * Manage applications (menu screen, kick applications launcher, install applications) | ||
+ | * Switch applications ( application stack, last application) | ||
+ | |||
+ | The team pulled the requirements from the spec and determined which requirements are to be met during this development cycle (through the end 2015). That list of requirements is {{:agl-distro:demo-apps:agl_spec_homescreen_rev01.pdf|here}}. | ||
==== Architecture ==== | ==== Architecture ==== | ||
+ | |||
+ | **//Comparing ivi-shell to desktop-shell//** | ||
+ | |||
+ | A shell consists of two components. | ||
+ | * Plugin: provided as the weston plugin | ||
+ | * Daemon: GUI for the system. | ||
+ | Weston provides two type of plugins. | ||
+ | * desktop-shell: for PC use sample. | ||
+ | * ivi-shell: for ivi use provided by GENIVI. | ||
+ | |||
+ | | ^ desktop-shell ^ ivi-shell ^ | ||
+ | ^ Plug-in | Standard APIs | APIs for ivi-applications | | ||
+ | ^::: | APIs for desktop creation | APIs for HMI control daemon| | ||
+ | ^::: | | Layer control functions | | ||
+ | ^ daemon | GUI Design | GUI Design | | ||
+ | ^::: | Application Launcher | Application Launcher | | ||
+ | ^::: | | Layout, layer definition | | ||
+ | |||
+ | **Tizen Wiki**([[https://wiki.tizen.org/wiki/IVI-Shell]])\\ | ||
+ | IVI-Shell does not support "wl_shell" nor "xdg-shell" (the "desktop" shell protocols found in upstream Weston) but a totally different one, named "ivi-application". | ||
+ | This means that standard Wayland clients cannot be displayed on IVI-Shell, unless they somehow use the IVI-Shell protocol. The package itself provides demo clients, but incompatible clients are more common.\\ | ||
+ | |||
+ | Which plugin should AGL homescreen use? | ||
+ | * Opt.1: re-use ivi-shell | ||
+ | {{:agl-distro:demo-apps:option1.png?300|}} | ||
+ | |||
+ | * Opt.2: create a new shell for AGL | ||
+ | {{:agl-distro:demo-apps:option2.png?300|}} | ||
+ | |||
+ | |||
+ | | ^ Pros ^ Cons ^ | ||
+ | ^ Option 1 | ivi-shell upstream already | Standard API Support needs to be added | | ||
+ | ^::: | Layer functionality available | APIs for HMI control daemon | | ||
+ | ^ Option 2 | Standard API support available | Need to create new software | | ||
+ | ^::: | | Layer functionality needs to be designed | | ||
+ | |||
+ | The team prefers to reuse ivi-shell (option 1) assuming the maintainer supports AGL changes. | ||
+ | * Support standard APIs | ||
+ | * Maintain and support AGL requirements | ||
+ | |||
+ | ---- | ||
+ | |||
+ | **//Proposed Software Block Diagram//** | ||
+ | {{:agl-distro:demo-apps:softwareblockdiagram_proposal_.png?700 |}} | ||
+ | |||
+ | |||
+ | ---- | ||
+ | **//Weston ivi-shell Software Block Diagram//** | ||
+ | |||
+ | {{ :agl-distro:demo-apps:weston_ivi-shell_block_diagram.png?700 |}} | ||
+ | |||
+ | From [[https://github.com/Tarnyko/weston-ivi-shell/blob/weston150_ivi-shell_v6/README.md]] | ||