有关在Tizen IVI上基于Wayland的EFL的介绍

Enlightenment Foundation Libraries (EFL) 是组成DR17窗口管理器的一系列库,主要用于创建一系列图形应用程序。Wayland只是一个协议(Protocol),就像X Window当前的协议——X11一样,它只定义了display server(wayland compositor)如何与Client通讯. EFL应用可以基于X也可以基于Wayland.

在目前最新的Tizen IVI 3.0 image里面http://download.tizen.org/releases/milestone/tizen/ivi/tizen_20140115.4/images/,已经是基于wayland实现的了。那作为EFL应用开发人员来说,在开发基于wayland的应用过程中有什么需要特别注意的地方吗?需要知道的是Porting EFL以及 E17窗体到Wayland目前持续处于开发增强阶段,详细介绍可以参阅http://wayland.freedesktop.org/efl.html。

如果一个应用是基于Ecore_Eva直接开发的需要设置一些环境变量比如ECORE_EVAS_ENGINEwayland_egl或者wayland_shm。 而如果一个应用是基于Elementary的话 需要设置一些环境变量比如ELM_ENGINEwayland_egl或者wayland_shm。在Tizen IVI中对应的示例代码可以参阅https://review.tizen.org/git/?p=platform/upstream/ecore.git;a=summary

src\lib\ecore_evas\ecore_evas.c里面可以看见

   /* Wayland */

#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM

  {"wayland_shm", _ecore_evas_constructor_wayland_shm},

#endif

#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL

  {"wayland_egl", _ecore_evas_constructor_wayland_egl},

#endif

而在 IVI image创建过程中,在ks文件设置环境变量,比如http://download.tizen.org/releases/milestone/tizen/ivi/tizen_20140115.4/images/ivi-release-mbr-i586/ivi-release-mbr-i586.ks里面有
ELM_ENGINE=wayland_egl
ECORE_EVAS_ENGINE=wayland_egl

等等

可以看见,在大部分的情况下对EFL上层应用开发人员较为透明。层次结构可以参阅http://cdn.download.tizen.org/misc/media/conference2013/slides/TDC2013-How_to_Embrace_Wayland_for_Tizen.pdf里面的第21页

For more complete information about compiler optimizations, see our Optimization Notice.
Categories: