Wayland is a perfect example of the second system effect and the sunk cost fallacy. X11 had problems, but instead of fixing them, developers threw the baby out with the bathwater, designed something completely byzantine and weird. Time was invested, so no stopping now or ever. The design of wayland introduces more problems than it solves, only by plastering over with yet another extra protocol that you have to implement in addition to wayland you might regain some lost functionality. Or paper over a design bug that will never be fixed.
Wayland is a dead horse. Made edible by sufficient fermentation and mobile towards the finish line by declaring the rot spreading over the line to be a victory. That Gnome just now gains parts of the functionality it had in X11, years later, while still being actually behind X11, while being an incompatible mess that leaves behind all other desktop environments to the detriment of the Linux ecosystem as a whole isn't actually a victory. Its the victory of the slightly-less-ruined after a devastating war.
You can't fix a protocol that simply isn't designed for how modern graphics hardware works.
Both macOS and Windows have upgraded their display stacks over the decades, but it was seamless because unlike Linux, nearly all applications dynamically link the system library which they can upgrade. Linux is late to the party here because everyone wants to make their own toolkit.
X was designed for multiple remote terminals receiving drawing commands over a network, not locally hardware accelerated graphical interfaces and functions that rely on close coordination between the hardware and display server (e.g. hardware planes, vrr, hdr).
Fixing X would require a new protocol to the point that it isn't X anymore, aka Wayland. There are arguments that not having a reference display server has led to problems though.
Wayland also doesn't even remotely resemble anything that would be fit to talk to modern graphics hardware. DMA buffers and DRM (direct rendering manager, not the digital restrictions management) are an afterthought, a separate protocol that is not even all in stable yet. Vulkan usually doesn't work. Latency with Wayland got worse and won't get better because "frames have to be perfect". Tons of unnecessary blitting and latency be damned. All while actually tearing in Wayland is as bad as in X11 here.
Fixing X would require a protocol that is mostly X, but of course incompatible because you have to rip out some protocol bugs. But Wayland isn't X minus the bugs. Wayland started as a little bit of broken bitmap-pushing and a whole lot of hot air. And even with tons of extension and auxilliary protocol development, multiplied by tons of unnecessary reimplementations in tons of compositors, it isn't even where X11 was when Wayland started. Wayland fixed nothing yet, broke a lot, fragmented the community, brought pain and misery.
> Wayland also doesn't even remotely resemble anything that would be fit to talk to modern graphics hardware. DMA buffers and DRM (direct rendering manager, not the digital restrictions management) are an afterthought
You don't use Wayland to talk to graphics hardware, you use Wayland to communicate with the display server.
The Wayland protocol lets apps negotiate an area to write it output to and how it gets written there is completely up to the application, whether it involves the GPU or not, OpenGL, Vulkan etc.
This is in contrast to X where the app use X APIs to draw textures, which are then pulled by the compositor (copy, rip latency/performance), and then sent back to the X server to display.
That is complete BS. The application doesn't talk to the graphics hardware alone and then just copy a bitmap into a Wayland buffer. You don't just magically talk to the GPU. There is this little problem called 'security', 'multiprocessing' and 'multiuser' in between.
> That is complete BS. The application doesn't talk to the graphics hardware alone and then just copy a bitmap into a Wayland buffer. You don't just magically talk to the GPU. There is this little problem called 'security', 'multiprocessing' and 'multiuser' in between.
This is literally what DRM/DRI is for...
which is not Wayland.
If you think the display server should handle applications using the GPU, then even Xorg dropped this approach.
DRM is literally the 3D acceleration driver framework for Linux. It has been around for decades and is same set of drivers that are used for any sort of accelerated graphics in X.
If you want to get rid of DRM you have to start over and rewrite all graphical drivers for Linux from scratch.
DMA is part of the basic architecture of modern computers. It is how you can do things like have fast USB devices or network devices because it allows device hardware to by-pass the CPU and write things directly to memory.
> DRM is literally the 3D acceleration driver framework for Linux. It has been around for decades and is same set of drivers that are used for any sort of accelerated graphics in X.
Yes, exactly. And Wayland ignored it for years, from the start, and only later slowly adopted it as an extension.
> DMA is part of the basic architecture of modern computers.
Yes, I know.
DMA is even older and not limited to Linux or Graphics. Back in the old VESA, SGI and Windows 3.0 times, DMA was a cool new feature (but actually old even then). When Wayland was conceived, it was boring and old. Yet Wayland didn't originally include DMA buffers, just later added it as an extension when it became obvious that they had just gotten rid of a 40 year old feature that was really really necessary for modern graphics...
> Yes, exactly. And Wayland ignored it for years, from the start, and only later slowly adopted it as an extension.
DRM is not part of Wayland, and Wayland does not use DRM. Wayland is the protocol between the display server and application, DRM is a functionality provided by the kernel to allow user space applications to use and share graphics hardware.
The display server can use DRM, as will applications wanting to use OpenGL/Vulkan, but these are not "wayland".
Did you even read the use case for this? or just Googled 'Wayland DRM' and post the first link?
When VR headsets are exposed to user space, they appear as displays and subsequently the display server will control them (which isn't useful), this is just a protocol that allows clients (like games, SteamVR) to have control transferred so they can drive the VR headset instead. This is because multiple applications are not allowed to control the same display on the Linux kernel at the same time.
It does not make DRM/DRI part of Wayland. Again, it goes back to my original comment of "you use Wayland to communicate with the display server"
IIRC GNOME originally wanted to do this over Dbus, but there was opposition.
The protocol is trivially extensible, and have had plenty of extensions that has significant altered how it behaves. Fixing X in a step wise manner wod have been perfectly doable. The problem is that the Wayland proponents didn't just want to fix the things there was agreement was broken, but also wanted to actively break things that would cause an uproar.
For literal decades they proved how malleable the protocol is, yes. Then they decided to ignore how malleable the protocol is instead of even trying to e.g. start by deprecating obsolete functionality and disabling it in future versions.
When XRender was introduced, for example, was the perfect time to deprecate server-side font-rendering. It's trivial to shim on the client side if anyone cared about the legacy functionality, and it takes a trivial amount of code to switch to using XRender instead for it instead (been there, done that, written a font renderer).
There's been plenty of opportunities to gut the legacy parts of the protocol that way, and reduce the complexity.
Grouping the main set of extensions and declaring that if the server reports a certain version number or above they
This didn't happen because redhat/ibm/microsoft took control of the project and decided they wanted to kill it. They have said this directly on social media that this is their explicit goal so it's not as if this is a conspiracy of some sort, it's just their publicly stated goal. They then deliberately stopped merging changes and left it to rot until the contributors got frustrated enough to fork it.
Now a massive gamergate-esque coordinated character assassination campaign against the creator of xlibre is ongoing even from publications that have many previous articles praising the same contributor at length. Corporate control of open source is very dangerous to the ecosystem as they also fund the "journalists" writing these articles who are willing to defend every decision they make.
Why would Microsoft want to kill X? It kept back the Linux desktop.
> Now a massive gamergate-esque coordinated character assassination campaign against the creator of xlibre is ongoing even from publications that have many previous articles praising the same contributor at length
Half the drama is the Xlibre guy involving politics
the xlibre guy said "no dei" in a fork that is separating from a company embroiled in racist discrimination lawsuits for using DEI to hurt real people.
Is that really involving politics? In a way it is, sure, but again, unlike red hat, IBM and friends, he has pledged not to discriminate against contributors on the basis of politics. Red hat and IBM openly continue to discriminate against contributors and employees on not only the basis of politics but skin color as well. They wield their CoC like a cudgel to get rid of anyone they don't like with no semblance of fair enforcement. It's a series of struggle sessions, man.
So, if you're accusing him of being political, but you're not accusing red hat of being political, you're probably not really accusing him of being political, you're probably just either woefully misinformed or outright racist.
Can you explain why you think someone who pledges not to discriminate against people for politics (while forking from a corp that does, it's not just a random comment, it's part of the reason a fork is needed) is more political than a company that actively discriminates against people for politics and also their skin color?
He invoked controversial right-wing populist slogans in the project README. Yes, that is involving politics, and doing so in a way that is guaranteed to put a lot of people off.
He can be political even in ways people finds offensive, and still have people prepared to still engage with his projects, but he can't do that within the project and expect people to ignore it. It's his choice. He appears to have chosen to double down on being controversial and driving people away from the project.
> why you think someone who pledges not to discriminate against people for politics
The "no DEI" bit is a common "slogan" from people who by many are seen to want to ignore discrimination and pretend it isn't a problem, often because they are seen as quite happy for discrimination to continue. As such, to a lot of people when someone makes a claim like that adjacent to claiming not to want to discriminate, it rings hollow, and in fact often signals to them that the person using that language is likely to either be a racist or is fine with racists.
You don't need to agree with those views. You're free to find that interpretation ridiculous or offensive. But when you try to defend this project, you ought to at least understand that this is how it gets interpreted by a lot of people, and this is why the project is mired in controversy, and will remain mired in controversy as long as the project presents itself in this way.
If his intent seriously is to genuinely not discriminate, then his choice of working is exceedingly poor and shows a lack of understanding of the politics involved.
He has now had plenty of opportunity to read reactions to it, and has still chosen to leave that language in place. To me, that is strongly negative signal - either he doesn't care about the reaction, or is being stubborn and willing to push people away, or he's fine with people seeing him that way. Either way, it's not going to do anything good for this project.
> The "no DEI" bit is a common "slogan" from people who by many are seen to want to ignore discrimination and pretend it isn't a problem, often because they are seen as quite happy for discrimination to continue. As such, to a lot of people when someone makes a claim like that adjacent to claiming not to want to discriminate, it rings hollow, and in fact often signals to them that the person using that language is likely to either be a racist or is fine with racists.
This very accurately describes the pro-dei faction, i'm not sure why you'd associate that with the anti-dei faction. You know, active lawsuits and real individual examples of people being harmed by ongoing discrimination are pretty solid evidence. In the end there's only people who are for prejudiced discrimination and people against prejudiced discrimination. I don't care which flavor you have but right now the truth is Xlibre is against it and red hat is for it. Anything else simply isn't aligned with reality.
I guess it just comes down to there being a lot of insane racist people in tech right now who view any opposition to their provable-in-the-courts racism as working against their broader ideological goals and therefore a valid target for attacks on every front. Very odd and unhealthy for open source. Hopefully these people get some of their own medicine.
It's irrelevant whether we agree on which faction the characteristics applies to. All that is relevant is that bringing this up in the README and elsewhere the way that he has is seen that way and seen as highly political and offensive by a lot of people.
He has chosen to make this into a political project that pushes away a lot of people who see his language as indicative of a dicriminatory attitudes rather than one focused on the technical merits.
That's his choice. I for one won't get involved with a project like that, and clearly that is the case for a lot of other people too.
> Now a massive gamergate-esque coordinated character assassination campaign against the creator of xlibre
Sigh. People repeating absolutely batshit things people say right back to them is not character assassination.
If you want to talk about anti-woke this Make X11 Great Again that then go for it. But you sound crazy. Okay? You sound like there's something wrong with you. So when people are off-put by this super weird and unnecessary politicization that's your problem.
It is not cancel culture. If you don't want to be accountable for the things you've said then I don't know what to tell you. That's not compatible with our current reality, so until inter-dimensional travel is invented, you're gonna be in for a rough ride.
It absolutely is character assassination in the context of what's been happening. News sites that have praised the xlibre author for countless articles are suddenly doing a 180 because the people who pay their bills are the same people running wayland and embroiled in anti discrimination lawsuits for abusing DEI to hurt people.
That you care more about "make x11 great again" more than red hat and IBM perpetrating actual cases of racist discrimination tells me a lot about you. You're either in an echo chamber and do not have all the information or are deliberately choosing to ignore it. Either way you aren't in the morally just position you think you are.
It's not about being morally just, it's about taking accountability for the things you say.
Everyone is allowed to say off-putting things. But it doesn't take a rocket scientist to deduce that making politically-charged statements might make people a bit weary of your project. That's his prerogative - but, it's not character assassination to repeat words back to people. I'm very tired of pretending it is. I find it incredibly immature when people want to play victim for being portrayed how they themselves seemingly want to be portrayed. You want to be politically charged? Bon apetite.
"repeat words back to people" isn't the problem here though anyways, it's dishonest to pretend that's what matters here. not the mass bans, censorship, one sided articles, misinformational misinterpretations, zero acknowledgement about faces, and the insane double standards where on one side you have a guy who is "political" by saying he's anti dei and welcomes everyone of various politics and identities, and on the other hand you have the DEI corporation currently embroiled in multiple lawsuits for discriminating against real people not just based on politics but their skin color. It's an insane double standard.
> one side you have a guy who is "political" by saying he's anti dei and welcomes everyone of various politics and identities
Yes, being anti-woke and pro-Trump is political. I'm sorry, it just very obviously is. It's not a double standard because it's the same standard.
Just like DEI might piss some people off, being a Trumpie might piss some people off. If you think that making anti-woke claims or MAGA references is apolitical I don't know what to tell you. Because it is, and I was under the impression everyone on Earth should be in a agreement on that.
DEI doesn't just "piss some people off", it's outright illegal discrimination and red hat's concequences are currently working their way through the court systems. This strange equivocation from things that are clearly on completely different levels is tiresome.
If you personally are one of these people who think hurting people with racial discrimination is on the same level as typing "Together we'll make X great again!" then you are likely very deep in ideological capture. Everyone regardless of political alignment who is a decent person should be able to see that one of these matters and the other does not.
You're applying a deeply partisan interpretation of DEI to imply a very specific set of policies that are not anywhere close to universally supported by proponents of DEI. That is the problem.
If you can't see why this gets interpreted as an extremist stance by a lot of people, then that is part of the problem.
As long as those statements are in the README, it's like a giant flashing red light that the project is toxic and extremely political and pushing an agenda seen as extreme right by a lot of people.
People are free to run their projects whichever way they want, but words have consequences, and we can see in this very threat how that wording is derailing this projects chances of being considered on its technical merits.
That specific set of policies is being specifically implemented by IBM/Red hat. It's not exactly a small niche company, and it is very obviously directly related to the situation and the need to fork. It's also not a partisan interpretation, it's the only objective legal interpretation. Objective truth exists despite your efforts to pretend otherwise. Yes, there are stupid ignorant people who will see the words "DEI bad" interpret it wrongly. But it doesn't make them correct.
> News sites that have praised the xlibre author for countless articles are suddenly doing a 180
Which news sites praised the xlibre author for posting anti-vaxx stuff the the linux kernel mailing list and now shun him for posting other conspiracy theories in xlibre's README?
Do you mean dbus as the other protocol? Because that's an intentional choice to separate out the protocol for drawing windows and responding to events and "desktop stuff" that's not related to being a window on the screen. They're not plastering over anything, that stuff is intentionally out of scope for Wayland.
The advantage is that anything can use the desktop stuff (cli tools) just by talking to dbus instead of having to be a wayland client despite having no windows.
Tons of stuff aren't in wayland that are actually graphics and window related. Wayland just forgot about it, then later on people realized that their design was far too primitive and simplistic.
DMA buffers, color management and pixel formats, scaling and DPI, image and video capture, tons of keyboard and mouse related things, all initially forgotten, now incompatible extras that are inconsistently implemented, frequently broken and forever in beta/staging/unsupported hell...
If you mean what Wayland literally calls "staging" it means that compositors should adopt it now, it doesn't mean pre-release. Once multiple compositors implement the protocol it can become stable.
I'm sorely tempted to take the backend of a Wayland compositor and write a new X server on top of it, with a focus on deprecating everything not actually used by modern X apps that don't have alternatives, which would be a lot.
I bet you could benefit from quite a bit of the Wayland compositor work on modernising the lower levels, and end up with something much simpler than current Xorg without ditching much compatibility.
I think XWayland is basically an X server that supports Wayland. It is based on Xorg though. But if you really think it has a bunch of features nobody uses, you could try to delete those simplify that way.
I don't want an X server that supports Wayland. I want a leaner, simpler X server without Wayland.
EDIT: To clarify, the reason I mentioned Wayland compositors is that it'd be an opportunity to pick a low-level rendering backend that has been written from scratch without the baggage of Xorg.
The "good parts" of X that modern apps actually use are comparatively simple compared to the low level bits - the protocol is trivial-ish, and you can get 90% there by implementing a small-ish subset of the protocol.
XWayland can be run in 'rootless' and 'rootful' modes.
Rootless is what it is typically ran as and allows you to integrate X11 apps into your Wayland desktop environment.
Rootful would allow you to run X11 desktop with X11 Window manager and the whole ten yards.
I don't know how well rootful mode is working because it is rarely used. I imagine it would take some work to make it fully functional. But it something that exists and I would expect that the Xorg/Wayland devs would like to see it fully fleshed out.
But that essentially gets you most of the way there.
> designed something completely byzantine and weird. Time was invested, so no stopping now or ever. [...] is a dead horse. Made edible by sufficient fermentation and mobile towards the finish line by declaring the rot spreading over the line to be a victory.
This applies perfectly well as a criticism of X11, you know.
Yes, but X11 has the excuse of being very old. Wayland was supposed to be a clean redesign, learning from the mistakes of the past. They learned from some mistakes, but they also completely ignored all of the good ideas, functionality and necessary additions that X11 and other systems like MacOS and Windows had.
They designed a system that was as simple as they could make it, trying to push the complexity that wasn't just bitmap-blitting onto others. And they isolated Wayland from all possibilities of making proper, compatible, common extensions. They tried to be the opposite of X11, because they recognized "push absolutely everything into the X11 server" as a mistake. Nobody ever used the XPrint extension. But they went too far, cut away all the useful stuff, all the necessary extensions, even cut away the "server" and just went with a library plus protocol. Now everyone has to reimplement their own server (compositor in wayland lingo), producing tons of busywork, splitting the community, ensuring incompatibility and pain. And everyone has to keep up to date on all the tons of necessary extra protocols that all the compositors have to implement all over again.
Yes, the same words do apply. But for different reasons.
Wayland is a dead horse. Made edible by sufficient fermentation and mobile towards the finish line by declaring the rot spreading over the line to be a victory. That Gnome just now gains parts of the functionality it had in X11, years later, while still being actually behind X11, while being an incompatible mess that leaves behind all other desktop environments to the detriment of the Linux ecosystem as a whole isn't actually a victory. Its the victory of the slightly-less-ruined after a devastating war.