KDE's Nate Graham On X11 Being A Bad Platform & The Wayland Future

Well known KDE developer Nate Graham is out with a blog post today outlining his latest Wayland thoughts, how X11 is a bad platform, and the recent topic of “Wayland breaking everything” isn’t really accurate.

“In this context, “breaking everything” is another perhaps less accurate way of saying “not everything is fully ported yet”. This porting is necessary because Wayland is designed to target a future that doesn’t include 100% drop-in compatibility with everything we did in the past, because it turns out that a lot of those things don’t make sense anymore. For the ones that do, a compatibility layer (XWayland) is already provided, and anything needing deeper system integration generally has a path forward (Portals and Wayland protocols and PipeWire) or is being actively worked on. It’s all happening!”

Nate’s Original Blog Post

danielfgom,
@danielfgom@lemmy.world avatar

Undoubtedly Wayland is the way forward and I think it’s a good thing. However I wouldn’t piss all over X because it served us well for many years. My LMDE 6 still runs X and probably will for the next 2 years at least because both the Mint Team and Debian team don’t rush into things. They are taking it slow, testing Wayland to make sure no-one’s system breaks when they switch to Wayland.

This is the best approach. Eventually it will all be Wayland but I never understood why this is such an issue. Like any tech it’s progress, no need for heated debates. It’s just a windowing system after all.

atzanteol,

Nate Graham acknowledges current gaps in Wayland support but on the matter of “Wayland breaks everything” isn’t really the right perspective

That’s rather disingenuous. It’s meant to be a replacement for X11. So it does break things.

conciselyverbose,

It's not intended as a drop in replacement.

Backwards compatibility forever sounds great, but the technical debt eventually becomes a giant fucking limitation on improvement. They chose not to stay backwards compatible for a reason.

SpaceCadet,
@SpaceCadet@feddit.nl avatar

I agree that at some point you have to be able to ditch technical debt, but you still should be able to do more or less the same things with the new system as with the old system and that’s currently still not the case.

The problem is that the architecture of Wayland and the organization around it themselves impose limitations that have a chilling effect on development for it. One issue is that Wayland has been deliberately left very slim, leaving a lot of complexity and implementation details up to the compositor. A compositor can be seen as something that approaches the size and complexity of an entire X display server. This means that if someone wants to create a window manager, they have to implement a whole compositor first. So instead of writing window manager code, which is what the developer is probably the most interested in, they are spending most of their time implementing the compositor.

Naturally this also leads to a lot of duplication of effort. For example: GNOME, KDE and the window managers that have implemented a wayland version each have their own compositor that by and large does the same thing.

Another issue is the standardization of the protocols and interfaces that the different compositors use, or lack thereof. There is a steering group containing the major stakeholders that votes on proposed extensions, but good proposals often get shot down because the major stakeholders can’t agree on it and sometimes ego or principles gets in the way. And then you have cases where one compositor just goes their own way and implements something regardless of what the others do.

For example, as a result of this there’s still no standard screen capture API, so if you want to do things like screenshots, remote desktop, desktop streaming, … whether or not you can do that, and with which tool, depends on the compositor you use. Another example: they’re currently still bickering over whether or not an application should be allowed to place windows with absolute coordinates, and how that should be implemented. We’re currently 15 years after initial release of Wayland…

In my opinion, this is all completely backwards. Both in an organizational and technical sense way too much has been left up to the individual compositors that should have been a core part of Wayland itself.

Unfortunately, it’s all too late to fix this. We’re 15 years into Wayland development, and the flawed architecture has been set in stone. Wayland isn’t going to go away soon either, too many parties are invested in it. So for me the reasonable thing to do is to wait and stick with X11 until the dust settles and something emerges on the other side that is better than what I currently have.

wiki_me,

This means that if someone wants to create a window manager, they have to implement a whole compositor first. So instead of writing window manager code, which is what the developer is probably the most interested in, they are spending most of their time implementing the compositor.

wlroots has existed for almost 7 years and this misconception is still repeated.

SpaceCadet, (edited )
@SpaceCadet@feddit.nl avatar

I know wlroots exists. It’s a library that helps you implement a compositor (i.e. does some of the heavy lifting), but at the end of the day the window manager developer is still implementing a compositor and is responsible for maintaining his compositor.

The mere fact that wlroots, and other efforts like louvre, are necessary at all actually prove my point that it was an idiotic design to push everything off into “compositors”.

atzanteol,

It’s not intended as a drop in replacement.

… Which is why it “breaks everything”

HumanPenguin, (edited )
@HumanPenguin@feddit.uk avatar

As railways were a replacement for canals.

It was not the railways that broke the barge. But the companies expecting to gain the advantages without adapting there transportation.

Replace not upgrade.

PS i still use canals. Bur do not blame the raIlway for not fitting my boat.

atzanteol,

Railways are not a “replacement” for canals.

pelotron,
@pelotron@midwest.social avatar

barges just haven’t been ported to railways yet

flying_sheep,
@flying_sheep@lemmy.ml avatar

Duh. But you do understand what purpose the metaphor serves?

atzanteol,

Yes. And it’s a bad analogy. Nobody is expecting you to be able to take a barge on railways. But existing linux applications are being expected to run on Wayland. As I said - railways didn’t replace canals - they’re different types of things.

flying_sheep,
@flying_sheep@lemmy.ml avatar

Within the last 10 years and the next 5 years, software using old hacks instead of GUI toolkits are expected to switch, yes.

People can choose to continue to use X11 until KDE Plasma 6 hits Debian stable.

I don’t see a problem. Nobody forces Wayland onto anyone yet, except for bleeding edge distributions like Fedora. And unless you’ve been severely misled, you should know what you signed up for when you installed Fedora.

atzanteol,

I don’t see a problem.

I didn’t say there was a problem. I’m saying it’s pretty disingenuous to act like Wayland isn’t intended as a replacement for X11. All of which you seem to agree with. As you say “nobody forces Wayland onto anyone yet” (emphasis mine).

Also - I just love how your comment is written like a politician would have written it. “Sure you can use the dirty old X11 if you really want to, or you can use the nice new God-fearing Wayland”.

flying_sheep,
@flying_sheep@lemmy.ml avatar

If you bring the two parts of your comment together and dial back the assumptions of bad faith, you’ll get a consistent picture:

Wayland is a blank slate replacement for how to do window management on Linux. At some point it’ll become the standard for software that’s new or maintained. Unmaintained software that doesn’t talk to the internet and is therefore safe to run even with security holes will continue to be supported via XWayland. The giant scope and API surface is part of the reason why it’s deprecated. Maintainers are expected to target the new way to do things going forward, because there are people able and willing to maintain that support (many of those people former X11 maintainers who are looking forward to stop having to deal with that legacy behemoth)

That’s the state of things I wanted to express. Not my opinion, no agenda, just how I understand the situation.

atzanteol,

Neat.

HumanPenguin,
@HumanPenguin@feddit.uk avatar

Lol. Learn your history.

In the UK railways very much were a replacement for canals.

Both being built to transport good accross the nation.

atzanteol,

Lol. Learn your history.

Don’t be shitty.

HumanPenguin,
@HumanPenguin@feddit.uk avatar

Yeah sorry. But when you look at the events building europeen railways. More so in the UK as we had a huge canal system built in a few decades. But most of Europe denser areas.

Railways were very much a replacement for the to slow canal system.

Canals built a huge industry allowing manufacturers to ship goods to cities while shipping resources from the mines and farms etc.

But industries like meat fish milk and strongly enough market gardening (fresh flowers) were very limited to local areas before the railways. Took off hugely when the railways intentionally set up in direct competition to the canals.

Canals survived for a while moving the slower stuff. But started needing to redesign to support bigger and more boats faster. Before finally closing down.

The UK and most of Europe rebuilt/renovated them as a leasure activity from the 1950s. But most of the late 1800 to early 1900s railways vcompanies actually worked to replace and put canal companies out of business.

Passenger rail really was not a big thing untill about the 1920s.

atzanteol,

We’re getting well away from the topic now. It depends on what you mean by “replace”. Railways and canals exist side-by-side as different solutions to similar problems - sure. And some railways have replaced some canals. But the panama canal will not be replaced by a railroad for example. It couldn’t do the same job. The pros/cons of each option depends on many factors.

The analogy is poor for comparing software. Linux distros will likely replace X11 with Wayland over time. To do the same thing that X11 was doing. It will be replaced “in place”. The very same thing you were using with X11 will now need to work on Wayland. This would be like running your barges on the railroad? Maybe? Depending on how you squint?

I wouldn’t expect my barge to work on the railroad. I do expect that Firefox will run on Wayland after having used it on X11 for 20 years.

HumanPenguin,
@HumanPenguin@feddit.uk avatar

But as a user of a barge if you needed wanted to use railways. Because they are faster. It would be the barge maker or a new train maker you would look at. Not the railway.

Just like canals X11 still exists. And is still being developed. It has its limitations but some applications are choosing not to port. Because like barge makers. They simply do not see the need. Or merit.

If the makers of railways insisted that all current users agents had to work on them without adaption. Many of the advantages would no longer be there.

Just as if waylaid did not expect Firefox et al to adapt to its methods. The security and other advantages they seek would not be practice.

Waylaid is a replacement. Not an upgrade.

(PS yeah living in the UK replace canal with inland waterways navigation. Tends to be how we think of it. As they are such a huge part of our industrial history. I forget the US really never went through that part of europeen industrial development. Your example is a fairly unique and modern by comparison, it dose not link to any network. Where as the inland waterways accross the UK and parts of Europe were a linked inferstructure like our railways. When the railways in Europe were built. They were very much seen as a replacement to our existing canal system. By both the corperations set up to build the inferstructure and the media of the time. It is literally a part of our industrial history thought is schools here. As so much of our culture and industrial revolution is built around the events)

jjlinux,

But not “everything”, which is the point.

t0m5k1,
@t0m5k1@lemmy.world avatar

Just the apps and DE’s that don’t/can’t support it …hmmm

sherlockholmez, (edited )

Wayland doesn’t support Nvidia GPUs yet

I’m sorry, my bad, I was unaware.

Nvidia GPUs don’t support Wayland yet. As Linux Torvalds would say, “NVidia, Fuck You”

SquigglyEmpire,

“Wayland” doesn’t support any GPU’s, it’s the job of each GPU driver to support Wayland (and Nvidia’s now does).

iopq,

I’ve switched to Wayland on my Nvidia GPU and I’m taking the FPS hit. OBS crashes when I run a wine game on x11

sherlockholmez, (edited )

Yup, but my external monitor stuttered insufferably, so I still stuck with X11. Didn’t try OBS but Wine worked like a charm.

TheGrandNagus,

*Nvidia didn’t support Wayland

jodanlime,
@jodanlime@midwest.social avatar

This is the big thing that all these Nvidia comments miss. It’s not up to Wayland to support a given GPU. Nvidia is actively hostile to Linux users. If you aren’t making money with cuda there are zero reasons to choose Nvidia on a Linux machine over the competition. I’ve been on Wayland for almost a decade now and there’s no way I’m going back to X at this point.

https://arstechnica.com/information-technology/2012/06/linus-torvalds-says-f-k-you-to-nvidia/

gnumdk,
@gnumdk@lemmy.ml avatar

Fuck You NVIDIA

Kristof12,
@Kristof12@lemmy.ml avatar

Nouveau is functional… Probably

tiziodcaio, (edited )

My nVidia GPU works with the propietary driver

cobra89,

Uh reading the article, pretty sure the author would phrase it as “Nvidia GPUs don’t support Wayland yet” and that author would be absolutely right.

walthervonstolzing,
@walthervonstolzing@lemmy.ml avatar

FWIW, I’m typing this on the latest GNOME, on wayland, on nvidia proprietary drivers; and it works just fine — EXCEPT for suspend & resume, which is annoying to be sure; but on 2 screens with different refresh rates & different dpi ratios I at least don’t run into some of the weird behavior I do run into using X11.

I used to be an Xfce purist; but this particular setup is even less taxing on the GPU (GTX 970) compared to Xfce’s standard compositor (around 20W on light usage, vs. 35+W); & and the font rendering is slighly better, which is a huge factor AFAIC.

theshatterstone54,

Hey there, what tool do you use to find power usage? Thanks

walthervonstolzing,
@walthervonstolzing@lemmy.ml avatar

Hi; I rely on nvidia-smi mostly; but the nvidia-settings gui app also shows temperatures & wattage (though that app might be x11-only).

DumbAceDragon,
@DumbAceDragon@sh.itjust.works avatar

Really looking forward to the day nvidia drivers properly support wayland. Getting tons of bugs, stutters, and general usability issues with plasma wayland on my 3060. X11 just works on the other hand, even with multiple monitors running at different refresh rates (something a friend of mine said X11 doesn’t work well with). But I want all the nice benefits wayland offers.

Kristof12, (edited )
@Kristof12@lemmy.ml avatar

Trying to gaslight others? nice

Ephera,

No, they’re discussing the way forward and what they think makes sense. In fact, they’re even clearly stating that there will be pain, because Wayland intentionally does less than X11. And they’re encouraging people with unsolved pain points to speak up.

chitak166,

Eh, I always discredit people when they say X is bad.

It’s been around for over 20 years. That kind of longevity should be praised.

danny801,
@danny801@lemmy.world avatar

deleted_by_author

  • Loading...
  • wreckage,

    input-leap will but it’s still in development

    Quackdoc, (edited )
    @Quackdoc@lemmy.world avatar

    Really glad probonopd is doing this, X11 is dying but wayland isnt ready to replace it, so it’s nice to have this

    EDIT, paste didn’t work github.com/…/wayland-x11-compat-protocols

    flying_sheep,
    @flying_sheep@lemmy.ml avatar

    Read the article, specifically the part mentioning where X11 is going and distributions that aren’t fedora.

    Quackdoc,
    @Quackdoc@lemmy.world avatar

    woops my bad, I mean to link this github.com/…/wayland-x11-compat-protocols it’s a repo of going to be protocols, to fill in the gap instead of pretending the issue doesn’t exist

    flying_sheep,
    @flying_sheep@lemmy.ml avatar

    Also read the article (as in the original blog post) about that repo.

    Quackdoc,
    @Quackdoc@lemmy.world avatar

    I did and quite frankly it’s trash, XDG portals are a clunky and quite frankly terrible and poorly thought out api. I’m not the only one that disagrees with this sentiment as multiple people are trying to get protocols like ext-screencopy-v1 for screen recording and ext-foreign-toplevel-* for window management upstreamed into wayland so that xdg portals aren’t necessary for these use cases. I don’t mind the reliance on pipewire too much, but I too think that It shouldn’t be necessary for screen capture.

    IMO It is one of nate’s worst takes of all time if not the worst. Usually I agree with most things he writes, but not this, xdg-portals is a travesty, pipewire is nice and all, but I don’t see why we should need an entire media system for basic screen capture capabilities. and clearly im not alone on this sentiment

    flying_sheep,
    @flying_sheep@lemmy.ml avatar

    And that’ll shake out in the time it takes for X11 to go away. I get what you’re saying, although I don’t share your opinion about portals from a user perspective: I’m just happy that Firefox finally uses the Plasma file picker.

    Quackdoc,
    @Quackdoc@lemmy.world avatar

    I have a couple of issues with portals. One is that we’re putting too much eggs in the basket of something that is designed for containers. XDG portals Have rejected features that people have requested because they don’t want to expose that functionality to a container and they are allergic to permission prompts apparently.

    I also have other issues with the portals for instance video capture. It requires you to have a camera portal. It requires you to have a desktop capture portal. It also requires you to have an app to app, video, portal, which doesn’t exist yet. All of these things require pipewire pretty much in most cases, so why can’t we just have a single pipewire portal? It may not scale well in the future, but it doesn’t scale well now anyways. If you want just a generic pipe wire stream, you’re not gonna be able to have it, you’re going to have to conform to one of the standards anyways. For a case in point example, the OBS pull request for Game Scope Capture is the perfect example of this over reliance in XDG portals.

    I’m showcasing this just to highlight the fact that the XDG portals are incredibly poorly thought out, and I don’t think that it’s a reliable method for the future going forwards.

    PS. Please pardon any oddities in this, I had to use speech to text, since my RSI is acting up.

    flying_sheep,
    @flying_sheep@lemmy.ml avatar

    I think having separate standard APIs for screenshots, screen capture, and video capture that aren’t married to one implementation makes sense.

    I partially agree about the focus on containers/sandboxes. Yes, it makes sense to criticize that something designed for a different use case results in different trade-offs. But on the other hand, are the use cases really that different? We’re talking about standalone desktop apps, they need some common building blocks no matter if they’re containerized or not, right?

    Otherwise I don’t know enough about the standards to comment there, you’re probably right!

    Quackdoc,
    @Quackdoc@lemmy.world avatar

    I think having separate standard APIs for screenshots, screen capture, and video capture that aren’t married to one implementation makes sense.

    The idea of a using a separate thing for it is fine, in itself, but necessitating it is an issue to me. There are a LOT of wayland compositors now, for all sorts of systems, each one also new needs a compatible xdg portals implementation (or whatever third party tool you like), in the case of xdg portals this also means pulling in things like dbus. It actually becomes a lot to build a “Minimal but fledged out” ecosystem. something which should otherwise be possible.

    we’re talking about standalone desktop apps, they need some common building blocks no matter if they’re containerized or not, right?

    sure but then you have xdg-portals denying actually useful a11y protocols because they “don’t want to expose it to containers” -_- apparently they never heard of a permissions system? but this also highlights why the wayland ecosystem right now is so poor for select individuals (and why they get heated when told that they need to swap to wayland)

    taanegl,

    Wayland on an Intel iGPU runs flawlessly and has for several years. However, that’s a matter of drivers. AMD is in the forefront regarding having dGPU support, while NVIDIA is playing catch-up.

    In any case, the future is bright.

    FiskFisk33,

    Soo support for something like synergy would be great!

    loutr,
    @loutr@sh.itjust.works avatar

    Input Leap (fork of a fork of synergy) supports Wayland under gnome, although it seems there are a few bugs remaining.

    corsicanguppy,

    Input Leap

    Thank you for this information.

    FiskFisk33,

    I’ll watch that project with great interest!

    mnglw, (edited )

    fucking what synergy doesn’t work on Wayland? welp. I use that daily and no, that’s not optional, its rather critical for my setup

    MonkderZweite, (edited )

    Because Wayland is only a protocol and you write the platform yourself (be it badly or not).

    Would be cool if the reference implementation (Weston) were not an unusable monolith but a small plugin-based thing.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #