Enlightenment Mysteriously Drops Wayland Support
jones_supa writes: According to Enlightenment 0.19.12's release notes, it's an important release that fixes over 40 issues, which is quite something, considering that previous versions had only a few improvements, with most of them being minor. However, the big news is that 0.19.12 drops support for the Wayland display server. Unfortunately, the Enlightenment developers have omitted to mention why they decided to remove any form of support for Wayland from this release, and if it will return in upcoming releases of the software.
In general, they don't seem to be particularly good software engineers: https://what.thedailywtf.com/t...
After about 1 minute of investigation, I figured it out.
https://www.mail-archive.com/git@lists.enlightenment.org/msg05157.html
The code they had was old and unmaintained and didn't work so they removed it.
This is just a temporary change just for E19.... They have better Wayland support in E20. Explained @ http://www.phoronix.com/scan.php?page=news_item&px=Enlightenment-Wayland-Temp
I suspect the sentiment is that X11 is better because of the network transparency angle. Of course the underpinnings of how X11 does it are actually decrepit and inefficient and compare poorly to other strategies that leverage different entry points that Wayland actually preserves. Injection into the compositing and WM provides a simpler and nowadays better performing strategy than X11 primitives. It meant something when the X11 primitives were actually used in the typical X applications with some sort of relevance, but now pretty much applications running over remote X are pretty much dumping bitmap data rather than any useful shorthand for complex UI concepts. Meanwhile intejecting the payload via compositor and the context via WM avoids a lot of the complexity that X contends with and allows a compositor freedom in picking good client-server protocol/compression.
XML is like violence. If it doesn't solve the problem, use more.
See here: https://phab.enlightenment.org/phame/live/3/post/e20_alpha_release/
-=/\- Jizzbug -/\=-
https://git.enlightenment.org/core/enlightenment.git/commit/?h=enlightenment-0.19&id=d9501096bfaf626699dd6a61b49be2fb96ee6713
author Mike Blumenkrantz 2015-09-26 02:53:16 (GMT)
committer Mike Blumenkrantz 2015-09-26 02:53:16 (GMT)
commit d9501096bfaf626699dd6a61b49be2fb96ee6713 (patch)
tree 729fa82c90fd58c539391575ac2534101781b8c6
parent map/unmap x11 client windows when toggling iconic state (diff)
completely remove all wayland support from build system
this is unmaintained and out of date. the protocol versions are old,
and it's extremely unlikely that any client will work and be in a
usable state given the development progress since E19 was originally
released.
use E20+ for wayland support.
fix https://phab.enlightenment.org/T2746
Well, it's funny how something with "the underpinnings of how X11 does it are actually decrepit and inefficient and compare poorly to other strategies that leverage different entry points that Wayland actually preserves" still manages to solve the problem, and Wayland doesn't.
X11 isn't perfect. Nobody's ever argued that. It's just nobody's really asking for a replacement, and if they were, they wouldn't be asking for Wayland. X11 is an extraordinary piece of technology, it takes some gal to claim everyone should just throw it out and replace it with a ground up rewrite that adds no new features and doesn't support the major features X11 is famous and loved for.
It's not like init/SystemD, where init really was a bug ridden piece of garbage that's needed replacing now since before Linux itself came on the scene, and SystemD implements everything init did but does it right.
You are not alone. This is not normal. None of this is normal.
Those knowledgeable in the horrible language of C...
That's where I stopped taking the article you linked seriously.
C isn't a horrible programming language!
Its a beautiful practical joke.
In the free world the media isn't government run; the government is media run.
No one asked Henry Ford to make cars, either.
And you know what? No one asked the Stanley Motor Carriage Company to make cars either.
Simply being new doesn't mean it's better. The trouble with Wayland, or rather why I'm deeply suspicious of it is that some of the claims from the devs about waykand and X11---and bear in mind they're X11 devs too---are flat out wrong at best and deeply deveptive at worst. Why the need for a FUD attack? If Wayland is better it ought to win on merit, not FUD.
Tahe for example this article: http://www.phoronix.com/scan.p...
Going through one at a time.
1. Extensions are what X11 calls API updates. Wayland will get API updates too, so this is not an advantage of wayland beyond version 1.0.
1. A, B, C: Almost all extension version updates add new API calls and keep the old ones. Sending Foo 2.0 calls to Foo 2.2 works just fine. Not to say that versioning isn't a problem, but then fixing the API is apparently bad for X but nothing else.
2. Well core X11 is super simple and a tiny setup of Xinput 2. This leaves essentially 2 input systems left of any complexity, 2.2 and 2.0, and as far as I can tell 2.0 isn't actually separate from 2.2. So, basically X has one major input system which actually looks kinda similar to the Wayland one.
3. That's a misunderstanding of "mechanism not policy"
4. So Xorg and Xfree86 got a bit crazy and then got refactored. Apparently historical cleanups are a bad thing? This happens in any project of any age.
5. Apparently it's impossible to add a new API call for synchronisation because from (1) that X11 isn't allowed api updates unlike every other system.
6. Yeah OK, fonts are not great.
7A A badly designed chunk of Xorg is apparently a problem with X11 now. Oh and it's been fixed so it's not a problem at all. But apparently every misstep in one implementation of an X server fixed 5 years ago is a reson it's bad now.
7B That was pure fud in 2013 when it was written. Xrandr and monitor hotplugging has worked flawlessly for years.
7C Huh? There's been xrandr front ends for years which remember certain layouts. Hell, Arandr, the nice GUI point and click one in all the repos remembers layouts just fine.
7D That smells like bullshit to me. Unless the second monitor is a separate screen (X11 term for something little used now) they it'd be impossible for one to have compositing and one not. I've not heard of anyone using screens in years.
8 Yeah and real toolkits are poorer for it. The window tree is a really nice thing when you have latency. Because with tree'd systems the server remembers which sub-sub-sub window a mouse click went to, and you could ignore the absolute position. With a treeless system all you have to go on is the position.
With latency, if you click, then the display updates then it processes the click, your click goes not where you want, but where the GUI is now. This I find happens more often than I'd like in web "apps". With tree based systems, sure the widget moved, but the assignment of the click to the window was latency free, so your click ends up correctly on the now-moved widged.
IOW tree based systems are superior. Many toolkits abandoned it for compatibility with non tree based systems. What we have now is actually fundementally worse in high latency environments.
9 Yes this is finally a genuine, no-nuance flaw.
10 C this is not correct if you have a compositing window manager, because it can do whatever it likes with the final display.
10 D their solution is to make the compositor do all this shit in Wayland. That could be done equally well in X. Sure, the current convention has a small flaw, but X11 now supports the Wayland way too.
10 E just use the features of the compositing window manager. It intercepts all key presses and windows anyway.
So without getting into the merits or demerits of Wayland, it's disappointing to see the devs engaging in a colossal FUDstorm.
SJW n. One who posts facts.
Okay, sure.
It doesn't slow down, but they also don't help. That's the point I was making, that the lines, text, and pattern primitives that X was able to simply describe aren't leveraged in modern UI.
Yes, this is why XRENDER was introduced 15 years ago.
Now I can't speak to the question of what Wayland fixes in exchange for getting to ignore having X11 as part of the core,
Well they don't have to deal with the old code, I can understand this. But it breaks compatibility on the protocol level, this is really stupid IMHO.
and whether it's worth it. I can say that even if it Xorg, it's time for most folks to move on to strategies like Xpra that preserve the awesome facets of seamless remote applications, perform better, and are not sensitive to things like network disconnects trashing the ability for the application to keep running.
Xpra is nice if you have a slow connection, but I use X applications just fine over the network every single day and it works just fine. Being able to disconnect would be nice though, and I do not understand why toolkits still do not support this. Well, the reason is that rewriting everything from scratch all the time is apparently more fun...
This is just nonsense. Your applications may be overly pixmap based (certain GTK+ engines started that mess when people prioritized "themes" over good design), but it is foolish to assume everybody else uses the same limited set of software. Remember, most of the software in the world is smaller private stuff used internally by businesses, academia, etc. Simply asserting that nobody uses various features doesn't make it true.
Wayland advocates really need to learn one of the most important lessons of software design, which was best explained by Joel Spolsky's essay "Things You Should Never Do, Part I".
Yes, there are rough areas in X11 that really need to be fixed. That's true for almost any software project of sufficient size. Fortunately, the extension system in X11 allows a lot of those problems to be solved one at a time, while retaining backwards compatibility. The people that believe the very existence of backwards must somehow be a bottleneck are not creating the next version of X. Instead, they are creating something new. This is fine, but by their own definition, it is not a replacement for X11, and if Wayland tries to be such a replacement, it will inevitably grow to a similar level of "messiness" as numerous fixes, workarounds, and minor features are re-invented.
The problem with Wayland (and many other modern "replacement" projects, with systemd as the canonical example) is not technical in nature, but the hubris that so easily throws out so many man-years of effort.
Ce n'est pas une signature automatique.
So shared libraries don't exist? That hasn't been a problem in a long time on BSD or OpenRC systems. Seriously, it's not hard to factor out code into a library. If you're only considering Debian, you have to remember that they are always behind (sometimes FAR behind) the update cycle.
Again, only if you were a moron and reinvented the wheel each script instead of using a common library.
That said, the ability to do things different is very important when you need to support something unusual.
No, there is not requirement to use PID files. That is simply a common way to implement a daemon. With sysvinit and sysvrc (or OpenRc), this kind of thing is an implementation detail that is out of scope.
Again, this is by design, as it left logging *unspecified*. If you don't like syslog, nothing was preventing you from using something else. (also, "useful" is subjective)
Patently incorrect, as I have used syslog to inspect startup crashes many times over the last *twenty years* I've been using UNIX. Maybe this has been a problem for other people, but I've never seen it. If your syslog is configured badly, that's an entirely separate problem.
While I can't speak for all distributions (you seem to have had some history with poorly-configured environments), there is nothing wrong with using sleep based polling. The only reliable way to detect if a prerequisite service is ready is by directly polling the service. (e..g issue an HTTP GET to a web server) The timeout is to allow startup to proceed in case of an error, (so you don't end up bricked, unable to use your computer)
There is a reason most distributions stopped using super-servers like xinetd: on-demand startup isn't that useful. Start your service at boot. You can defer expensive tasks until the first requests, if you want, which is when you would pay that cost anyway in an "on demand" launch. Listen to on the port, block on accept(2) or select(2) or similar, and let the OS page you out to the swap partition.
"On demand" isn't necessary, because the kernel already provides that feature. Adding a redundant implementation simply increases complexity and adds more opportunity for bugs. Super-servers make it even worse, as they add the risk that a problem in on service could take down all the services provided by the super-server.
Ok, now you're just trolling.
Want to have some fun? On a systemd box, pretend you just installed some updates, and you need to restart a few daemons so they run the updated versions. Try restarting dbus (system, not user). (You might want to make sure any open files are saved first)
Also, you might want to actually read about UNIX before you make these kinds of accusations. Reading taoup is a good place to start.
Ce n'est pas une signature automatique.
.. aaand I just experienced another ugly wart of X: the dual clipboard madness (middle-click vs. Ctrl+C / Ctrl+V). The youtube link was incorrect, and some other link was present in the clipboard. https://www.youtube.com/watch?... is the right one.
This sig does not contain any SCO code.
There is one BIG flaw in X11 that wasn't mentioned: by design, every program that hooks into X also gets access to ALL input X gets. Meaning by design you cannot prevent any keyloggers from logging your sudo password. Wayland only allows access to all input to the compositor itself, and with a sandbox it can prevent any other program from keylogging.
Indeed, though entertainingly this isn't part of the X protocol, but part of the Xinput extension brought to you by the folks now working on Wayland. However, I don't see any reason that the compositor model of X11 can't be updated to intercept all events: it already has to intercept all events anyway because it needs to be able to arbitrarily mangle them before feeding them into the various captured windows.
So this flaw could be fixed for compositing window managers with a small update to the API. Given the architecture of X, the 10 remaining people like me using non compositing window managers could do it with an external compositor. However, one of the main bonkers criticism of X is that the API sometimes receives updates. So make of that what you will.
SJW n. One who posts facts.