Wayland. It comes up a lot: “Bug X fixed in the Plasma Wayland session.” “The Plasma Wayland session has now gained support for feature Y.” And it’s in the news quite …

  • 0x0@social.rocketsfall.net
    link
    fedilink
    arrow-up
    17
    ·
    1 year ago

    As I understand it, Wayland offloads a ton of stuff that was core to X11 (like input device handling) directly to the compositor. The end result is every compositor handling things differently. Compare something like i3 to Sway. Sway has to handle input, displays, keyboard layouts, etc directly in its config. If I switch to Hyprland I then have to learn Hyprland’s configuration options for doing the same. Meanwhile, switching from i3 to dwm requires only setting up the WM to behave how I want - no setting up keyboards, mice, etc. It just feels clunky to work with Wayland compositors, frankly.

    Also when something breaks in Wayland the fix is almost always hard to find or incredibly obscure because the fix isn’t for Wayland- it’s for the compositor. If your compositor isn’t popular then good luck!

      • chaorace@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        1 year ago

        They got all of the basic facts right and their general experience mostly mirrors my own, though in my case the majority of problems encountered apply to Wayland in general and are rarely compositor-specific. That is to say that I can usually Google “[APP]” [FEATURE] not working “Wayland” and find people from a variety of different Wayland compositors all experiencing the same thing[1]. Maybe I just got lucky when I chose my specific compositor?

        In fact, despite being on Wayland for about a year now, the only compositor-specific issue I’ve ever encountered is a broken controller configuration overlay when using Steam’s Big Picture Mode. It’s actually super frustrating because I have absolutely no idea if it’s an issue specific to my compositor, wl-roots, or something unique about my configuration. All I really know is that it works correctly if I launch Steam in a nested gamescope compositor, so it’s not a bug in the protocol nor xwayland.


        1. Some recent examples: broken Steam Controller cursor, busted SDL in TF2, Invisible Emacs cursor ↩︎

        • jack@monero.town
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Thanks for sharing your experience. If the majority of issues are Wayland-wide right now instead of compositor-specific, then that is good in my opinion. These issues get fixed once at the protocol level and are then solved for everyone. Compositors should principally just work, given that they implemented the protocol correctly.

          • uis@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            Not all protocol-level fixes are implemented. Example: protocol-level screen sharing. There is extension for this, but kde and gnome use pipewire instead. Basically it is X11 all over again, but worse.

            • jack@monero.town
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              1 year ago

              Why are they not using the protocol-level solution, is the pipewire way just simpler to implement? Also, why is the screen sharing fix just an extension and not part of the core protocol?

              • nielsdg@lemmy.ml
                link
                fedilink
                arrow-up
                2
                ·
                1 year ago

                GNOME and KDE both support the desktop-agnostic xdg-desktop-portals which provide general desktop APIs and that’s what most DEs are now converging. The portals including screensharing, input emulation and much more. The problem is that sway/wlroots doesn’t want to support it as they’re somehow vehemently against a D-bus dependency

              • uis@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                1 year ago

                Why are they not using the protocol-level solution, is the pipewire way just simpler to implement

                Dunno. wlr-export-dmabuf-unstable-v1 exists for a while. And wlr-screencopy-unstable-v1. Last one implemented in Sway and Mir.

                Kde uses kde-zkde-screencast-unstable-v1 which requires pipewire for some reason and Gnome seems to use unregistered extension.

    • uis@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Wayland offloads a ton of stuff that was core to X11 (like input device handling) directly to the compositor.

      Not exactly. Imagine if xorg was also desktop environment with own compositor and effects. That’s what wayland compositor is.