Archive for the ‘e17’ Category

Enlightenment running on an Efika MX

As part of the Power Developer developer’s program, I received from Genesi one of their amazing Efika MX nettops. Other people have already posted about the unboxing process (for example darkside or brunocardoso), but I still want to throw a few screenshots to show it.

Look how tiny it is compared to even the keyboard (it is the small black box next to the monitor)

Efika booting

Recently there were big improvements made to the EFL on ARM platforms, but even without those optimizations and running on a 1680×1050 screen, E17 is running perfectly fine. Here are a couple of screenshots I made (the second one was taken with a camera phone, so it’s slightly worse to look at, I’ll try to put a video showing how well it’s performing on youtube later):

One of the initial versions of the Efenniht theme, with the obligatory Flame/Penguins/Snow modules enabled

Latest Efenniht version, with the Everything module on the center

I’m going to setup daily builds of the EFL running on it (plus weekly Ubuntu packages) so that it can help out stabilizing the arm port. The static analysis runs with clang of the EFL code that I’ve been doing are now on a new location, and I’ll also be running them directly from the Efika.

I’ll soon update the blog with more cool stuff I’ll be doing here (got an OE build for it about half done), but for now I just want to thank the folks at Genesi for this opportunity, and I’m eagerly waiting to try out the Aura firmware they are working on.

Enlightenment Frequently Mistaken Answers

The last round of news regarding Enlightenment were pretty nice, but one thing that we could see from the community feedback is that there are lots (and I do mean lots) of people out there who do not know its current state. Mostly this is caused by our serious public relations issue (lack of official news, etc.), and we’re planning on fixing this.

But right now, I just wanted to correct some of the misinformation we saw:

  • Question: when will E17 be released?
  • Answer: Soon. No, seriously, I really mean it. Currently work is being done on finalizing a few remaining items of our Release Plan in order to make the first stable release of the libraries, which is the main focus of work right now. After that is done, then focus will be shifted to E17. But if you really want a date, I can’t give you one. Best I can do is say: “join us and help, and then the date will come sooner :P ”.
  • Question: does EFL support OpenGL?
  • Answer: YES, it does, both OpenGL and OpenGL-ES 2.0. There is much to be said on this topic, and some posts with more info and benchmarks are coming soon, but for now just rest assured that there is support for it and it’s kicking ass.
  • Question: is it being  actively developed? Or is it just a bunch of people who are hacking on a project without future?
  • Answer: there is a lot of development going on, and it’s most definitely not a project without future. There are many companies using EFL because the libraries are pretty good, fast and stable. And the libraries can be used for softwares that run by themselves, they definitely do not need E17 to be running. Some examples of projects using EFL are set-top boxes, airplane infotainment systems, etc.
  • Question: why should I use the EFL instead of Qt or GTK+?
  • Answer: the first reason would be because you prefer to use it. Seriously, give it a try. Other than that, if you’re doing a project for an embedded system, chances are the EFL might suit you better than the other two. There was heavy work on optimization done on the libraries, and they usually respond a lot better on smaller hardware than their counterparts. If you’re a designer or working closely with designers on a project, then that might also be a pretty good reason to check out Enlightenment (most specifically Edje).
  • Question: how do I learn more about EFL? How can I help?
  • Answer: documentation is something that we’re working on right now, and it’s one of the main areas we still need to improve a lot. A pretty good place to start is the document that my colleague Gustavo Lima wrote and which is available here. And if you decide you want to help (there are some low hanging fruit there, don’t be afraid) just join us at #edevelop on Freenode and hang there for some time, chances are you will quickly find something to do (and if you haven’t, just ask there and people will quickly find something for you).

That’s it for now. If you have any doubts, just get in touch.

Canola Status Update

This is going to be a long post, I’m going to go over a bunch of stuff, so feel free to go and fetch some coffee before reading it :)

We’ll be talking about Google Summer of Code, Project Memphis, a kick-ass community project using Canola and also the pending release.

Read more

Canola2 Free Software + Maemo’s Summer of Code

Seventy Six trombones led the big parade
With a hundred and ten cornets close at hand …

Others have blogged about it already, but I still felt like I had to post something. Canola2 is now Free Software. We’ve been working on it since last year, and it has been quite an experience. As developer and team leader at ProFUSION, I can say that we’ve learned quite alot with this project and that we hope now with the release of the source code it will grow into a nice community.

I once heard that everytime a piece of proprietary software is released a puppy is born and angels sing Hallelujah in the sky. Don’t know if that is actually true, but either way, the source code is here and instructions for building it are here.

Google’s Summer of Code for 2009 has also started, and is now accepting student applications. Maemo got in as a mentoring organization, and I’ll be mentoring possible projects there (as will glima and antognolli from ProFUSION). There are a few ideas of plugins for Canola in Maemo’s suggested projects page. If you are eligible and want to develop for Canola, talk to us on irc.freenode.net at #canola.

Canola’s new release

After working on Canola for the past couple of months, finally we get to see it released. Hopefully people will like this new version, which is both faster and more stable (or less stable, I’m never quite sure which one we picked). We’re now back following the latest revision of the Enlightenment Foundation Libraries, which allowed us to make the UI experience alot smoother (check it out by going to the Photos section). Also there are a bunch of new features and lots of bugs fixed, so try it out yourself and tell us what you think. Hopefully now development of Canola will get back to more regular releases, and we’ll start seeing more external plugins being developed (such as the flickr plugin being done by Thomas Schimdt, available here).

For this release we went above and beyond the call of duty, doing tests that no one had ever done before (at least to our knowledge). That’s why we can say, with much confidence, that Canola works perfectly while drinking in Buenos Aires:

Canola in Buenos Aires

Canola in Buenos Aires

Testing in other capitals will ensue. Cheers !!!

Using clang’s static analyzer to debug Enlightenment

Clang’s static analyzer (description and more detailed information about setting it up here and here) is an wonderful tool that helps catching some nasty bugs and that has not been widely divulged so far. Lately we’ve been using it to help debug the Enlightenment Foundation Libraries (EFL), and I decided to post this just to help other people try it out.

In order to use it, basically one just needs to get both llvm and clang (preferably from svn, since these tools are being updated all the time) and install them somewhere on the PATH, and afterwards use the scan-build script to build the application/library you want to analyze. The output is a nice set of html files, with the reported bugs divided by type and with detailed information + commented source code.

I’m trying to maintain updated reports on the EFL here, using a really simple script that I made to compile some of the most important libraries, apart from E itself. The script is also available on the same URL, in case someone wants an easy way of trying this out.

X.Org and E17 packages for Ltib

Lately I’ve been working on Ltib (Linux Target Image Builder) in order to have Enjoy running on a demo iMX31 board here in ProFUSION. We’ve already published a few videos on youtube demoing our work here and here (more to follow soon), but so far the packages were scattered through different e-mails on the Ltib mailing list. But as of yesterday, Stuart Hughes merged those packages upstream and now it’s publicly available for all users of Ltib. Also, I’ve been given access to Ltib’s CVS and will be uploading more packages there soon (Enjoy and Illume are next on the list, already packaged and just in need of a few clean-ups).

If you are using Ltib and wish to test E17 (or just X.Org), here are the steps necessary (if you find anything missing from this guide or have any other suggestions, please do leave a comment here since this guide will probably be posted later on Ltib’s homepage) :

1) Update to the latest CVS version if you haven’t already.

2) If you’re going to install the Enlightenment packages, you’re going to need a few packages to be available on your host. Luckily you can just use Ltib to install them :

$ ./ltib –hostcf -p eet.spec
$ ./ltib –hostcf -p embryo.spec
$ ./ltib –hostcf -p evas.spec
$ ./ltib –hostcf -p ecore.spec
$ ./ltib –hostcf -p edje.spec

3) Run ‘./ltib –configure’, and inside Package List, there should be two new submenus, one for Enlightenment and one for X11. Choose the packages you wish to install. One package worth mentioning is Expedite, which can be easily used to benchmark your device and see if the installation was OK.

4) If you are going to run X.Org, you might need to patch xorg-server depending on your device’s supported display resolution (on CVS there is already a patch to add support for vga-portrait mode which is the default resolution for our test board, and I’m sending another patch soon to add support for WVGA).

5) Example of how to start X :

$ Xfbdev -screen 480×640 -mouse tslib,,device=/dev/input/ts0

6) Example of how to start Enlightenment :

$ DISPLAY=:0 enlightenment_start

Try it out and tell us if it worked well for you. Cheers.

Return top