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.

  • DarkMetatron@feddit.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    25 days ago

    As a disclaimer: I really like Wayland and use it as my daily driver for months now with KDE/Proton.

    Now my answer, based on my best knowledge:

    Because there is no real Wayland to implement, the base Wayland protocols are extremely bare bone and most of the heavy lifting is done by all the different wayland compositors like hyprland, plasma, Mutter, weston, wlroots, gamescope so as a developer you don’t have one target to program against (X11) but lots of different wayland implementations and those are not always doing things the same way or providing the identical interfaces/API or have the same level of features.

    On my system is at least one wayland only program that works absolutely fine when started in a wlroots environment but crashes (reproduceable on different systems) with a segmentation fault in Mutter or Plasma.

  • Leaflet@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    Blender’s Wayland support is not great because they’re doing stuff from scratch. They’re not using an existing toolkit like GTK, Qt, Electron, or even something like SDL to get Wayland support.

    But if you’re using an existing toolkit things are much easier and support is automatically there, you just need to do testing to ensure everything works.

    The common biggest things that still use Xwayland are Chromium based apps and programs running under wine/proton. Chromium has an experimental Wayland mode that works well enough, but definitely has some bugs, especially around windowing. Wine Wayland is in the works.

  • sramder@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    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 😭

    • 2xsaiko@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      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”

      • sramder@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        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 ;-)

        • bastion@feddit.nl
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          27 days ago

          If I understand correctly, Wayland does provide better desktop security. At least two of the common issues are tied directly back to that.

          Screen sharing apps, which need to access what one or more other apps are showing, and screen readers for the deaf, which need to access what text other apps are displaying.

          Wayland intentionally recuses itself of these problems. That’s understandable, as these problems aren’t specifically in the realm of a display protocol. However, this has led to some significant problems.

          Specifically, since there is a power and implementation void, and the Wayland crew haven’t stepped in or endorsed any particular way to fill it, each compositor/desktop library is now implementing it’s own means to achieve these ends. This leads to other problems.

          You want to write software for X for some of these things, and regardless of the DE you’re working in, there are more fundamental ways to address the information you need. But if you want to do so with Wayland, there’s no “fundamental” layer to reach for, because it’s handled by the DE compositor and toolkits.

          So you need to do it the KDE way, or the Gnome way, or the wlroots way, etc etc - and what if you want it to work with all of them? Simple: just code it multiple times and deal with multiple different frameworks, each with their own learning curves, restrictions, and quirks.

          …by which I mean, “/s, jk jk, not actually simple.”

          Really, my hope at this point is that maybe kde/plasma and gnome will standardize around wlroots (i.e., there is no hope).

          So, failing that - maybe a single library for accessibility that does the work once (multiple times, but once), and is adopted and used by kde/gnome/wlroots, and a single library that does the same for display sharing.

          • sramder@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            27 days ago

            Oh it sounds like you understand it correctly :-)

            Thank you for taking the time to type this all up, you have expertly summarized the situation and I’m very grateful. Even with focused research it can be very hard to gain an objective understanding of complex subjects these days… doubly so when polaring topics like how to do desktop linux right are involved.

            I suppose it would be foolish of the Wayland devs to wade into the middle of those waters if they want their work to remain beneficial to all. And suddenly the abstract technical details in the linked article make more sense to me… they really want to remain abstract from some of the implementation details.

            This does seem a bit grim… and it perfectly explains why my problems could be fixed and one distro/wm and not another while still somehow being a “waylaid issue.” I suppose the best solutions/implementations will probably at least end up being shared in principle… I don’t really know enough about the current state of either desktop to be sure, I just wanted to say something positive :-)

            • bastion@feddit.nl
              link
              fedilink
              arrow-up
              2
              ·
              27 days ago

              Honestly, it’s pretty normal for Linux. It’ll fracture until it becomes glaringly obvious that there’s a problem, and then it’ll get standardized, and the standard may be supported in the next version.

              Ubuntu could have gone flatpak. They didn’t. Kde and gnome could have come to a common agreement about desktop-related stuff they have in common. They didn’t. So it goes. The real pain points eventually get fixed.

              • sramder@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                25 days ago

                Non linear evolution at it’s finest ;-)

                It’s a lot harder to keep track of than it used to be but (holy crap) we won… mostly.

                • bastion@feddit.nl
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  25 days ago

                  Honestly? Yeah. I agree. At the very least, a solid niche has been carved out, and it’s growing. I like that.

                  I’d really like to see more governmental support, but… …so it goes.

      • drwankingstein@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        for one, it’s missing a good chunk of A11y stuff, activity watch requires something to monitor the active window, there is a PR for that, still not merged, this has been an issue for years

        It’s missing protocols that will let applications request to be a privileged application, which is necessary for applications to use other functionality.

        Missing protocols to control always-on-top / layers, which is needed for OSKs to function, and a couple other A11y things off the top of my head.

        It’s not just a11y either, Window positioning still isn’t merged, which means if your app opens two “windows”, you cannot currently select where to open them, or to even bind two windows together (Android emulator does this for instance).

        There is a LOT wayland is missing, it IS getting better, just at a snails pace.

  • D_Air1@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 month ago

    As someone who tries to look under the hood for a lot of the open source software I run, one thing that I have noticed is that there are a lot of cases where the general sentiment seems to be port to what. Wayland still doesn’t support a number of things that some applications require. A lot of developers that I have interacted with would rather have the app run through XWayland rather than have a wayland version of the app with less features or certain features grayed out.

    In the case of one project in paticular, that being the Sunshine game streaming project. I have personally witnessed. Them implementing a solution for wlroots based compositor. Having that solution eventually break as wlroots based projects deprecate the protocol they were using in favor of a new one and now that protocol is looking like it too is old news and is going to be deprecated in favor of a newer and better protocol. What I am getting at here is that protocols not existing isn’t the only problem, but things are still very much in development. Even applications that implemented wayland support are being put in positions where they need yet another rewrite because things are far from finalized and still moving pretty fast.

    • Zamundaaa@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      In the case of one project in paticular, that being the Sunshine game streaming project

      That’s a terrible example, because they completely ignore the many many years old standardized APIs (screen casting and remote desktop portals) that they could use, in favor of doing hacky and broken things that require root access instead.

      • bastion@feddit.nl
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        27 days ago

        Even then, is that a documentation and centralized standards issue? Was there some list they could have/should have looked to that said ‘this is how that is implemented on Wayland vs X’?

        • Zamundaaa@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          27 days ago

          The github repo has tons of issues about the problems caused by the hacks (from the cursor not being recorded, to it not working in Flatpak, not working with virtual displays, to even preventing graphical sessions from starting!) with the suggested solution of just using the remote desktop portal… I don’t know what the problem is, but it’s not a lack of knowledge.

  • visor841@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    Also XWayland has many limitations as X11 does.

    If an app has only ever supported X11, then it probably doesn’t care about those limitations (the apps that do care probably already have a Wayland version). And if an app doesn’t care about the extra stuff Wayland has to offer, then there’s not really a reason to add the extra support burden of Wayland. As long as they work fine in XWayland, I think a lot of apps won’t switch over until X11 support starts dropping from their toolkit, and they’ll just go straight to Wayland-only.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      Yeah I agree. Maybe some day X11 will be seen as something legacy that needs to be deprecated. But not now…

      • Vivendi@lemmy.zip
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        1 month ago

        X11 has exactly one developer who’s a vaccine denying turbocunt German, everyone else has dropped it and it’s codebase is practically unknown territory with security risks.

        Look man, it’s dead already