Skip Navigation

Why Wayland adoption to have official support in programs is so slow?

wayland.freedesktop.org

Wayland seems ready to me but the main problem that many programs are not configured / compiled to support it. Why is that? I know it's not easy as "Wayland support? Yes" (but in many cases adding a flag is enough but maybe it's not a perfect support). What am I missing? Even Blender says if it fails to use Wayland it will use X11.

When Wayland is detected, it is the preferred system, otherwise X11 will be used

Also XWayland has many limitations as X11 does.

104 comments
  • Wayland for better or for worse is still in development, it's actively changing and a lot of developers can't (or don't wanna bother) keeping up...

  • In my opinion, that's because X11 lacks proper abstract for many things like screenshot, screencast, color managerment and etc, so the applications have to use many X11 implementation details to implement these features. It leads to high-coupling code with X11 so move their code to wayland and ensuring it works correctly and is consistent with the old behavior is difficult.

  • Until recently, Wayland development was rather slow, especially in the areas where more specialized software run into issues that force them to stick with X11. Since Wayland does a lot less than X11 and is more componetized across multiple libraries designed to be swappable, some of these areas simply do not have solutions. Yet.

    And, as always with FOSS, funding is a big part of the problem. The recent funding boosts the GNOME foundation received have also led to some increased funding for work on Wayland and friends. In particular, accessibility has been almost nonexistent on Wayland, so that also means that if an app wants to ensure certain levels of accessibility, they can't switch to Wayland. GNOME's Newton effort is still very alpha, but promising.

    While big apps like blender and krita get good funding, they can't necessarily solve the problem themselves by throwing money at it, either. But the more funding Wayland gets to fill in the feature-gaps and ease adoption, the sooner we'll be able to move away from xwayland as a fallback.

    Wayland and its whole implementation process certinally aren't without fault. There's a lot of really justified anger and frustration all around. Even so, staying on X11 isnt a solution.

  • So software like CAD is funny. Under the surface, 3d CAD like FreeCAD or Blender is taking vertices and placing them in a Cartesian space (X/Y/Z - planes). Then it is building objects in that space by calculating the mathematical relationships in serial. So each feature you add involves adding math problems to a tree. Each feature on the tree is linearly built and relies on the previously calculated math.

    Editing any changes up tree is a massive issue called the topological naming problem. All CAD has this issue and all fixes are hacks and patches that are incomplete solutions, (it has to do with π and rounding floating point at every stage of the math).

    Now, this is only the beginning. Assemblies are made of parts that each have their own Cartesian coordinate planes. Often, individual parts have features that are referencing other parts in a live relationship where a change in part A also changes part B.

    Now imagine modeling a whole car, a game world, a movie set, or a skyscraper. The assemblies get quite large depending on what you're working on. Just an entire 3d printer modeled in FreeCAD was more than my last computer could handle.

    Most advanced CAD needs to get to the level of hardware integration where generalizations made for something like Wayland simply are not sufficient. Like your default CPU scheduler, (CFS on Linux) is setup to maximize throughput at all costs. For CAD, this is not optimal. The process niceness may be enough in most cases, but there may be times when true CPU set isolation is needed to prevent anything interrupting the math as it renders. How this is split and managed with a GPU may be important too.

    I barely know enough to say this much. When I was pushing my last computer too far with FreeCAD, optimising the CPU scheduler stopped a crashing problem and extended my use slightly, but was not worth much. I really needed a better computer. However looking into the issue deeply was interesting. It revealed how CAD is a solid outlier workflow that is extremely demanding and very different from the rest of the computer where user experience is the focus.

  • Wayland isn't even adopted by every desktop environment yet. xfce, cinnamon, mate, lxqt, and all the ancient window managers all use x11, and all have their users.

    If it works on xwayland, chances are it won't be switched for a long time.

  • I heard wayland is hard to develop for and xwayland work a little too well, idk I'm not a programmer

  • Because it’s so complicated that given a page (page and a half) to answer the simple question, “Why does Wayland support still give you more problems than solutions?” We had to describe it like the summary of a PHD theses in client server architecture?

    Come on with that load of hot trash 😭

    • Do you want the short answer? The short answer is "Because there's a lot of applications that do a lot of different things and getting a good design for a protocol that supports all of those things is a process that takes time"

      • With the headline, yeah… kinda :-) Your answer plus a bit of “this is why it’s important.” And I would have grunted and gone back under my bridge…

        I’m feeling a bit sheepish about my comment on the other side of the day.

        But I was also hoping for a lot more. Better desktop security… and that’s underselling it because my understanding is we’re pretty much coming from zero, so this was always going to be rough.

        I have yet to run into an insurmountable issue, but I’ve just hopped distros rather than (successful) troubleshooting. Always makes me grumpy ;-)

104 comments