If anyone wants to give an ELI5 or a link to a video that ELI5 I’d be incredibly thankful

I swear that all the stuff I find is like super in depth technical stuff that just loses me in no time flat

  • Gormadt@lemmy.blahaj.zoneOP
    link
    fedilink
    arrow-up
    3
    ·
    7 months ago

    Okay I think I’m following so far

    And the whole “show stuff on screen” thing

    I’m guessing it’s kinda like: you’ve got a couple people sitting there wanting to play with Legos and only so much room to play. They don’t have direct access to the play area because of security reasons so they have to ask someone to place the Legos for them. Wayland, X11, and Xorg are all different people they can talk to to place the Legos in a way where no one is fighting for space.

    So basically it’s a new way for programs to negotiate who has what part of the screen?

    I’m guessing Wayland is either more feature rich or lighter on resources and that’s why it’s a big deal?

    • devfuuu@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      7 months ago

      Yeah, it’s a new way that programs use to draw their stuff on the screens.

      In the middle usually are other stuff that abstract away that part from normal application development, so in general, most applications don’t need to care with the low level thing that is being used to draw their stuff, but there is always somethings that some apps will do to bypass or expect to work in a certain way, so sometimes changes and time are need to adjust those applications to play well with the new way of drawing.

      The core idea of why Wayland matters is that it is designed to take advantage of the hardware features and how hardware is designed in this century. On xorg, since it was designed around the architecture and expectations of what people thought things should work in the 70s, it was becoming really hard to add features related to how newer hardware worked. Things like multiple gpus, prime architectures, multiple surfaces/screens with multiple aspect ratios and dpis, varying refresh rates, taking advantage of hardware acceleration for graphics drawing, etc, were all really hard things to do because the code had multiple concepts not applicable to the modern age. So, essentially developers were already bypassing 99% of the internals of xorg architecture and hacking things in a very hard way. They basically decided/experimented with stripping apart all the things they didn’t need and didn’t matter and reduced it to the most basic and core thing that mattered: “how to push these pixels to that surface”.

      It ended up being a successful experiment, in that it showed it was possible to do.

      Now, in the current world, there are solutions that need to be implemented to bring some features up to speed since the wayland thing is so core and barebones. And this is a good thing. It allows developers and applications to think really hard about what they need to do and how they should do and how things should work across all toolkits and desktop environments. Obviously this takes time to make decisions and ensure everyone is onboard, experiment and reiterate on it until good solutions are found.

      This last point is what makes end users frustrated when trying wayland because some things are lacking or not ready yet. For the general use, users without really specific needs, they can already use wayland now, but for others they can’t because of their particular needs or specific hardware situation.

      If xorg is working for you, then there’s no need to worry. If it’s invisible to you then most likely you shouldn’t care, because the desktop environments are changing their sessions to use wayland by default and most users will not perceive any difference. If users see problems and then notice that it’s related to using wayland they can choose explicitly to use the xorg version since it will still work for a while.

      Hope I didn’t make it too complicated now.

    • The part about negotiation is a bit off-track.

      On one end, in the kernel, there’s a big array of pixels that is a picture that gets drawn on your monitor (or monitors). On the other end are a bunch of programs that want to draw stuff, like pictures of your friends and web pages. In between is software that decides how the stuff the softwares want to draw get put into the pixel array. This is Wayland; it was written to replace Xorg, which is what did that job for decades prior to Wayland.

      If you understand the concepts of Xorg and window managers, Wayland + a compositor = Xorg + a window manager. Wayland abdicated a lot of work to the compositors, making it simpler and easier to maintain (and compositors more complex and harder). But together, they all do basically the same job. If one of the compositors implemented a network protocol, then you could declare equivalency.

      • Rustmilian@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        7 months ago

        Display Server + Compositor + Window Manager = Wayland Compositor = Implementation of Wayland Protocol

        Display Server = Xorg = X11 Implementation

        Xorg + Separate Compositor + Separate Window Manger = the X11 equivalent of a Wayland Compositor

    • redcalcium@lemmy.institute
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      It’s an entirely different design than X11. It gains features not possible to implement on X11, while losing many features exists in X11. People that like those new features love Wayland, while people that use those missing features hate it.

        • redcalcium@lemmy.institute
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          7 months ago

          The most obvious, user-visible loss of features are applications no longer able to grab/mess with contents of another application’s window. Screen sharing and remote desktop was broken for a long time in wayland until it’s fixed via pipewire recently. Under X11, rendering is free-for-all, where any app is free to do whatever it wants to other app’s window. Heck, you can even tell mpv to play video on a cell in librecalc if you feel like it. Such shenanigans is now impossible in wayland because it’s a big security risk (though I’m not sure if it’s actually exploited in the wild).

          The most hyped feature of wayland is better support for high resolution “retina” display. Also, you can use multiple monitors with different dpi/scaling in wayland. IIRC it’s not possible on X11, though you can use xrandr to force the scaling on each monitor, though it’ll result in blurry texts because the scaling is not done natively.