Hi Florent,

On Mon, Aug 3, 2015 at 7:28 PM, Florent R <revest...@gmail.com> wrote:

> Hi,
>
>     As part of an internship for OpenWide Ingénierie, I spent the latest
> month working on an EGLFS (EGL Full Screen) module for the EFL. The idea is
> similar to the Qt's EGLFS module, indeed the goal is to provide hardware
> accelerated graphics on embedded linux platforms which only support the
> framebuffer and libEGL/libGLESv2 without using X11, Wayland or KMS. This
> opens up numerous exciting possibilities: for example I've been able to use
> Enlightenment on Android devices with libhybris. However with just a little
> bit more code other examples may include standalone EFL on the
> Raspberry-Pi, or on Mali platforms, iMX6 and so on...
>
>     My work included the creation of ecore_evas_eglfs which uses the
> existing ecore_fb and the new evas_eglfs. As the ecore_evas_eglfs module is
> almost the same as ecore_evas_fb, code duplication was avoided by appending
> ecore_evas_eglfs_new_internal at the end of ecore_evas_fb.c. (in the same
> way as ecore_evas_gl_drm_new was added at the end of ecore_evas_drm.c)
>     The evas_eglfs module includes more new things. This time my work was
> based on gl_drm, however I removed the usage of DRM and GBM to only keep
> the bare necessities: EGL/GLESv2. When using eglCreateWindowSurface the
> native_window argument is set to NULL so that EGL creates a full screen
> surface.
>
>     In order to make this work more useful I also added EGLFS support to
> Elementary and I created a Wl_Eglfs module for Enlightenment. I was able to
> test my module in plenty of situations including: unit tests with expedite,
> simple application with elementary_tests standalone, complete desktop
> experience with enlightenment and fully-featured app with calaos.
>
>     My code modifications are available on the following git repositories
> which might still be a little bit hacky for now :
>         * https://github.com/FlorentRevest/EFL
>         * https://github.com/FlorentRevest/Elementary
>         * https://github.com/FlorentRevest/Enlightenment
>
>     During my epic journey with EFL on embedded Linux I also created an
> OpenEmbedded distribution called boot2efl. Once again my work was inspired
> by boot2qt and I designed a lightweight system able to run on libhybris.
> The most supported platform is the radxa rock however there is some very
> early support for the ODroid C1 and Cubieboard1. You can download a
> flashable update.img image here :
>     Or you can build it yourself by running the following commands :
>     git clone https://github.com/FlorentRevest/boot2efl
>     cd boot2efl
>     . ./prepare-build.sh
>     bitbake boot2efl-image
>
>     Demonstration videos are available on youtube here :
> https://youtu.be/RdCyzL0Gguk https://youtu.be/YnD9qt1dvGc
> https://youtu.be/zjGWFNGl4iw
>     As you can see on the Enlightenment example there is a glitch when
> showing the main menu. It still needs some investigations.
>

Yep, that's definitely garbage data on the screen :)


>
>     I hope my work will prove useful to someone else, I believe it can be a
> great piece of news for Tizen porting on Android devices. (libhybris is the
> technology behind namely SailfishOS, WebOS-Ports, Mer and Nemomobile) Don't
> hesitate to ask me any question you might have on my plugin or to share
> your thoughts about my work.
>     Florent Revest
>

This is really great and I will definitely have a look at your code.

Congrats!

-- 
Jean-Philippe André
------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to