Hacker News new | ask | show | jobs
by epcoa 763 days ago
X11 the base protocol is wholly unsuited to the needs of modern display systems, full stop. Moreover, the base security profile is also completely outdated. Now you can always extend the protocol, and continue to use the myriad extensions over the years like XRENDER, DBE, DnD, etc, etc (or paper over deficiencies with contraptions like NX/x2go and Xpra). The question is what useful benefit is being provided by that miniscule still relevant base that justifies its existence along with the other legacy cruft and baggage.

"X11 seems to have fewer problems than the Wayland protocol" is too vague to be cogent so I will not address it. But the argument is more than just X11 vs Wayland, as Wayland isn't the only alternative display system nor is it the only answer to network transparent remote display technology either. "Wayland sucks" really is not a valid response to "X I don't really see the problems with it."

True, X11 the wire protocol isn't the most horrible thing in a world where SOAP exists, but in practice the latency story is overall bad. Yes you can pipeline with xcb and not with Xlib, so a few of the rehashed latency issues by the peanut gallery are false attribution, but the core protocol still makes many basic operations inherently synchronous and strictly ordered, many just a consequence of how the X server manages state. There are fundamental architectural issues.

1 comments

I don't think that using extensions to support new features is much of a problem - if you disagree with that then you'll have to admit that Wayland has an even bigger problem because it requires even more extensions.

X11 doesn't inherently require that many round trips. Xlib does, because Xlib is bad. But, for example, clients choose their own object IDs, so they don't need round trips to find the IDs of newly created objects. Of course it requires a few round trips to do anything, but that is also true of Wayland. The complaint was about excessive round trips, not a few.

> I don't think that using extensions to support new features is much of a problem

You are arguing issues that were not even raised. Read 1st para more carefully, especially the last sentence.

> X11 doesn't inherently require that many round trips. The complaint was about excessive round trips,

Why do NX, x2go, and xpra exist if the X11 protocol over high latency networks is such a peach? It's lovely that clients don't need to round trip for IDs, but this is like saying the Trabant is one the best cars ever made because it possesses a steering wheel (and fwiw Wayland has an even more flexible client side ID allocation). As already said, just because something isn't horrible doesn't mean it's any good either. There is so much other typical crap that has to go on that is suboptimal: property requests, chatty window management, inefficient frame synchronization, inefficient event handling. Even if certain operations don't require a lockstep roundtrip, overall chattiness also contributes to latency.

> Of course it requires a few round trips to do anything, but that is also true of Wayland

The Wayland project is not perfect (it is implementing de facto X12 and a large undertaking in a computing world much more complicated both technically and financially than 1986), but it's patently ridiculous and just misinformed to imply the core protocol doesn't address some fundamental shortcomings of X11. Meanwhile I thought it should be obvious that dispensing with the baked in network transparency of X11 was done as a conscientious choice not because a bunch of smart people just "forgot".

From https://ajaxnwnk.blogspot.com/2020/10/on-abandoning-x-server..., someone with actual skin in the game.

"So here's the thing: X works extremely well for what it is, but what it is is deeply flawed. There's no shame in that, it's 33 years old and still relevant, "... "Though the code happens to implement an unfortunate specification,"

it's funny you redhat employees parot the business decisions of your employer so adamantly.

you did not address any point on your replies besides dismissal of them and trying to sho away the interlocutor. which you managed.

but i guess it works, yall won on all fronts that was done. congratulations i guess.

Never worked for Redhat. I use Arch Linux, BTW and have for years. The rubes that willingly switched to systemd without even a drawn out flamewar.