I stumbled upon this post regarding an earlier rant about wayland, but now it seems fine, according to the author.

After using Linux for nearly 5 years, using both depending on distros defaults, I have to admit that I never got the core/main/game changing differences between wayland and x11.

To be said, that I also dont do fancy linux things other than basic sysadmin stuff and from time to time repair the mess my curiosity left behind.

Could somebody explain the differences between those two and afterwards maybe also say some words about what this has to do with the difference between window managers and desktop environments?

I am also happy about links to good blog posts or stuff, that target this very questions (as long as the questions make sence of course). Thanks beforehand :)

  • ZWQbpkzl [none/use name]@hexbear.net
    link
    fedilink
    English
    arrow-up
    13
    ·
    17 hours ago
    • X11 is the displayer server, a real process running on your computer.
    • X11 window managers are clients to that server. It communicates with the server and tells it where to draw the windows.
    • A desktop environment is a window manager plus a whole suite of other applications and processes that a common computer user would expect.

    A window manager and display server are the bare minimum of the x11 graphical environment. Desktop environment is draw the rest of the owl.

    Wayland is is a completely different beast than x11. There is no Wayland program, just a wide set of protocols. There are no Wayland window managers, just “compositors”. Compositors are responsible for everything both the display server and window manager would do in x11. Everything is up to the compositor to implement. It just has to follow the Wayland protocols.

    This can make migrating to Wayland a bit tricky. If a program worked in one x11 window manager, it was basically guaranteed to work in all window managers becuase it was always communicating to the same X server directly. In Wayland that’s not guaranteed. If a compositor didn’t (or didn’t correctly) implement a certain subset of protocols then the utility wouldn’t work correctly.

    IE take xrandr and wlr-randr. They both are a , “display settings” CLI utility. xrandr works on any x11 environment because it always communicates with x11. wlr-randr only works if the compositor implements the wlr_output_management_unstable_v1 protocol. See the protocol deifnition here