4 ms·
> one of the (several) motivations for creating Wayland was to fix the security issues with X11 security was only a footnote in the list of arguments of why X
by DyslexicAtheist 5y ago
> one of the (several) motivations for creating Wayland was to fix the security issues with X11
security was only a footnote in the list of arguments of why X has/had to go.
X11 maintainer Daniel Stone's[0] very funny but also educational talk[1] from 2013 linux.conf.au has a lot of the gory details that make you say thank fuck and good riddance. The talk will make you feel truly grateful instead of nostalgic. Anyone who missed the 3 decade long discussion of why X is bad give it a go (it'll put good cheer in your heart I promise).
> I'm also not convinced that the X server can't be extended in other ways to fix other deficiencies.
it's not about whether anyone _can_ but if anyone should and is willing to do so is the right question (that Daniel's talk answers).
BUT X IS THE UNIX WAY! << so what is the 1 thing X does, and what is it doing well?
[0] https://www.fooishbar.org/about/ https://www.fooishbar.org/about/
[1] https://www.youtube.com/watch?v=RIctzAQOe44 https://www.youtube.com/watch?v=RIctzAQOe44
- salawat 5y ago>so what is the 1 thing X does, and what is it doing well? That... Isn't entirely fair. UNIX Philosophy is usually applied at the program level. You're talking the entire X stack, which, like it or not, started as "Network agnostic graphical computing" which was composed out of a handful of programs, and a protocol. Now. We all know it isn't that now; and I don't buy that it's all X's fault. You have what, going on 40 years worth of dead ends there, that obviously someone thought was going to be important at some point, but which also were emergent outcomes of a bunch of companies doing, among other things, pursuing their own ends without tipping their hand to everyone else trying to yoink an idea or two. If you don't think X suffered for it, I'd like to point you at the rats nest of abstractions you end up having to navigate. And no, a compositor doesn't magically make it go away. Further, how many people here discussing/developing/opining have read, understood and reasoned about the source as a whole to the point of actually getting something working? I'd wager not many. Next time I have a few months, it's on my TODO list. I have gone through the X.Org Dev docs a couple times though. Need to probably print it out and do some bookmarking to build up my haptic recall model for it.
- bitwize 5y agoThis. Anyone who is thinking of posting "but muh network transparency" or some other tired old argument needs to stfu, watch Daniel Stone's talk, and realize that literally everyone with knowledge of the Linux graphics stack feels the exact same way. X is the internal combustion engine of window systems: it's really bad and it's got to go; give or take epsilon literally 100% of domain experts have known it's got to go for decades; yet here we are still stuck with it. You WILL be running a Wayland desktop in the near future. Xorg itself is already unmaintained abandonware. The next step is deprecating and removing X support from the major toolkits. Beyond that, who knows. Probably Xwayland itself will be deprecated and removed too. Best to suck it up, burn your X config to the ground, and start afresh with Wayland. If it's janky, submit bug reports or PRs. Just rip the band-aid off already, because nobody wants to hear your hemming and hawing when the axe finally comes for X.
- mahkoh 5y agoThe linked talk is full of half truths and misinformation by omission and already was when I first watched it in 2013. Most significantly the speaker conflates the X protocol and Xlib which nobody was using to write new software even back then. He says that gedit performs lots of blocking calls during startup. That's a problem of Xlib. With XCB you can perform all of these calls in parallel. He says that referring to an object that doesn't exist causes your program to abort by default. That's a problem of Xlib. With XCB, this simply returns an error that you can handle like you would do with any other API. He gets called out for this by one of the attendees but brushes it away with "but it's really hard to do". It's actually not. I'm not going to go over the whole video since it was primarily made for entertainment and therefore any point can be defended by "he was exaggerating for comedic effect". Invoking this video is akin to invoking late night tv hosts when talking about politics. And then of course he also has some valid points which are unfortunately diminished because the uninformed watcher will not be able to distinguish them for the invalid points.
- p_l 5y agoThere's also the little discussed part that XFree86/X.Org was the lowest common denominator implementation, and never really put resources into fixing many issues, while creating various problematic workarounds over time. And lo, toolkits ended up pushing for more and more "just let me blit"... Meanwhile Wayland's design results in people writing hotkeys as root-running programs that hijack input devices at low level, because the whole system is incapable of providing such feature in pluggable way...
- badsectoracula 5y ago> BUT X IS THE UNIX WAY! << so what is the 1 thing X does, and what is it doing well? Provide an X server :-P. The Unix Philosophy not only isn't really a philosophy but also isn't meant to be a dogma - it is meant to be a guideline that, when it makes sense, can be bent. For example not even the original Unix kernel followed the Unix philosophy because sometimes you need some programs to do more than one things - often in order to enable other programs focus on their "do one thing well" aspect (e.g. window managers).