This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
agl-distro:demo-apps:home-screen [2022/07/26 21:10] waltminer Obsolete - delete page |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Home Screen Demo Application for AGL Distribution ===== | ||
- | ==== Overview ==== | ||
- | We are developing the Best Freakin' Home Screen Ever for release with version 1 of the AGL distribution. | ||
- | |||
- | This project is covered by [[https://jira.automotivelinux.org/browse/SPEC-24?filter=10100 | Jira issue SPEC-24]] and its substasks. | ||
- | |||
- | ==== Requirements ==== | ||
- | 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 ==== | ||
- | |||
- | **//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]] | ||
- | |||
- | |||
- | ==== Code ==== | ||
- | |||
- | TBD |