Enlightenment is an eye-candy, compositing and stacking window manager that is released under the permissive BSD License. It was first released in 1997 by Carsten Haitzler (Rasterman) and this original release was dubbed Enlightenment DR16 (or E16 for short). In 2012 a new version of Enlightenment was released, which was called Enlightenment DR17 (or E17). Since then many further major releases of Enlightenment have been made: E18, E19, E20, E21 and E22. E20, E21 and E22 are all presently in the Portage Tree.
There has been some confusion over Enlightenment versions. E16, despite being an older release of Enlightenment, has its releases numbered 1.x, while the later releases of Enlightenment (E17-E22) all have decimal release numbers. E17 is numbered 0.17.x, E18 is numbered 0.18.x, E19 is numbered 0.19.x while E20 is numbered 0.20.x and so on. Consequently, it is advised that users are careful as to which version of Enlightenment they are installing. While the version numbers reflect actual versions of the upstream tar archives, they can be confusing.
- 1 Installation
- 2 Configuration
- 3 Tips and tricks
- 4 EFL-based applications
- 5 Troubleshooting
- 6 Screenshots
- 7 See also
- 8 External resources
USE flags for x11-wm/enlightenment Enlightenment window manager
All wayland-related modules should be either disabled or enabled, depending on your
wayland USE flag status.
systemdto be used when enabling
wayland, see Wayland requirements.
For installing the latest Enlightenment WM and the needed libraries, just issue the following command:
emerge --ask enlightenment
For SVG support e.g. for previews or menu entries, you can additionally install dev-libs/efl with the
svg USE flag enabled.
Addition to /etc/portage/package.use (unless you already have the
svg USE flag globally enabled) and install the package:
euse -p dev-libs/efl -E svg
emerge --ask efl
To get the latest release of Enlightenment-E21, type
emerge --ask =x11-wm/enlightenment-0.21.11
and mask later releases if you don't wish to receive E22+ updates using /etc/portage/package.mask.
At the time of writing the latest stable release of Enlightenment is enlightenment-0.21.7. You will get it automatically when using a stable system and typing
emerge --ask enlightenment
Otherwise, you can utilize /etc/portage/package.mask again.
Enlightenment live ebuilds
The process is a little different because it's recommended to always rebuild all of the components using their current state in Git. Make sure you have installed Layman or Eselect/Repository. Now you can add the enlightenment-live overlay.
layman -a enlightenment-live
eselect repository enable enlightenment-live
Make sure to install all core enlightenment packages using live ebuilds. You can update using the exact same command to ensure that all core packages are updated.
emerge --ask --autounmask-write @enlightenment-core-9999
The overlay contains masked package even for latest stable enlightenment releases.
Be aware that they are currently masked for ~amd64, so you need to unmask them.
emerge --ask --autounmask-write efl enlightenment
The ebuilds are currently tested for X and not for Wayland. Further investigation and feedback is needed for Enlightenment with Wayland and Systemd
The ebuilds for the latest stable packages may be moved to the official repository once tested and stable.
If anything goes wrong, file a ticket on GitHub or contact User:Rafspiny. Those are live ebuilds and therefore they can occasionally need updating. I'm also considering starting a separate overlay just for Enlightenment, let me know if that would help you.
Old Enlightenment-e16 is still maintained. It was removed from Gentoo's portage tree because it caused a lot of confusion and made later Enlightenment releases harder to handle due to wrongly slotted packages. You can install e16 from e16-overlay. Please report any issues you find with e16 to the maintainer of that overlay via Github issues.
Update this section when the overlay gets added to public layman / eselect-repository list.
Enlightenment's configuration is all handled through the settings editor from within enlightenment. You can access some "under-the-hood" config options with
And there's also a command line tool called
vieet which especially useful in emergency. In many cases, if your Enlightenment's configuration gets broken, moving ~/.e and ~/.elementary to a temporary place, then re-starting Enlightenment usually helps.
Launching enlightenment with startx
exec dbus-launch --exit-with-session enlightenment_start
Tips and tricks
Now one can start Enlightenment desktop environment by launching the default Display Manager (DM).
You may have to add an entry to your X sessions directory, if you use SLiM for example
echo "enlightenment_start" >> /etc/X11/Sessions/Enlightenment
chmod +x /etc/X11/Sessions/Enlightenment
Or else, opt for a DM free set up. See X without Display Manager#Multiple X Session/Virtual_Console for more info on starting a X Session without a DM.
- media-gfx/ephoto Enlightenment image viewer written with EFL
- sys-process/evisum System and process monitor written with EFL
- x11-misc/enlightenment-extra An app for downloading themes and add-ons to Enlightenment WM
- x11-terms/terminology Feature rich terminal emulator
Anyone can add software they use via the proxy-maint project. Please do so. A short list of external applications. And some python-efl applications.
Applications requiring system tray not working properly
Older applications still using xembed systray instead of appindicator may not work properly (Dropbox for example). Solution is to install a stand-alone system tray program, such as stalonetray.
Black window contents
If you get windows with completely black contents (most likely with the nvidia proprietary driver and Enlightenment 0.20.5 or 0.20.6), follow these steps:
- log out from Xorg.
- set E_COMP_ENGINE=sw, for example in .xinitrc:
export E_COMP_ENGINE=sw exec dbus-launch --exit-with-session enlightenment_start
Alternatively, you can set the variable in /etc/environment.
- start X.
- Go to Settings->Composite->Advanced->Rendering and disable "Texture from pixmap".
- Then you can remove "export E_COMP_ENGINE=sw" from .xinitrc and log out/in to get accelerated rendering again.
For more information see this bug report.
"build error: undefined symbol: _EFL_GFX_PATH_CHANGED"
An unfortunate build error that's caused by existing libraries. There is usually a more detailed error, like: "/usr/lib64/libector.so.1: undefined symbol: _EFL_GFX_PATH_CHANGED". In this case, remove any existing installation of dev-libs/efl and the offending library.
It's wise to log out from Enlightenment before removing efl. Removing efl while using Enlightenment might cause Enlightenment to act weirdly and in the worst case lock up. If that happens, you won't see if the build fails. Log in to TTY or some other WM/DE while re-installing efl.
emerge -C --nodeps dev-libs/efl
emerge --ask dev-libs/efl
See more in #651890.
If you've tried to move your config files away and Enlightenment still doesn't work, you can debug the problem by typing
enlightenment_start 2>&1 | tee logthing.txt
and reading the log file. It is useful when making a bug report to bugs.gentoo.org or upstream's Phabricator. If the log file doesn't imply clear errors, you might have to install and run it it with debugging tools like gdb, strace or valgrind.
E_START=1 strace enlightenment_start 2>&1 | tee logthing.txt
"No opengl engines found" with nvidia-drivers
Identify where your libGL.so is installed, usually /usr/lib/opengl/nvidia/lib/libGL.so. Then use patchelf to modify efl's gl engine,
patchelf --set-rpath /usr/lib/opengl/nvidia/lib/ /usr/lib64/evas/modules/engines/gl_x11/v-1.20/module.so
And relog. Paths depend on your architechture. This needs to be done once, or everytime efl is re-installed.