Fixing a 20-year-old bug in Enlightenment E16 (iczelia.net)
243 points by snoofydude 15 hours ago
somat 5 hours ago
"Sadly, the hang was deterministic"
No, no, you rejoice, a deterministic bug is the best sort of bug. because now you have a test case and a solid method to know when it is fixed. The sad bugs are the ones you can't find a test case for.
I also got a bittersweet chuckle out of how the author considers it a lightweight environment, I mean, they are not wrong, but think of how far we have fallen when e, the ultimate bling desktop environment is considered lightweight.
tangus 3 hours ago
I guess they wanted to keep working on their slides (at least for the moment) and not be forced to go debugging. Sadly, the hang was deterministic, so they didn't have another option.
breton 5 hours ago
> because now you have a test case and a solid method to know when it is fixed.
And where is fun in that? Where are now the nights in trying to reproduce it? Where are the doubts in the moments of rest "have i really fixed it, or is it still there"? Boring.
azalemeth 5 hours ago
The author is 21 (which I find incredibly impressive) and is using a DE that was written when they were a baby.
It _is_ lightweight in that context. I also love the fact that XaoS knowledge is useful in the context of "real software" programming!
jasomill an hour ago
As someone who remembers E making the rounds among the BSD and Linux users in my college dorm when it first came out, there's no way he's only 21 if he was a baby in the late '90s.
Ixander 11 minutes ago
simonask 9 minutes ago
kdhaskjdhadjk 4 hours ago
But it is light weight. Fabulously so. The "bling" just comes from the ability to write theme files to customize the appearance of window decorations and menus. IIRC it was a fork of fvwm from way back in the day, and similarities can still be seen in the config files. I use it on everything including old 32-bit systems, and it's snappy and responsive everywhere.
kelnos 2 hours ago
GP means that 25 years ago, it was definitely not lightweight compared to many of the alternatives (GNOME and KDE being notable exceptions; I wouldn't have called them "light" back then either). Toady it's certainly light.
BeetleB 3 hours ago
Back in the early 2000's, I used Enlightenment. I wouldn't have called it "lightweight", but it definitely was not heavy. It ran smoothly on my not-so-great-hardware. And definitely lighter than DEs like KDE/Gnome.
I stopped using it for other WMs. I remember how it was taking forever to release E17 and totally forgot about it. E16 was definitely awesome in those days.
wvh 11 hours ago
This is a flash from an almost forgotten past. I'm happy people are still using and even improving Enlightenment.
I used to run Enlightenment in the late nineties and early 2000s, first by itself, then with Gnome bar. At some point Gnome turned hostile on power users and I switched to KDE, leaving also Enlightenment behind, as well as any extensive customization of my desktop. At that time, the ubiquitous themes.org also got in disarray, and I feel it was a bit an end of an era of design and theming experiments on the early Linux (and *BSD) desktop.
pino83 9 hours ago
Wasn't Enlightenment something that just looked good in screenshots (compared to Win XP or even earlier ones)? I love desktop environments that look nice, I love effects and animations, if done well, and I love to be able to customize things (KDE/Plasma is doing a really good job in that regard imho). But Enlighenment? Whenever some screenshots excited me, I gave it another try for some hours, and then went back to KDE or Gnome.
It's what you call "ricing" today? You need it for some nice screenshots (or screencasts nowadays), you post them, and then you log off and use something else (i.e. the smartphone, the gaming console, Windows, KDE/Gnome, ...) because that just actually works.
prmoustache 6 hours ago
I used E17 for a while and the killer feature for me were independent virtual desktops accross monitors, meaning switching virtual desktop would only switch it on the monitor your focus was on.
I ultimately switched back to KDE despite that ergonomic advantage because it crashed too often and then to Gnome because KDE also crashed too often. Gnome has been rock solid ever since.
TD-Linux 6 hours ago
pino83 6 hours ago
wink 6 hours ago
People have different tastes and opinions, and I don't remember how GNOME looked in 1998, but KDE 1? 2? wasn't so great imho (saying that as a huge fan of plasma, and intermittent KDE user for the last 25y).
I used enlightenment for a bit and was very happy with it - just like some things on a desktop at home don't matter, but do on a laptop. I've more than once mangled i3 and gnome or xfce or kde together to have the "desktop environment" things like wifi and power management and so on.. whereas in the 90s on a desktop I cared about neither of these things.
And while this was all very much a long time ago, I don't see how enlightenment would have changed - it's just a bit barebones compared to a DE, just like i3.
pino83 5 hours ago
ryandrake 4 hours ago
> Wasn't Enlightenment something that just looked good in screenshots
Yea, this was my memory of it, too. I remember installing it, and making a theme that looked all "elite" and cool. I added an anime character desktop background, as was required at the time. Took a few screenshots, basked in how cool I was, and then just switched back to whatever I was using before (I think Gnome).
jasomill an hour ago
kdhaskjdhadjk 3 hours ago
slater 3 hours ago
mghackerlady 6 hours ago
I actually use my riced setups. Part of a good rice (at least for me) is it being ergonomic and usable. It should, of course, look good
mackman 9 hours ago
E13 was a great, simple, good looking WM I used for years. Eventually moved to Fluxbox then back to macOS when it went Unixy.
pino83 8 hours ago
antisol 8 hours ago
Nah, e is great! It works just fine - it's better at a lot of things because it's fairly low-spec and doesn't require a terabyte of ram and 47 quintillion floating point operations just to open a menu. And if you're using a current version they're responsive to bug reports and whatnot. It does most everything you could want. And it looks damn fine while it's doing it.
Someone showed me the kitty terminal emulator a while ago. They made a big deal about how it can display images! Right there in the terminal! Wow! I was compelled to point out that terminology has had that (and video playback, too) for a LONG time.
One of my favourite features of enlightenment is that it has this thing from back in the day called "configurability", where behaviours tend to be optional and you can decide for yourself whether you want them enabled or not. I know it's not fashionable anymore and maybe not for everyone but personally I think it's a better approach than the gnome-style "You'll take what we give you and be happy about it" approach which is in vogue these days.
pino83 7 hours ago
pino83 7 hours ago
avereveard 10 hours ago
same, especially compiz era after good drivers and accelerated compositing became ubiquitous was wild
exitb 10 hours ago
It's such an underrated advantage of open source operating systems that if you like some bit of software, you'll likely be able to use it for decades to come. Even a core bit of software like a window manager. I grew to hate how you need to conform to someone's whim at Apple or Microsoft, or else you get locked out of new features.
PunchyHamster 9 hours ago
Well, unless you decided to use GNOME, then you get rugpulled by a bunch of people that think they know better than user what user wants and actively ignore any feedback
cdmckay 8 hours ago
You can always fork it if you don’t like the choices they make
That’s the point the OP is trying to make about the advantage of open source
bandrami 8 hours ago
ldng 8 hours ago
badsectoracula 4 hours ago
There are forks though. The only version i don't think that has a fork is GNOME 1 but... the code is out there (and there is an actively maintained GTK1-based toolkit that was posted here not too long ago, though you may need to make some modifications to the GNOME 1 code to work with it as IIRC it isn't backwards compatible).
People made CDE to work on modern systems and IIRC CDE wasn't even compatible with Linux when the code was first released.
gtk40 7 hours ago
But you can also use MATE still to this day, or even Cinnamon.
antisol 8 hours ago
Hey! Someone sneaked into my brain and wrote down my exact comment!
pvtmert 6 hours ago
I liked the author's pragmatic take on the stability. Indeed that running bleeding edge now has implications to greater attack surface as the supply-chain attacks getting more and more common.
A nice and sincere excerpt from the recent past...
> Back when the XZ backdoor was introduced, I was scrolling through news on my Debian Sid laptop with some code compiling in the background. I learned of a backdoor in XZ Utils, potentially introduced by a state actor in version v5.6.0. Thinking back to the fact that I do, indeed, run a bleeding edge distro and update often, I immediately ran apt list --upgradable | grep xz-utils. Sure enough, the stains on my laptop from the coffee I spat out through the nose2 were pretty tough to deal with.
kdhaskjdhadjk 4 hours ago
To put a finer point on it: running bleeding edge does not just now have implications of a greater attack surface, it always has had such implications.
It's just that a tiny fragment of people are suddenly becoming aware of this fact (the masses always remain clueless), whereas others have known it for some time. These people are referred to as "crazy tinfoil hat nutters."
pixl97 2 hours ago
Eh, there are two competing drives occurring here.
Back in the day before security was the biggest driver of updating software most people stayed a version or two back to ensure they weren't getting the last corruption bug of the day or whatever other insect was coded in.
But modern internet connected systems have pushed customers into more of an issue. It switched from, stay a version behind to see what bugs are there to, if you don't update now you're going to get hacked.
So this is the situation at hand.
If you don't update you're going to get hacked.
If you update you're going to get hacked.
ZoomZoomZoom 11 hours ago
> Sadly, the hang was deterministic:
Huh, someone's in it for the thrill of the hunt, I see...
ho_schi 10 hours ago
I wonder about the sadly.
Luckily the hang was deterministic.
kelnos 2 hours ago
I think the author meant that she was just trying to work on her slides, and was hoping that by quitting/restarting, the bug would temporarily go away, so she could continue working on what she actually wanted to work on, and not go down a debugging rabbit hole.
Certainly the determinism made it easier to fix, but the determinism also meant that she had to stop what she was doing and fix it right now, which is... "sadly".
nickcw 10 hours ago
Sadly as in "Oh dear, I better start debugging this" I think.
zeruch 13 hours ago
The amount of abuse I hurled at Carsten Haitzler (Raster) during our time at VA Linux (where he worked on E as well as other stuff) was a complete sitcom unto itself; at one point he debated making a "zeruch insult generator" just to streamline the verbal abuse process.
I loved using the environment but would regularly harangue him for being glib on resource usage. It really was otherwise very ahead of the curve.
robinsonb5 11 hours ago
It's a delicious irony that E is now a super-lightweight system compared with the mainstream environments that plauge our RAM chips today.
angled 13 hours ago
I still remember how cool I thought raster was with his vaio and everything. This was the future! Transparent eterms and tasteful backgrounds everywhere.
sneak 10 hours ago
it’s not a valid enlightenment screenshot without a digital blasphemy wallpaper.
(digital blasphemy is still around and still selling art.)
jimjimjim 9 hours ago
dolmen 11 hours ago
I remember fondly of a raster talk at FOSDEM about 20 years ago: playing videos inside a terminal. Amazing!
kelnos an hour ago
dspillett 11 hours ago
> tasteful backgrounds everywhere.
Certainly not everywhere. I definitely remember plenty of tasteless ones, some deliberately so and others just cases of other people's taste differing from mine!
angled 9 hours ago
db48x 2 hours ago
I really enjoy a good bug report like this. More people should write up their fixes and publish them!
But the really weird thing is that I could basically copy and paste that code into an open–source game that I occasionally work on. I have an open bug or two about game items with long names that cause the UI to look weird where ellipsization is the obvious solution. With only a few trivial tweaks Enlightenment’s code would just work. It’s almost like we should have a library for that sort of thing.
unwind 13 hours ago
Fun post! Very happy to see a 20-something year old find and fix bugs in an X11 wm from before they were born. Gives me hope.
There was some kind of editing snafu though, the loop header in the big (first) code block reads:
for (i = 0; i < 10; i++, nuke_count++)
But the references to it in the text, and updated versions in the patches, show it as just for (;;)
That was confusing me a bit.isaacfrond 13 hours ago
In the article just before that code:
The loop is of paticular interest to us. Abridged:
pjmlp 13 hours ago
Oh, people are still using Enlightenment.
My last time I used it was still in the 1990's, before I settled into Afterstep and soon afterwards Windowmaker.
In what concerns my use of GNU/Linux, it was CDE on others.
Apparently nothing big came out of Enlightenment and Tizen.
nobleach 9 hours ago
I still install it and play with it for a bit every other year. I really appreciate that it's held true to its own core. Yes it works with Wayland now, but it's still using its e-foundation libraries. I still wish I had screenshots of my desktop from 1998/1999. Downloading cool software from Freshmeat, hitting up Slashdot (news for nerds... stuff that matters) to see what was going on. Kinda wish I was into IRC back then but I was more of an ICQ->AIM chatter. It's an era I wish we could have back.
mhd 11 hours ago
Enlightenment always had a pretty weird value proposition. In the very beginning, there was "fvwm-xpm" and early "E" prototypes. They were graphically crazy with a heavy focus on shaped Windows. There's still nothing quite like that weird steampunk/Brazil-ish theme they had. Probably for a reason.
Then they went both visually rather tame and scope-creepy (own graphical libraries etc.). At the beginning I was hoping that we'd get some kind of Amiga-influenced design sensibilities on X (basically a more "artsy" MUI), but that never manifested.
pjmlp 10 hours ago
Yeah, I got introduced to it via some friends that were former Amiga users.
vidarh 8 hours ago
jandrese 2 hours ago
I still use Windowmaker in places like VNC desktops where GDM gets grumpy and breaks a lot of the functionality. It also works much better over X displays on high latency networks like the Internet, where it is using the X drawing primitives as intended instead of constantly doing client side rendering and blitting the results over.
jimbosis 8 hours ago
AV Linux uses Enlightenment 0.27.1. The creator of that distribution also offers a version based on Moksha 0.4.2, the E17 fork mentioned elsewhere in this thread.
Latest Version Release Announcement:
https://www.bandshed.net/2026/03/01/av-linux-and-mx-moksha-2...
A few more details from and older release announcement:
"Both ISO’s are built on an MX Linux 25/Debian Trixie base with Liquorix kernels."
https://www.bandshed.net/2025/11/27/av-linux-and-mx-moksha-2...
UncleSlacky 9 hours ago
Moksha (a fork of e17) is the main desktop for Bodhi Linux, an unofficial Ubuntu-based distro:
pjc50 10 hours ago
I was also a huge fan of WindowMaker. Simple, effective, stylish without getting in the way. Also allowed me to have a vertical taskbar, which I stuck with even on Windows until Win11 has taken that from me - because Mac is the arbiter of taste and everyone must copy it.
shakow 9 hours ago
MacOS definitely lets you put the dock wherever you prefer.
mghackerlady 6 hours ago
pjmlp 10 hours ago
Win 11 has some niceties, however many of those could have been provided on Windows 10 as well, for example the security stuff like VBS and secured kernel were already available, even if disabled by default.
fragmede 10 hours ago
Oh man, that takes me back.
shell=C:\LiteStep\litestep.exe
sgt 11 hours ago
Funny, I was also one of those people who switched from E to WindowMaker. At the time I had no idea it resembled NeXTStep, but it was great.
After that I changed to KDE 3 which was a major milestone at the time. I think GNOME at the time was technically superior though.
Then shortly after I realized that desktop on Linux wasn't really going anywhere, so I switched to macOS (OS X at the time).
badsectoracula 3 hours ago
> At the time I had no idea it resembled NeXTStep, but it was great.
I used (and still use) Window Maker for almost a decade before learning what NeXTSTEP actually was (i heard about the name occasionally but never looked into it), then for several years before even trying one. I remember having a heavy sense of uncanny valley because the thing in front of me looked almost exactly like what i was using for years but it behaved in very odd ways (and lacked most of the window management features i came to expect) :-P. It made me realize what people who were used to Mac OS X felt when they tried the various Aqua GNOME/KDE themes that were popular on Linux desktops some years ago.
sgt 2 hours ago
pjmlp 10 hours ago
Kind of similar story, eventually I ended up on GNOME, as I favoured Gtkmm over how KDE was at the time, but then GNOME 3.0 happened, and my travel netbook got migrated into Unity, and when it went away, XFCE.
Due to similar realisation, my main working devices became Window 7 with Virtual Box/VMWare Worstation, nowadays WSL.
prmoustache 11 hours ago
Funnily, E16 was considered a rather eye candy but heavy WM/environment back in the i486 / early pentium days, now it is considered lightweight!
jhbadger 11 hours ago
And detractors of Emacs used to claim that it stood for "Eight Megabytes And Constant Swapping" meaning that even on a then-huge machine with eight megabytes of RAM Emacs would use up all the memory. Now it is a tiny program compared to things like Visual Studio Code.
kkaske 6 hours ago
Things change. The tab in Brave that I'm using to view this comment section is coming in at 95MBs!
ChrisGreenHeur 11 hours ago
one of the more interesting things to think about is the big push to rendering all window manager stuff through a gpu, because we were sure we needed drop shadows and geometry transforms for windows....
Now, what we actually do in a window manager could easily be done in software in realtime, just farmed out to some cpu core.
pjc50 10 hours ago
> because we were sure we needed drop shadows and geometry transforms for windows
As screens get larger, the amount of pixels you need to push to composite windows gets larger-squared. It makes sense to move the pixel pushing away from the CPU and more importantly away from CPU-RAM and on to a separate RAM bus.
The "single buffer with invalidation" model of Win16 (I cannot remember how it works in X) saves memory at the cost of more redraws. The composition model allows you to do things like drag window A over window B without forcing a repaint of window B every frame.
It also allows for better process isolation. I think in both Win16 and X11 you could just get a handle to the "root window" and draw wherever you wanted?
badsectoracula 4 hours ago
ChrisGreenHeur 10 hours ago
BozeWolf 13 hours ago
I am still waiting for e17. I stuck to e16 for a long time until ubuntu got a thing which was much more convenient than gentoo.
I had the classic setup with the apache helicopter on the background and virtual desktops with preview. On MacOS however.
To this day i am still using a single screen, with virtual desktops ordered the same way.
UncleSlacky 9 hours ago
They're up to e27 now, it even supports Wayland.
kdhaskjdhadjk 3 hours ago
The dbus requirement is a hard pass from me.
arwineap 3 hours ago
Greetings from e27!
wezardine 41 minutes ago
very nostalgic :D thanks for a trip back down memory lane!
mrweasel 13 hours ago
> It’s themable, hackable, lightweight
Certainly wasn't considered lightweight back then :-)
I never saw the appeal of Enlightenment, but a very nice write-up regardless.
drooopy 13 hours ago
No kidding. Last time I used Enlightenment back in the late 90s, both KDE 1.x and GNOME 1.x were orders of magnitude more usable on my lowly Pentium MMX 166 with 16 MB of RAM.
sqbic 13 hours ago
I love Enlightenment still, even the new ones. The most important component of it to me is Terminology. What a gorgeous and functional Terminal emulator.
manbash 7 hours ago
I always appreciated how you can simply attach to the enlightenment process at any point, and also upon a crash.
The documentation is there: https://www.enlightenment.org/contrib/enlightenment-debug
madaxe_again 14 hours ago
E16 was the hook that caught me and landed me, flopping and writhing, on the decks of Linux - I saw a black and white printout of someone’s desktop, and immediately set about figuring out how to get this unbelievable coolness working on my laptop. By the time I was done I was muttering modelines in my sleep, and had already committed my first patches to a kernel module.
I wonder how many other teenagers got catfished into becoming software devs and sysadmins by the siren song of rasterman.
pjc50 10 hours ago
Modelines are one of those skills that I thought would get obsoleted, but in fact taught me the mechanics of video timing that I was able to use in unrelated contexts. Such as years later where I was asked to fix a driver for a point of sale system which had a 1024x200 (or thereabouts, extremely wide nonstandard ratio) secondary screen.
malux85 14 hours ago
Me too! Looking at my old windows 98 machine and then at slackware Linux with enlightenment lured me to Linux and began a lifelong journey!
torh 14 hours ago
Same for me. Slackware (I guess 4.0) and E16 was my first proper Linux installation. Learned so much during that time.
oldge 13 hours ago
madaxe_again 13 hours ago
SuSE 5.1 for me, as it was what I could easily get the CD-ROMs for, as bandwidth was just a single 64k ISDN at school.
malux85 9 hours ago
cheschire 10 hours ago
https://www.enlightenment.org/ Seems down at the moment.
Coincidence, or collateral hug?
rasterman 7 hours ago
that was literally me... i stopped it because... well.. short version - chasing bug in efl that blurted out an invalid object stdout errors when http requests for the forecasts module failed - the module relies on a caching proxy service on e.org to get weather forecasts. i simulated it a bit brute-force by temporarily taking down apache :) it's back and bug is fixed in git. it's silent now not complaining about invalid objects.
arwineap 3 hours ago
Thank you for all your work on e, still my daily driver after all these years
jojobas 9 hours ago
It was a load-bearing bug you reckon?
mghackerlady 6 hours ago
I really wish there was more EFL software :(
chriswarbo 10 hours ago
Whenever I try something else, I always seem to keep going back to E16. Back in the day, it worked well in Gnome 2.x; these days I tend to use it in XFCE, but it feels a bit less integrated.
_3u10 14 hours ago
I used that same theme back in 2003. Makes me want to reinstall E16
sandos 10 hours ago
"Re-attaching repeatedly showed the program was not deadlocked."
Why re-attaching and not just resume then ctrl+c ? Is this some kind of clever hack I dont know about.
rasterman 7 hours ago
when it's your window manager you are using right now... you tend to debug differently :) yes yes - xephyr and what not. i know...
kkaske 6 hours ago
These are exactly the kinds of posts I love. It seems technical posts like this are less and less on the internet. Is this a result of "vibe coding"? We don't feel like writing up posts like this when a machine did the work? Maybe it's a result of fewer and fewer people blogging. Maybe I'm just old and yelling about things changing.
hartror 7 hours ago
Wow I haven't used enlightenment since the 90s! So cool!
porknbeans00 9 hours ago
Still the best window manager ever made. Nothing has beaten it to date.
kogasa240p 5 hours ago
Oh wow didn't expect someone my age to try out Enlightenment. Every so often I try to use Enlightenment (either e16/moksha or the latest version) but I always leave because it requires Connman and setting it up properly is a pain imo. Might try it again because of this blogpost.
shevy-java 11 hours ago
Enlightenment is pretty cool. Some years ago though I realised that I just want the computer to be a fast and simple workstation at all times. That's when I kind of stopped using KDE (and GNOME3 but I did not use it to begin with, it always felt like an opinionated smartphone-UI pushed onto the desktop).
I think only few people use Enlightenment, so the resources to fix bugs must also be small.
lateralux 6 hours ago
e16 was truly unique... honestly the best Linux desktop ever made !
smm11 5 hours ago
Good thread.
I've been going backwards to Afterstep and Window Maker theming. Maybe I'll get back to E in a few years.