Mastodon Twitter Facebook YouTube Donate


We place all of our releases here:


Our latest source code releases are (Elementary, Evas Generic Loaders and Emotion Generic Players have been merged into the EFL since version 1.18):

Development ToolVersion
Dynamic EDC Editor (Enventor)1.0.0
Enlightenment IDE0.8.0

A more comprehensive list of efl applications and source repositories can be found in Gitea.

We provide original source code “tarballs” as the canonical release of what we make. It is left up to distributions and individuals to make specific packages to their operating system. See your distribution packages for details.

When compiling from source, build in this order:

  • efl

Then any further applications or tools (in any order now) such as:

  • enlightenment
  • terminology
  • rage
  • etc.


Build Environment

You will want to ensure the default prefix /usr/local is available to build tools. If you know what you are doing, you can change the prefix, but this here shall assume you do not, and the above prefix is used. These environment variables are used during build, so you may want to make them more permanent.

export PATH=/usr/local/bin:"$PATH"
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:"$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH=/usr/local/lib:"$LD_LIBRARY_PATH"

Below choose one of the following CFLAGS to use. To ensure your code is compiled with decent optimzations you should also set this up in your environment:

export CFLAGS="-O3 -ffast-math -march=native"

Note that if you wish to compile for older architectures than your current system, please look up the compiler documentation and replace -march=native with something appropriate.

If you wish decently optimized code that is still debuggable (but that optimizations may still make a little hard to debug) you can do:

export CFLAGS="-O2 -ffast-math -march=native -g -ggdb3"

If you want a really debuggable piece of code where optimizations mess with little to nothing at all use:

export CFLAGS="-O -g -ffast-math -march=native -ggdb3"

Runtime Library Linking

Note the LD_LIBRARY_PATH environment variable is set. You can ensure the system always supports /usr/local/lib by editing /etc/ or adding a file to /etc/ and simply have a line in either file that says:


And remember to run sudo ldconfig tool every time you install a library to ensure caches are updated.


For every tarball you download untar it with tar zxf file.tar.gz and then go into the directory created. Please see the README file in this directory for each project for information on dependencies, configuration etc. Just remember that all our release tarballs come with configure set up so to compile you just need to do this in the source directory:

sudo make install
sudo ldconfig # needed on Linux to update linker library database

or if meson based (has a file):

meson build
ninja -C build
sudo ninja -C build install
sudo ldconfig # needed on Linux to update linker library database

If configure fails, you are likely missing a dependency - provide it. It should tell you what that dependency is. NOTE that you can provide arguments to configure such as –prefix=/opt/e or similar. Similarly for meson. See the INSTALL file for more information.

Master source repositories

Our source code is developed collaboratively in a pretty typical open source manner. Our master branches in git are where all new development goes into as it happens, thus they are technically “unstable”. We try and keep master working and usable daily, as developers generally are living off master themselves, so bugs affect developers directly and immediately. Sometimes issues happen, but they tend to get fixed rapidly.

If you want to track the latest and greatest, please see our git repositories below and follow the Get Source guide on compiling from upstream source. If you have issues please refer to our Contact Us page to get in touch with us.

All our git repositories are listed on:

Download Enlightenment E16

The latest version of DR16 is 1.0.29, released on October 29th, 2023. Packages for the current and previous releases of DR16, core themes, epplets, e16keyedit, and imlib2 can be found on the SourceForge download page.


Juraci Vieira,

Hi, I would like to tank you guys for the amazing work that you have been doing with terminology, it is truly the most impressive terminal I have ever used.

Also I would like to know what is the official APT repository so that I can install terminology through apt-get on Debian based OS.

Thanks a lot!

Hello Juraci Vieira,

Please take a look on Ubuntu installation page. In nutshell, you can use

sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update
sudo apt-get install terminology

Please make sure to uninstall, if any exists, older version of EFL/terminology from your system before proceeding with installation.

Vikas Nambiar,

can i get this fixed if possible.thankx

nostromo:/etc/ add-apt-repository ppa:enlightenment-git/ppa Traceback (most recent call last):

File "/usr/bin/add-apt-repository", line 95, in <module>
  sp = SoftwareProperties(options=options)
File "/usr/lib/python3/dist-packages/softwareproperties/", line 109, in __init__
File "/usr/lib/python3/dist-packages/softwareproperties/", line 599, in reload_sourceslist
File "/usr/lib/python3/dist-packages/aptsources/", line 89, in get_sources
  (, self.codename))

aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Kali/kali-rolling


Umm errr… we don't maintain any apt/debian/kali etc. repos from upstream. There are just so many Linux distros it's basically impossible to try and do so we leave that to the good and dedicated packagers who run distributions. :)

Ivan Truenow,

Hi! I want to install E16 in my pc with Linux Mint Maya. Could I found some were the Debian package? Or another way for installing it? (I'm a bit new in linux)


Rudolf Held, ,

Hi there,

I would like to thank you guys for all the great work you are doing with enlightenment. I'm using e16 for about 12 years now and in my opinion it beats all other WMs out there (I've encountered quite a few). I'm really glad that I still can get e16 here and I'm glad to see it still being developed with new versions coming out frequently.

cheers, Rudolf


Thanks! :)


So I appreciate that this message is encrypted, because it is super secret. Is there any chance of you guys securing your downloads? You add your existing ssl cert to where it makes a difference, like your software. They have these new things called md5sums, and oh yeah git protocol, no excuse for not using ssl there. I am not asking you to be annoying. I have not been able to verify your software for years. Its BS. My downloads are frequently messed with because you make it so easy. seriously ssl where it matters not your landing. Who cares if your landing is encrypted? it is the least important part.

Raster, ,

Ummm you could just copy the link from the download like and replace http: with https: :). Would you really need an md5sum then as you can't do a man in the middle with an SSL certificate that easily… ? Just go to and follow the directory tree. The same paths as the links above… we aren't stopping you. :) The links are http by default in the page because as downloads for the vast majority of people who don't want/need to verify it keeps server load lower and allows proxies to cache etc. … :)

Oh also for git… didn't you try https://... for git URLs? :) It is supported. :) Just git clone Or go to and just click on any git repository. At the bottom it offers GIT protocol, HTTPS and SSH options (SSH requires developer account/access). :)

is there a fix for this error code: ERR<9879>:ecore_system_upower modules/ecore/system/upower/ecore_system_upower.c:74 _on_low_battery_get_cb() Message error org.freedesktop.DBus.Error.InvalidArgs - No such property 'OnLowBattery'


not sure it needs a fix… but it is complaining that your upower dbus service is missing properties… :)


hi , I am installing efl-1.8.6 library throughthis commands 1)./configure 2)make 3)sudo make install. but when i run ./configure i found this error

checking for X11/extensions/Xinerama.h… yes checking for XineramaQueryScreens in -lXinerama… yes checking for X11/extensions/Print.h… yes checking for XpQueryScreens in -lXp… no configure: error: Missing support for X extension: Xprint

pls help how to solve.

I use ubuntu 16.04lts operating system


missing xprint … install the xprint packages (and development header packages). listed above in dependencies (libxp).


I got error when installing eflete on ubuntu linux 16.04 When i run ./configure command i got :

Configuration Options Summary:

os.............: linux-gnu
efl............: yes


tizen..........: no

edje-cc path…..: /usr/local/bin/edje_cc


check..........: yes
run tests......: make check

Debug output…..: no

Installation…..: make install (as root if needed, with 'su' or 'sudo')

CFLAGS.........: -g -O2
prefix.........: /usr/local


Ehen i run make command :

sorgen@sorgen-HP-ProBook-6460b:~/enlight/eflete-0.7.0$ make make all-recursive make[1]: Entering directory '/home/sorgen/enlight/eflete-0.7.0' Making all in src make[2]: Entering directory '/home/sorgen/enlight/eflete-0.7.0/src' Making all in lib make[3]: Entering directory '/home/sorgen/enlight/eflete-0.7.0/src/lib'

EOLIAN    ewe_ruler.eo.c

eolian:/usr/local/share/eolian/include/evas-1/efl_event_input.eo:8:23: invalid keyword near '@virtual_pure'

    @property device @virtual_pure {

eolian:/usr/local/share/eolian/include/evas-1/efl_event_pointer.eo:4:63: error parsing dependency 'Efl.Event.Input' near 'Efl' class Efl.Event.Pointer (Eo.Base, Efl.Event, Efl.Input.State, Efl.Event.Input)


eolian:/usr/local/share/eolian/include/efl-1/efl_input_interface.eo:9:21: error parsing dependency 'Efl.Event.Pointer' near 'Efl'

     pointer,move: Efl.Event.Pointer;

eolian:/usr/local/share/eolian/include/evas-1/efl_canvas_object.eo:5:29: error parsing dependency 'Efl.Input.Interface' near 'Efl'

                           Efl.Input.Interface, Efl.Gfx.Size.Hint,

eolian:/usr/local/share/eolian/include/evas-1/efl_canvas_group.eo:1:25: error parsing dependency 'Efl.Canvas.Object' near 'Efl' class Efl.Canvas.Group (Efl.Canvas.Object)


eolian:/usr/local/share/eolian/include/elementary-1/elm_widget.eo:31:22: error parsing dependency 'Efl.Canvas.Group' near 'Efl' abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, Elm.Interface.Atspi_Component)


eolian:/home/sorgen/enlight/eflete-0.7.0/src/lib/ewe_ruler.eo:4:18: error parsing dependency 'Elm.Widget' near 'Elm' class Ewe.Ruler (Elm.Widget)


eolian: could not parse file 'ewe_ruler.eo' Makefile:818: recipe for target 'ewe_ruler.eo.c' failed make[3]: * [ewe_ruler.eo.c] Error 1 make[3]: Leaving directory '/home/sorgen/enlight/eflete-0.7.0/src/lib' Makefile:394: recipe for target 'all-recursive' failed make[2]: * [all-recursive] Error 1 make[2]: Leaving directory '/home/sorgen/enlight/eflete-0.7.0/src' Makefile:461: recipe for target 'all-recursive' failed make[1]: * [all-recursive] Error 1 make[1]: Leaving directory '/home/sorgen/enlight/eflete-0.7.0' Makefile:393: recipe for target 'all' failed make: * [all] Error 2 sorgen@sorgen-HP-ProBook-6460b:~/enlight/eflete-0.7.0$

Pls help me to install edge theme editor


aaaah elfete is problematic as it's usijng unstable api's and has to keep up (match) efl. you basically have to carefully match efl version and eflete… i can't even build it myself at the moment against upstream git master

Dan Stromberg,

I like the look of Terminology a lot. I'm considering switching to it from mrxvt (at least outside of VNC sessions), which I've been using for years.

There's one option in mrxvt I'd really, really miss though: -at | +at Run command specified with -e on all tabs (by default the command specified by -e is only used for the first tab opened). This causes the profile option command to be ignored. However a command specified via the NewTab macro is honored. [cmdAllTabs ]

Any chance this could be added to Terminology?

I looked into what it'd take to make the change myself, but setting up a build environment, even on Bodhi Linux, looks exceptionally time consuming. In fact, I installed Bodhi in a VirtualBox just for this purpose, and attempted to install all the build dependencies, but Bodhi wound up committing suicide - black screen of death shortly after boot, nothing useful emanating from it.

I use the above option in mrxvt to automatically ssh into the same remote host on all tabs within a given window, with automatic pseudo-tty logging kind of like script(1).

Thanks for thinking about it!

nakati, ,

I got error message for econnman since last update of efl and python-efl :

Traceback (most recent call last): File “/usr/bin/econnman-bin”, line 23, in <module> import efl.elementary as elm ImportError: /usr/lib/python3.4/site-packages/efl/elementary/ undefined symbol: elm_obj_systray_id_get During handling of the above exception, another exception occurred: Traceback (most recent call last): File “/usr/bin/econnman-bin”, line 46, in <module> import efl.elementary as elm ImportError: /usr/lib/python3.4/site-packages/efl/elementary/ undefined symbol: elm_obj_systray_id_get


The python bindings are using unstable APIs from efl (they break/change) so you have to keep them in sync… unfortunately.


Using E since first E16 version, I found an easy way to install last E on Debian sid. Just go to, add a repository, apt-get update and then install enlightenment and terminology. Testing it ! Thank to all ( E creator plus developers ;-) )

Petr, ,

Hi! I have not been able to compile efl for a couple of months now. The system is a Linux 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux The trouble seems to be some incompatibility with the distirbution's ibus library:

   CC       modules/ecore_imf/ibus/modules_ecore_imf_ibus_module_la-ibus_module.lo
   In file included from /usr/include/ibus-1.0/ibus.h:31:0,
               from modules/ecore_imf/ibus/ibus_module.c:10:
        /usr/include/ibus-1.0/ibusserializable.h:141:58: error: unknown type name ‘GVariantBuilder’
                                                        GVariantBuilder        *builder);

plus lots more of GVariant, GDBusConnection. This looks like the library contains some hardcoded Gnome dependencies support there. How do I get rid of these errors without installing Gnome3?

Update: Oh well, there seem to have been some experiment with glib 2.21 last year I have completely forgotten about, which left a copy of the header files and pkgconfig entry in /usr/local, which crumbled the build process. problem solved, was my own error.


That's ibus and ubus requires glib (matching glib headers etc.) ,.. you can disable ibus support if u want.

Isaac Hartford,

Hi everyone, I use Terminology as my main emulator (on Mac and Linux) and LOVE it, but that unicode text is not supported. Is there any way this feature could become available with configuration? Or are there plans to support this in the future? Thanks,


Unicode is supported - We support UTF8 encoding… :)


I just passed an E23, I installed it, with the Batden script on mint 19.02. Everything is going well, a big thank you to the whole team. I am on E since E17. First of all, I like its beauty and its speed. On E23 I started to install some modules and programs, extramenu, pinguins and enventor, without any problems. however, I can not compile eflete 1.19.1. Can Eflete be installed on E23? Bon j'y retourne E23 +++ ;)


i have install terminology and is is work very well. But i use a tiling window manager and terminology add a space between the window. How can i remove that space from the window of terminology?


Hello and thank you for this great infos and oportunity! Useful wiki syntax and terminology easy to follow!

Karl Dato, ,

I have been on E16 pretty much since I started with Linux in 1999. Since then I had been following Enlightenment and had a look every now and then. But now, with E24, I am giving it a serious go. It's cool, it's fast.

One feature is missing for me, and I am wondering if it could be implemented as a configure option. When I left-click to open the Favourites menu, I would like the mouse pointer to be on the first item automatically (which is my Terminal). This behaviour is a cool feature in E16.

Thanks, Karl

You could leave a comment if you were logged in.