Enlightenment DR17 is coming - eventually
A 2005 Newsforge article about a forthcoming release of the Enlightenment desktop environment.
This article was originally published on Newsforge on 2005-04-05 at https://software.newsforge.com/article.pl?sid=05/04/05/186210, but the site no longer exists and is not archived on the Wayback machine or elsewhere.
About three years ago, the team behind the open source window manager Enlightenment (E) began rewriting the software from the ground up. Although E .16 has been maintained, receiving the minor updates necessary to keep it from obsolescence, the team has been conscienciously working on the new development release (DR) 17, which is just now evolving into the fantastic desktop environment (DE) they have for so long promised. Despite the popularity of the current version (DR16), the prolonged development cycle necessary for the new one has led anxious fans to largely forget about it. To some the project seems stagnant: it is not, as deluged lead developer Carsten Haitzler (Rasterman) assures us.
While a massive organization like KDE or GNOME has hundreds of dedicated and frequent contributors, E has just a few. To satisfy those clamoring for proof of progress, the developers produced a pre-alpha release of the new DR (Development Release) 17 back in November. At that point the window manager was little more than a tech demo, with few functioning features and questionable stability. Rasterman describes the notable improvements since then, “We have worked on cleaning up library builds. This is partially done. We have worked on the underlying libraries… and the window manager itself has had a lot of modules and features added to make it vaguely “usable” for every day use. Of course that depends on what you define as a minimum requirement for being “usable” but I (and many others now) use E17 on a permanent, ‘daily’, basis. It [now] has virtual desktops, Xinerama and multihead support, a minimal IPC has been hooked in for remote control of the WM, menus are relatively clean (but likely need expanding), and more.” Perhaps most important is the relentless bugfixing E has received, because any development team values stabilizing the current code above adding new features (read: potential problems). You can find occasional updates on Rasterman’s work at his blog.
You may not remember the birth of Enlightenment in 1996. Back then it was just a fork of FVWM2 that used libXpm, which rendered better-looking widgets than the ancient Athena technology, while managing to save memory. Soon after, in 1997, the DR8 release implemented what is now known as Imlib, an image rendering library that could display many more formats than previously possible (which, again, made the desktop look better) at an impressive speed. Many users fondly remember this as the first time Microsoft Windows converts no longer had to be scared off by Linux’s embarrassing, basic, and confusing GUI options. Today, DR16 is seen as a light alternative to GNOME and KDE that doesn’t sacrifice customization or superficial appeal.
E has a legacy of trend-setting among OSS interface projects. As the team describes it, “Enlightenment has a long proud history of producing the best ahead-of-it’s-time eye-candy on the planet that is emulated for years to come”, a fair assessment. Now, after years of work, and years of work yet to come, it’s setting a few more. We can expect DR17 to be a fully functional desktop environment with fantastic eye candy to augment its completely configurable and user-friendly interface. It will be fit to run on the hardware of yesterday (and even PDAs), scalable to any resolution, and be unprecedentedly easy to develop for. What’s more, these are hardly empty promises; what is in their CVS has already been deployed by a small community of users who find it quite suitable for their daily tasks.
E’s developers pride it on being portable, and foresee implementation in the embedded market in which Linux is quickly becoming a major competitor. As they explain in the EFL FAQ on their site, “Primary development of the Enlightenment Foundation Libraries is currently being done on Linux/X86. Other platforms that are currently in use for development include Linux/PPC, Linux/Sparc, Solaris/Sparc, FreeBSD, and OSX. PDAs can use the EFL on Qtopia (Zaurus) and most iPaq Linux distributions.”
The code for DR17 was written from scratch, and accompanied by a set of Enlightenment Foundation Libraries (EFL), a set of tools that developers can use to create Enlightenment applications with incredible ease. Because they can be used outside of E, we could even see their abilities put to use in existing DEs.
Evas is E’s canvas, and is fundamentally different from the many others which use “immediate mode”. The team describes it: “The difference is that [in immediate mode] the programmer has to call routines to DRAW the screen or updated display by drawing one operation at a time, such as draw line, paste image, draw box, paste text. When the screen needs an update these operations are done again by the code, normally from the bottom-most element in the draw to the top (painters algorithm). This is “immediate mode” drawing. Evas is different. It is structural by nature, so instead of drawing, you describe the canvas contents (or scene) in terms of primitives (images, lines, boxes, polygons, text strings etc.) and properties (color, stacking, size, etc.). The drawing itself is handled by the canvas, which acts as a state machine, not actually doing any “hard work” until the canvas’s render call is executed, at which time it evaluates the previous and the current state and appropriately updates the screen without the programmer having to know how this is done.” This, and the fact that Evas is rather tiny as modern canvases go, further refines the traditionally resource-expensive rendering step, just as E’s Imlib did years ago. Thus far, intelligent use of bitmaps has staved off the more intensive use of vector graphics, although Evas does support them; so everything is as scalable as the interface designer wants it to be.
Evas can output to a variety of display technologies. In light of Microsoft’s Avalon and Apple’s Quartz users of open source desktops have been clamoring for technology which defers rendering of the GUI to the video card. Because this hardware is generally quite powerful but under-used, this could be a wonderful way to relieve the CPU of some work while actually increasing the potential for graphical effects. In a GNU/Linux operating system, use of OpenGL would be the best way to accomplish this. OpenGL support in DR17 is functional, although at the moment not recommended and intended only as a bonus for those wishing to experiment. Nonetheless, this is a very promising step towards a hardware accelerated open source desktop environment. Rasterman explains that, “OpenGL is too unstable (in general) for us to work with on a daily basis in development, and we are not in the mood to have hundreds of bug reports of “E crashed my system”, when in fact it was OpenGL”. Furthermore, Evas can be used in conjunction with Qtopia to provide a GUI for PDA-like devices.
Edje is responsible for most of E’s eye-candy. As a theme engine and part of the EFL, Edje will not only provide pretty touches, but also relieve some of the GUI hackers’ stress. Edje will create the kind of fancy user interface you see on gaudy Macromedia Flash Web sites, but will hopefully be put to more effective and less distracting use. Demonstrations using CVS code from DR17 show buttons that flash an animated shine when under your pointer, application shortcuts that pulse as you consider clicking them, and other effects. More importantly, Edje is a powerful theming engine that allows interface designers to tailor a theme to an individual’s tastes down to the layout. Thanks to Evas, again, Edje’s effects do not slow down the desktop.
Only some of the fantastic ideas made possible by the technology behind DR17 have been implemented at this point, but there is already enough to impress. When logging into an E session, you are greeted by an ‘e’-shaped cog that rotates into place and then shines as E finishes its brief loading sequence. It all looks like a nicely rendered movie, and is much more impressive than a simple idle animation. All windows, dialogs, and menus can cast a drop shadow whose intensity, height, and other properties are configurable. You can create animated wallpaper, an example of which guides the viewer through a sidescrolling landscape. One available module sends a torrent of snow falling down your screen, while another runs a fire along the bottom to melt it. Such visual effects certainly make the computing experience more enjoyable, and you can find video demonstrations of them at Rasterman’s site.
The other libraries of the EFL will combine with Evas and Edje to create a full development platform. They include libraries to facilitate image manipulation, scripting, multimedia, use of databases, and more. For a more detailed description, see the Enlightenment site.
So, when can you expect to put Enlightenment on your desktop? Though far from finished, the code is already there for your perusal. You can boot to ELive, an experimental LiveCD with both DRs 16 and 17, for a quick evaluation. If you like what you see, DR17 is available via CVS. If you’re confused by that method of installation, a good tutorial can be found at the Unofficial DR17 Documentation site. However, don’t expect a production release anytime soon. Rasterman explains, “We wont give release dates, then miss them. We don’t want to build false impressions or hope - we prefer pleasant surprises than unpleasant disappointments”. Everything we’ve seen from the team thus far warrants labeling as a “pleasant surprise” considering how small it is, “We have about three or four… “substantial” contributors. We have “seasonal” substantial developers who come and go - sometimes they do a lot of work then disappear for weeks or months. In terms of “full time job” development power, [we] maybe have about 0.5 to 1 “full time employed” developers in total (judging on what we get done compared to what 1 guy could get done if this was a 9 to 5 fulltime job).”