12 comments

  • happens 9 days ago
    What's annoying to me is that when we talk about Wayland, the things it's capable of that X11 can't do are always left out. X has no fractional dpi scaling, and no per-monitor scaling, so it's a non-starter for both my desktop and my laptop setup.

    X will never have those things, while Wayland is consistently improving. Yes it has rough edges, yes the security model might be over-engineered, but it's perfectly serviceable nowadays from my point of view.

    • goosedragons 9 days ago
      X HAS those things. Ubuntu's version of Gnome for example has supported fractional DPI scaling and per monitor scaling on X11 since I think 20.04. Upstream Gnome wasn't interested because that's what Wayland is supposed to do. Xrandr has made this possible for years with some setup.

      Wayland is frustrating at basic crap. Just this past month I had issues sharing my screen, getting programs to use my PATH correctly and setting options. It's insanely stupid that SO much has moved over DE that how you do things between Gnome, KDE, etc. are now all radically different. It's actually worse than X11 in so many ways.

      • Hendrikto 9 days ago
        > X HAS those things. Ubuntu's version of Gnome for example has supported fractional DPI scaling and per monitor scaling on X11 since I think 20.04. […] Xrandr has made this possible for years with some setup.

        Via some ugly hacks that degrade performance and make things look blurry. It‘s not the same.

        • znpy 9 days ago
          I mentioned network transparency in another comment, and wayland will never have that unless they implement that "degrade performances and make things look blurry".

          So meh, you give and you take, life is a compromise.

          • Vilian 9 days ago
            https://gitlab.freedesktop.org/mstoeckl/waypipe

            here, found the wayland network transparency, fix your comment

            • znpy 9 days ago
              Not officially supported, irrelevant
              • orangeboats 9 days ago
                If you have known the structure of the Wayland protocol before making the comment, you'd know that "official support" is a red herring.

                The only official thing provided by the Wayland project (other than the protocols themselves described in XML) is the wayland-server and wayland-client library pair, which is more or less just a serializer and deserializer of the protocol.

                There is also Weston, but we don't talk about it.

                Waypipe is about as official as Kwin, Mutter or wlroots, and yet we don't disregard those projects as being irrelevant due to their unofficial status.

          • zamalek 9 days ago
            There are maybe five people in the world that care about network transparency (an exaggeration, but probably not more than 2 magnitudes of order off). X11 was built for every scenario conceivable. Wayland is being built for end-user thick devices. What you decide not to do is more important than what you decide to do.

            And some dedicated soul managed to get it working anyway, as a sibling comment has pointed out.

    • znpy 9 days ago
      > What's annoying to me is that when we talk about Wayland, the things it's capable of that X11 can't do are always left out.

      I think it's fair, considering we also leave out stuff that X11 can do that wayland can't do (and will likely never be able to do).

      Example: network transparency. I still occasionally have to save the day by doing `ssh -X` and run some stuff on a remote host (but having a window be displayed on a local X11 server).

      And I already foresee some idiot coming here and commenting that "you're not supposed to do that" to which i pre-reply: not all companies are FAANGS that can rework and rebuild everything that's sub-optimal. Many (most?) of us have to do the best with what we've got.

      • orangeboats 9 days ago
        Wayland does have network transparency, it's called waypipe.

        But caveats apply: applications which use the GPU are network translucent. You'd need VNC or other forms of streaming for that.

        • Vilian 9 days ago
          i didn't find that mentioned on waypipe, could you link a issue that mention that?
          • orangeboats 9 days ago
            It's an inherent limitation of any network transparent windowing protocols.
    • LorenDB 9 days ago
      X also has awful touchscreen support. When you use a touchscreen, you are just dragging the cursor around with your finger. In Wayland, touch support is what you'd normally expect (e.g. dragging scrolls pages instead of selecting text).
      • alwyn 9 days ago
        This is configurable[1]. I am writing this from a laptop with a touchscreen using X. I can use the touch screen fine and _browse_ Firefox with it and don't select text.

        [1] https://wiki.archlinux.org/title/Firefox/Tweaks#Enable_touch...

      • jeroenhd 9 days ago
        X has decent touchscreen support, but it sucks at dealing with multitouch gestures, especially on touchpads rather than touch screens.
      • itvision 9 days ago
        That's configurable in X and I've never had this issue.
      • Vilian 9 days ago
        exactly, you can go back and forth in firefox using your touchpad and i thing that very practical
    • RedShift1 9 days ago
      But what if we just kept working on X11 instead starting from scratch?
      • orangeboats 9 days ago
        The thing is, many things in X11 are "hardcoded" to the protocol.

        For example, there is only one coordinate space in the X11 world. This meant that 1 pixel is always N "real" pixels (typically N=1).

        But nowadays we have this thing called HiDPI, where 1 pixel can mean 1.5 real pixels on one screen (150% scaling), 2 real pixels on the second (200% scaling), and 1 real pixel on the third (100% scaling). We need mixed DPI and hence multiple coordinate systems, but you will break existing X11 programs if you tried to add that to the protocol, and at this point if you force your way through the problem it'll just be Wayland.

        Existing X11-compatible systems "fix" this by:

        1. assuming N=scale factor, thus upscaling all programs. Everything becomes a blurry mess (see XWayland).

        2. assuming N=1, and let the programs upscale themselves. The problem is older apps (e.g. GTK2) don't understand HiDPI and you get a GUI for ants.

        • pedrocr 9 days ago
          > But nowadays we have this thing called HiDPI, where 1 pixel can mean 1.5 real pixels on one screen (150% scaling), 2 real pixels on the second (200% scaling), and 1 real pixel on the third (100% scaling).

          This is the wrong way to do scaling and even Wayland got it wrong and has been very slowly fixing things. What you actually want to do is just use real pixels everywhere and just tell the client "here's your NxM window size and it will be displayed in a X scale" and let the client do the intelligent thing. If it's a browser, a 3D game, or a PDF reader it will render directly at target resolution and scale with no fuzziness and those are most use cases people care about. GUI toolkits were stuck at integer scaling for a long time and thus the strange solutions to render at higher resolution and then scale down happened. All of this can work in X11, just always use native resolution for everything but Wayland is much better anyway and works great these days.

          • orangeboats 9 days ago
            > What you actually want to do is just use real pixels everywhere and just tell the client "here's your NxM window size and it will be displayed in a X scale"

            This is already how the Wayland fractional scaling protocol works. You have a 100x60 window and Wayland tells you the scale is 1.5. You give Wayland a 150x90 framebuffer and call it a day.

            The giant problem with X11 is that it is still making the assumption that everything is one giant screen -- even if you have multiple monitors and whatnot. Even the act of sending a scaling event like Wayland does is a challenge on X11.

            • pedrocr 9 days ago
              Wayland has gotten it right in the latest protocols but up to very recently it still did only integer scaling and scaled down for fractional. Scaling the buffer in fake coordinates is also needlessly complex. Just start with the 150x90 buffer to begin with and the scaling is just a UI hint. All of that would work fine with X11 exactly because there's no need for fake coordinates. All scaling is the client's job based on a DPI or scale hint.
          • sevagh 9 days ago
            Wouldn't that mean every application has to re-invent (or include) some form of scaling? Isn't it better than the display manager handles that for you?
            • cuu508 9 days ago
              The app knows how to render its UI, the display manager can only upscale or downscale what the app has provided. You get more performance and better quality if the app renders to the needed resolution in the first place, rather than if the display manager scales up or down to it.
      • vkazanov 9 days ago
        But that's the point. It's a sunk cost fallacy.

        The assumptions that X11 uses are incompatible with what personal computing turned into. Drivers, security, the networking part... All of it is just not how things work these days.

        It is a major project, it is hard to push through but it's there already, with most of the work complete by now.

        And as a programer I must say that underlying Wayland libraries are vastly better than X11 ever was.

        • firebaze 9 days ago
          Maybe we should consider starting over again in that case. Wayland increasingly appears to be supported by a sunk cost fallacy itself - the A11Y issues are not fixable in the base architecture, which means that every Wayland DM implementation needs to implement them again, which in turn means lots of different APIs, incompatibilities and so on.
          • Vilian 9 days ago
            go ahead them, show was how to make a good screen protocol that is as secure as wayland, and flexible, and one that support every type of screen, from cellphones, to VR, to desktop, go ahead, i'm waiting, show how these wayland normies(x11 too, they are the same people) how to make a protocol
      • Hendrikto 9 days ago
        Go ahead.

        The people who actually work on it decided that was not the way forward, and chose another approach.

        If you are qualified to work on it yourself, and you disagree, you can step up to maintain and improve X11.

        • sprash 9 days ago
          No they decided working on X11 would not rake in enough consulting money. So they engineered a completely non-working solution called Wayland that is broken by design and takes years and many consulting hours to fix.
          • orangeboats 9 days ago
            Calling it "broken by design" is an extraordinary claim and requires extraordinary evidences to back it up.

            Now, X11 being un-sandboxable is truly something broken by design.

            • sprash 9 days ago
              > "broken by design" is an extraordinary claim and requires extraordinary evidences

              There are many technical aspects that make Wayland broken by design (like default forced vsync, forced double buffering, a fucked up event-loop for single threaded applications or severely lacking functionality for things like window positioning or screen sharing). But the biggest problem is the design-philosophy: Wayland makes life extremely easy for gate keeping "Protocol Designers" and extremely hard for application developers.

              > un-sandboxable

              Not true. The quick and dirty way would be using Xephyr. Besides that many access control hooks like XACE are present and standardized in the X11 protocol for many years. Application developers just choose not to use them. So if X11 is not secure enough for you, blame GNOME and KDE, not X11.

              • orangeboats 9 days ago
                > like default forced vsync, forced double buffering,

                A few things:

                1. Vsync-by-default is the norm. X11 was the outlier.

                2. Wayland does triple buffering, not double buffering.

                >a fucked up event-loop for single threaded applications

                I dunno, I wrote Wayland applications and I did not notice any peculiarities w.r.t. the event loop, at least in comparison with other platforms like Win32.

                You need to expand a little more.

                >window positioning

                I suggest to read up on the Gitlab MR for the in-development window positioning protocol. The basic TL;DR is that window positioning has certain implications regarding tiling window managers and other unusual desktop usecases e.g. VR.

                >screen sharing

                I just shared my screen this morning.

                > Not true. The quick and dirty way would be using Xephyr.

                ...So what you are saying is that you'd need a separate server running. Thanks for telling me that X11 is unsandboxable.

            • Vilian 9 days ago
              "broken by design" proceeds to work perfectly, lol, i don't can that broken by design
      • biorach 9 days ago
        Nobody wants to keep working on X11, its design is fundamentally mismatched with the needs of a modern graphics stack and it contains a ton of legacy code and layers that make development difficult.

        Check the lwn.net archives for some articles that explain this in detail.

        • sprash 9 days ago
          The X11 DRI3 buffer swap mechanism is identical to the one used in Wayland. The fact that Wayland has still worse performance across the board (especially latency metrics) might be an indicator that Wayland is fundamentally mismatched with the needs of a modern graphics stack.
          • orangeboats 9 days ago
            You are basing your conclusions on a single blogpost. Measurements from other people show that X11 wins in some cases, Wayland wins in other cases, there isn't a clear winner.

            https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-...

            • sprash 9 days ago
              > X11 wins in some cases, Wayland wins in other cases

              Even according to your blog post uncomposited X11 wins in all cases (or is tied within the error of one millisecond). It especially sweeps the floor with immediate rendering.

              • orangeboats 9 days ago
                Uncomposited anything is madness in 2024. You have the VRAM, use it and save your battery life / power which is arguably far more important. It being tear-free is a very nice bonus on top of the power savings too.

                (And no, composition is not just for 3D cube effects or anything like that. Although it certainly enables them.)

                MacOS have moved on, Windows have moved on, Linux should do the same.

      • paranoidxprod 9 days ago
        I think the problem is nobody actually wants to work on x11.
        • okasaki 9 days ago
          What does that meme even mean? Are you saying if Red Hat wanted to hire people to work on X11 they would get 0 people applying?? I really doubt that.
          • The_Colonel 9 days ago
            I think it means RedHat takes opinions of their technical staff into consideration and thinks their money is better invested into Wayland.
          • benterix 9 days ago
            I see your approach is quite radical. But I think the real issue here is that we expect the developers currently working on Wayland working faster.

            I managed to be a bystander in this debate as I've been using X exclusively but I do hope that one day Wayland gets all the functionality and performance of X, and people stop getting frustrated by it.

          • ThatPlayer 9 days ago
            Yes, if Red Hat wanted to, there wouldn't be nobody. Like you say, if Red Hat wanted to, they could hire those people to work on X11. Conversely if "Red Hat doesn't want to work on X11", then they wouldn't hire those developers, and now nobody wants to work on X11.
            • okasaki 9 days ago
              Right, so the problem isn't "nobody wants to work on X11", it's that "Red Hat management doesn't want to hire anybody to work on X11", and phrasing it as the former is extremely dishonest.
              • ThatPlayer 9 days ago
                Why is Red Hat the one who has to pay for development? Why not any other Linux contributor? Ubuntu, Google, AMD. They don't want to hire anybody to work on X11 either. Why not you? That's why it's "everybody doesn't want to pay for development", which is shortened to "nobody wants to".
                • Vilian 9 days ago
                  actually ubuntu also paid people, but x11 is so fucked that was never enough, that's why google never used it, and why they adopted wayland in the chromeOS
      • wwalexander 9 days ago
        The people actually working on X11 decided it was worth starting from scratch.
        • okasaki 9 days ago
          So fire them and hire people that want to work on X11.
          • benterix 9 days ago
            Have you ever worked on a project when after several years it became clear that the initial assumptions were wrong and the current design is untenable? Like, users asking for simple features that you know could be implemented in just a few lines of code had the design been done differently but now require many weeks of months of clunky hacks? Because I did and in some cases the initial decisions were mine - I had to admit I was wrong and do what is logical to make it easier for both developers and users.
            • okasaki 9 days ago
              Are we talking about Wayland or X11 here? Because like the article mentioned, Wayland is now 15 years old and still sucks. Sure sounds like the Wayland design is untenable.
              • The_Colonel 9 days ago
                What's stopping you from using (and even developing) X11? It's an open competition.

                Wayland might reach feature parity in 2, 5, 10, or 20 years, and I'm fine waiting, because while X11 can kinda work well now, its archaic design with 10 levels of hacks will likely make it extremely hard to support new needs (it already struggles with some existing use cases).

                • Vilian 9 days ago
                  it don't support multi-monitor setup lmao
                  • akaij 9 days ago
                    Wayland? Sure does. I have been using sway for a while with three monitors; two of them 1080p, one 1440p.
              • orangeboats 9 days ago
                > 15 years old and still sucks

                People dragged their feet on Wayland support for at least 10 years.

                • okasaki 9 days ago
                  Yes, because it sucks.
                  • ahartmetz 9 days ago
                    The real problem was that Wayland was extremely bare-bones initially and needed many extensions to approach the usefulness of X11 for desktop use - it basically just supported dispatching input and blitting rectangles. And initially, getting extensions standardized was like pulling teeth. These days, "obvious" extensions get in in a matter of months (about one DE release cycle), not to mention that most already exist by now.
                  • orangeboats 9 days ago
                    Maybe because no one bothered to improve it for over a decade? ;)

                    The Wayland developers have limited manpower. Obviously it would take a long them for them to get Wayland to reach a critical mass when there wasn't support from the community.

                    Sort of feels like a self-fulfilling prophecy.

          • Hendrikto 9 days ago
            > Experts agree. And if they don‘t, we‘ll find ones who do!
          • sevagh 9 days ago
            I want to speak to the manager of Unix!
      • coffeeblack 9 days ago
        We can do both at the same time.

        Are you working on X11 though?

  • ceronman 9 days ago
    I'm a happy Wayland user for years already.

    But on a different topic, it's a bit hard for me to read such harsh critical posts on open source software. Wayland is free software, I don't have to pay a penny for it. It's truly free! not like Google/Facebook free when you pay by allowing the companies to spy on you and get all your data. It's also open source. And many people working on these things are volunteers.

    Nowadays, most software is written iteratively. You start with minimal features, and start fixing, improving things. Not only Wayland, most products are like this. You could argue that this in the only way to have a successful software product. Waiting years until everything is perfect is simply not feasible.

    All this time, while devs have been iterating on Wayland, X11 has always been available. And this is open source, X11 will always be available. Use it if you want. It's also open source, so you can even improve it if you want or dare to do it. So why being so harsh with those trying to make things better?

    • mrkeen 9 days ago
      > So why being so harsh with those trying to make things better?

      Distro maintainers won't know what to include (or what to default to) unless people speak up.

  • juujian 9 days ago
    This discussion feels like it's going in circles. Some important points to add -- Wayland already has some features that will never come to X11:

    * Support for different screen resolution across screens. I would venture a guess that most of us plug a screen into our laptop these days, I use this feature almost every day. * Similarly, different screen refresh rates across screens. I personally don't care. * Scaling of the home bar or whatever it's called. Couldn't be scaled in X11 in many cases, remained too small. Much better handled in Wayland. Essential feature for me.

    • ahartmetz 9 days ago
      Disclaimer: I think that Wayland is a much cleaner technology than X11 and I am planning to switch to it in, say, roughly a year - I currently don't need any Wayland features, so I'd be getting mostly downsides. You can tell that I'm not a raging fan.

      But some of your points are wrong or misstated.

      * Different screen resolutions are obviously supported on X11, you probably meant scale factors?

      * Scaling of the, I guess taskbar, on X11? has nothing to do with the window system. It has worked for 15+ years on KDE Plasma and I'm currently using it.

      • juujian 9 days ago
        Haven't looked at the details in a while since I have been using only Wayland for close to 5 years not. You might be right that there was a scaling factor issue I filed as "does not work (for me)."

        The task bar, was that switching on the fly and scaling. Might have been having issues switching back and forth between laptop screen and external and again filing that like the issue above.

    • jeroenhd 9 days ago
      > Support for different screen resolution across screens

      I think you mean scaling; screen resolutions aren't a problem on X11. It even does an inferior version of fractional scaling if you use the right software. It's much worse than Wayland's implementation, though.

      > Scaling of the home bar or whatever it's called. Couldn't be scaled in X11 in many cases, remained too small. Much better handled in Wayland. Essential feature for me.

      That's DE specific.

      HiDPI scaling is kind of a mess in Linux if you use screens of different sizes. Even on Wayland you're far from guaranteed a decent experience.

  • jonesyharry 9 days ago
    A lot of other tests, with methodology properly described, shows Wayland in Plasma 6 with a better performance than X11. This Dedoimedo article does not have any methodology only "feelings". And don't talk about features which for some people it is essential for a good desktop usage, like, fractional dpi scaling per monitor, HDR implementation
    • goosedragons 9 days ago
      Is it noticeable performance? Because I can't tell the difference between KDE 6 on Wayland VS. X11. X11 seems more buggy but I think that has to with priorities. Neither feels as fast as Trinity Desktop on X11.
  • dmvdoug 9 days ago
    > Three, Wayland has a fundamental design flaw; indeed, its mission is to make its own development easier (quoted from the original website), and that means it's not intended for the end user, and therefore, it cannot do what it needs to do. End users need functionality, how a product is developed is totally beside the point.

    I suspect this will get overlooked or set aside by the developer-centric crowd here, but as a non-developer Who observes that world with outside interest and curiosity, it’s a direct hit. Sank the battleship.

  • postepowanieadm 9 days ago
    Methodology description would be nice.
    • jonesyharry 9 days ago
      Yes, the performance part there is not description what was tested, only he did use for "6-7 hours". This article it is written with a heavy bias in mind
      • onlytime 9 days ago
        It's Dedoimedo. The entire point of Dedoimedo is whining loudly about whatever gets reviewed. If he stopped complaining about things his audience paid him to complain about, they would stop paying him enough money for overpriced vehicles that he then could complain about in an overly-braggadocios manner.
    • zamalek 9 days ago
      Especially for "display clarity." I smell confirmation bias here. Higher latency across two machines is hard to swallow but, sure, maybe they do have hardware where Wayland is broken.
  • klazutin 9 days ago
    I want to switch to Wayland after all the good things I hear about it and for better scaling on external screens. But I just don't understand how people are able to use it when fractional scaling is so blurry. I feel like in 2024 fractional scaling is everywhere, so that's quite important.

    I was really excited for Plasma 6 in that regard, and most of QT6 apps look good. But all webpages in Firefox, Chrome - they all look so bad. Am I missing something?

  • severino 9 days ago
    I don't get how Wayland's performance and responsiveness is worse than X11's (at least according to this guy). Because X11 followed a client-server model with tons of layers added on top to make modern things work, and Wayland was going to get rid of that with a cleaner design, etc., yet it's slower?
    • The_Colonel 9 days ago
      It is believable. It often comes down to driver/app devs testing mainly on X11 while Wayland has been mostly an afterthought until recently.
    • rstuart4133 9 days ago
      > I don't get how Wayland's performance and responsiveness is worse than X11's

      I don't get it either. But not because "software structure X11 is better than Y" reasons. X11 and Wayland are far too complex for that reasoning to work well. For example, X11 round trip latencies are a PITA over a high latency WAN, but nonetheless NoMachine worked around that structural problem without changing X11.

      I don't get it because when I ran Wayland instead of X11, one thing that immediately stood out was how much faster Wayland was. As in it was less than 1/2 the time go from login screen to full set up desktop on Debian 11 using Gnome / GDM3. I showed it to friends and they switched to Wayland based on that one speed difference demo. It really was that dramatic.

      When an article deviates that much from my personal experience I start questioning all it's claims. It doesn't help that the article is a long list of assertions without any data. Nor does he explain how to reproduce what he's asserting.

      It sounds harsh, but it reads like an opinion piece to me. I don't know how else you could interpret: "Panel icon drag & drop:: Wayland - Quirky, X11 - Normal" as anything but a statement on personal preference.

    • sprash 9 days ago
      Wayland is also a "client-server" model. If you use DRI3, X11 and Wayland even do the exact same thing "under the hood". Only the sub msec negotiation phase is slightly more complicated on X11. We are talking about very cold code paths here.

      Wayland not only has forced vertical sync it also requires every application to be double buffered. This can be detrimental for some performance metrics. That is why Wayland has worse performance despite being "simpler".

  • gigatexal 9 days ago
    I agree. I find x11 far better and easier than Wayland for my workflow. I3 works nicer for me than sway.
  • Vilian 9 days ago
    it's always wayland vs xorg, like xorg and wayland was the same thing, wayland has implementations, xorg is the only implementations, also he didn't even tested GNOME and kde had a huge f*ck ass transition to qt6 a few weeks ago, give them break lol, the responsiveness had an improvement for plasma 6.0.4 i guess, idk what version of plasma the op is
  • ITwork2019 9 days ago
    KDE plasma being the basis of Linux is BS. Why not test on gnome as well. KDE has always been bigger, more complex and slower
    • ahartmetz 9 days ago
      Disclaimer: I'm a KDE user and mostly-inactive developer.

      KDE has always been about the same size as Gnome in LOC and performance has been +/- the same as well, KDE just has more exposed settings which confuses people to think it's "bigger". At the time of Gnome shell in JS, KDE had much less performance trouble than Gnome, now they are about the same again.

      There is a thing that Gnome has going for it regarding Wayland, which is that Wayland has been the default on Gnome for much longer, so yes, for the time being it has fewer problems there. KDE is improving rather quickly, but it has not caught up yet.

      So Gnome is the showcase for Wayland right now and it should be used to evaluate what Wayland can and cannot do.

      As a KDE user, I am personally holding out on X11 for a little longer because I don't need great fractional scaling and multi-monitor support, so Wayland buys me little.

    • jonesyharry 9 days ago
      KDE for some time now it is faster than gnome. I think the test in KDE it is because Wayland it is the default in Plasma 6
    • xcdzvyn 9 days ago
      Testing multiple DEs would be great but I think there's merit to calling Plasma more Linux-y (or hacker-y?) than GNOME.
      • sevagh 9 days ago
        >Testing multiple DEs would be great but I think there's merit to calling Plasma more Linux-y (or hacker-y?) than GNOME.

        Give some reasons? Or is it just a "hunch", like also people who dislike systemd are hacker-y, or people who dislike sudo are hacker-y,?

        • ahartmetz 9 days ago
          I think it's because KDE has more of a "have it your way" attitude rather than "we know best".
  • florencegaby13 7 days ago
    [dead]