This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
subsystem:graphics:weston-ivi-shell [2015/09/30 17:19] mbc |
subsystem:graphics:weston-ivi-shell [2019/09/23 05:08] (current) jeker updated dead link |
||
---|---|---|---|
Line 9: | Line 9: | ||
===== AGL Demonstration Platform ===== | ===== AGL Demonstration Platform ===== | ||
- | IVI-Shell is always built when [[https://git.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-demo.git;a=blob;f=README.md;h=0722d30898c16e6aad27d1b25725210865c19478;hb=HEAD#l102|creating an "agl-demo-platform" image]], but will only start automatically by adding following lines to your //conf/local.conf// file : | + | IVI-Shell is always built when [[https://git.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-demo.git;a=blob;f=README.md;h=0722d30898c16e6aad27d1b25725210865c19478;hb=HEAD#l102|creating an "agl-demo-platform" image]], but will only start automatically if you add the following lines to your "//conf/local.conf//" file : |
<code>IMAGE_INSTALL_append = " \ | <code>IMAGE_INSTALL_append = " \ | ||
Line 15: | Line 15: | ||
"</code> | "</code> | ||
- | or, in case the image has already been built, if you overwrite its ///etc/xdg/weston/weston.ini// file with **[[https://git.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=blob_plain;f=meta-ivi-common/recipes-graphics/wayland/weston-ivi-shell/weston.ini.ivi-shell|this one]]**. | + | or, in case the image has already been built, if you overwrite its "///etc/xdg/weston/weston.ini//" file with **[[https://git.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=blob_plain;f=meta-ivi-common/recipes-graphics/wayland/weston-ivi-shell/weston.ini.ivi-shell|this one]]**. Or: |
+ | |||
+ | <code> | ||
+ | [core] | ||
+ | shell=ivi-shell.so | ||
+ | backend=drm-backend.so | ||
+ | |||
+ | [ivi-shell] | ||
+ | ivi-module=ivi-controller.so | ||
+ | </code> | ||
If everything went fine, you should see a display similar to [[http://iot.bzh/images/images/weston-ivi-shell.png|this one]]. | If everything went fine, you should see a display similar to [[http://iot.bzh/images/images/weston-ivi-shell.png|this one]]. | ||
+ | Note also that you might have to turn the screen adding the following lines to "///etc/xdg/weston/weston.ini//" | ||
+ | |||
+ | <code> | ||
+ | [output] | ||
+ | name=HDMI-A-1 | ||
+ | transform=270 | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
===== General architecture ===== | ===== General architecture ===== | ||
Line 31: | Line 49: | ||
* **ivi-hmi-controller** : server-side protocol, allowing customization of shell behavior and look and feel. | * **ivi-hmi-controller** : server-side protocol, allowing customization of shell behavior and look and feel. | ||
+ | ---- | ||
===== Implementation examples ===== | ===== Implementation examples ===== | ||
Line 47: | Line 66: | ||
ivi_surface = ivi_application_surface_create(id, wl_surface);</code> | ivi_surface = ivi_application_surface_create(id, wl_surface);</code> | ||
+ | ---- | ||
===== Extension features ===== | ===== Extension features ===== | ||
- | The **[[:git.projects.genivi.org/?p=wayland-ivi-extension.git|wayland-ivi-extension]]** project brings additional features to IVI-Shell, including : | + | The **[[http://git.projects.genivi.org/?p=wayland-ivi-extension.git|wayland-ivi-extension]]** project brings additional features to IVI-Shell, including : |
* **ivi-controller** plugin : adds support for getting pointers to //native_handle// and //wl_surface// objects managed by //wl_shell// : | * **ivi-controller** plugin : adds support for getting pointers to //native_handle// and //wl_surface// objects managed by //wl_shell// : | ||
- | <code>get_native_handle | + | <code>get_native_handle() |
native_handle</code> | native_handle</code> | ||
* **IVISurfaceCreator** command-line tool : associates a Global ID to a //wl_surface// manually. The surface can then be controlled by using the ivi-controller plugin or ivi layout APIs. | * **IVISurfaceCreator** command-line tool : associates a Global ID to a //wl_surface// manually. The surface can then be controlled by using the ivi-controller plugin or ivi layout APIs. | ||
- | <code>IVISurfaceCreator --help | + | <code>$ IVISurfaceCreator --help |
Usage: IVISurfaceCreator <Process ID> <Window Title> <IVI-Surface ID></code> | Usage: IVISurfaceCreator <Process ID> <Window Title> <IVI-Surface ID></code> | ||
- | * **EGLWLMockNavigation** demonstration : uses ivi layout APIs to show an accelerated EGL window with a sample animated scene (screeshot [[http://iot.bzh/images/images/renesas_agl_wayland-ivi-extension-1.jpg|here]]). | + | * **EGLWLMockNavigation** demonstration : uses ivi layout APIs to show an accelerated EGL window with a sample animated scene. |
+ | |||
+ | Screeshot [[http://iot.bzh/images/images/renesas_agl_wayland-ivi-extension-1.jpg|here]]. | ||
+ | |||
+ | ==== Additional information ==== | ||
+ | |||
+ | Additional information regarding wayland-ivi-extension, most notably detailed design and HOWTO, can be found on the **GENIVI wiki** : | ||
+ | [[https://at.projects.genivi.org/wiki/display/PROJ/Wayland+IVI+Extension+Design]] |