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 a bit lately with the announcement that Fedora KDE is proposing to drop the Plasma X11 session for version 40 and only ship the Plasma Wayland session. I’ve read a lot of nervousness and fear about it lately. So today, let’s talk about it!

  • ono@lemmy.ca
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    1 year ago

    One problem that has long plagued X11 is that any app can snoop on any other app, including things like keystrokes and displayed information, even from within containers like Flatpak. (This is understandable, since it was designed at a time when spyware was rare, so there was no need for isolation more fine-grained than the user level.)

    IIRC, Wayland didn’t address that problem in its early days, but in these modern times of surveillance capitalism, I suspect it has been getting more attention. It would be nice to see it solved.

    • ExLisper@linux.community
      link
      fedilink
      arrow-up
      11
      ·
      1 year ago

      has long plagued X11

      The risk existed but did it plague X11? I never heard about any app logging keystrokes and sending theme somewhere. Where there any attacks using this? I don’t think normal uses had to worry about it.

      • ono@lemmy.ca
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        edit-2
        1 year ago

        The risk existed but did it plague X11?

        Yes, and it still does. Practically every X11 installation is vulnerable.

        (If you’re nitpicking my use of the word plagued, though, note that I am talking about the vulnerability, not the exploit.)

        I never heard about any app logging keystrokes and sending theme somewhere.

        That’s because of a variety of external factors, including:

        • X11 desktops aren’t common enough to be priority malware targets, yet.
        • People who run only open-source software typically get it from trustworthy channels, like their OS distro’s package repository.
        • Devices likely to attract malware, such as game consoles and mobile phones, have avoided X11. (Android phones and Steam Deck are examples.) This is no accident; lack of app isolation was a factor in that decision.

        I don’t think normal uses had to worry about it.

        We’ve been lucky so far, in that our circumstances have kept us mostly safe. However: Linux malware is on the rise. Commercial games, both on their own and through anti-cheat systems, are making opaque software more common on our desktops. Flathub is working on paid apps, which could likewise create malware opportunities that weren’t there before. The Epic Game Store has already been caught collecting data from other apps, so the intent is clearly present already.

        It’s generally just a matter of time before exploitable systems become exploited systems. We would do well to close the door on unauthorized key logging, clipboard snooping, screen scraping, and input injection.

        • ExLisper@linux.community
          link
          fedilink
          arrow-up
          2
          arrow-down
          6
          ·
          1 year ago

          And all the arguments are like this. “It’s good to use it”, “it has features”, “it’s better code”. But it’s never “it has essential features that people need”. Because it doesn’t. If it did people would use it.

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

            Wayland has the following features I need:

            Multimonitor and other screen feature support:

            • mixed DPI scaling (can drag a window from a 1x screen to a 1.75x screen and have it look correct on both at the same time, even when halfway across each)

            • Mixed refresh rate (my center monitor is higher refresh rate than my side monitors, X11 just baselines all monitors to the lowest common denominator).

            • Mixed variable refresh rate (center monitor is VRR capable, side monitors are not).

            • HDR support soon (already exists in GameScope).

            • Mixed HDR/SDR output across monitors

            Performance:

            • Lower resources

            • Smoother operation (can be felt in mouse cursor movements, window drags, composited animations, etc)

            • Better VR headset isolation compared to X11 (allows the headset to run separately and not interrupt regular monitor layout, and also lets it run freely at the correct refresh rate)

            Other:

            • Better security between apps (yes I actually use this and count it as a feature)

            • App video isolation leads to pipe wire functionality, which is a bonus and makes OBS work better overall


            I know for a fact I’m forgetting something because this list was longer the last time I wrote it out, but I think you get the point.

          • nora@slrpnk.net
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            1 year ago

            It does for me. For some reason my touchpad has really high scroll sensitivity with libinput. It’s borderline unusable. The only desktop environment that exposes the ability to change this sensitivity is plasma Wayland. AFAIK there’s technical reasons it can’t be done on xorg without hacky workarounds. This is the killer feature for me.

            In addition both plasma and gnome only have 1:1 touchpad gestures on their Wayland sessions. Obviously I could use third party tools for trackpad gestures under x11 but those aren’t 1:1.

            Also while I’m aware that fractional scaling on Wayland is a mess and hacky but I still find the fractional scaling implementation on KDE Wayland to be the best, followed by KDE on xorg. I need fractional scaling for things to be appropriate sizes on my laptop screen.

            For my desktop I still use x11 because of nvidia but I would definitely benefit from the multi monitor improvements under Wayland since I have two monitors of differing refresh rates and it causes issues.

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

                Nope, I also use it for many of these things. They’re not alone by a long shot.

                If you want to continue to use X11, you are free to simply not update your machine any further. It’s unlikely you value security, so this shouldn’t be an issue for you.

                • ExLisper@linux.community
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  1 year ago

                  You clearly don’t understand what 1% is. Do you think it means it just one person?

                  And you’re equally clueless about my entire argument here.

          • ono@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            1 year ago

            You have misunderstood me. I don’t use or promote Wayland, mainly for the very reasons you just listed. But I do recognize that it has the potential to solve real problems that are deeply embedded in X11. If/when it gets there, and fixes various deficiencies that it has today, I expect I will have a good reason to switch.

            But it’s never “it has essential features that people need”. Because it doesn’t. If it did people would use it.

            Actually, I believe it does have such features for people with certain hardware setups. I just don’t happen to have such a setup.

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

            Maybe a while ago that was true. But there’s so much cool stuff that KDE devs are spearheading with Wayland.

            For example, You’ll be able to reboot the window server without ending your session and losing your app state! They’ve demonstrated being able to swap between GNOME, KDE, Sway, and other WMs without logging out or crashing apps. This could also be used for swapping active GPU configurations without relogging, which would make Gaming laptops way less shitty to use.

            Wayland can also store window state to disk, which isn’t possible on X11. Another useful feature that could allow for more fluid hibernate and reboot behaviour.

            Touchpad gestures! You need a lot of dev effort to get them working on X11 but on Wayland it’s very fluid.

            Wayland is also partly why there’s been new effort to standardise the desktop experience on Linux with stuff like XDG.


            For the end user, X11 is fine. You don’t need to particularly care how your windows are drawn. As an app or desktop dev you’ll be way more empowered to build a next generation desktop experience with Wayland, in a way that X11 just wasn’t able to support because of its underlying design.

            But that’s also why the change can’t come from begging end users to migrate: we have to rely on distros dropping support for X and making Wayland the default.