On Sat, 23 Aug 2025 10:45:08 -0700
"Snyder, Alexander J via PLUG-discuss"
<[email protected]> wrote:

> If anyone knows, could they give me a quick run down of the "X vs.
> Wayland" ... I rarely use a Linux desktop environment so it barely
> effects me, of ever ... But you can't be involved in Linux (these
> days) without at least a cursory knowledge of what's going on.
> 
> I could have googled it, or asked A.I., but I'm more interested to
> hear the perspective from the "boots on the ground" as the saying
> goes.
> 
> What do you like, dislike -- do you use it? Are you like me, when
> encountered you rate quit and just use X11 as often as possible?

As a guy who is putting the finishing touches on a kind of tricky
Python tkinter graphical playlist handler, I was forced to learn more
than I ever wanted about X11 (I'll call it X) and Wayland.

X is, or should have been, a pretty simple concept. A program creates a
"window" in X. X tracks mouse events within that registered window and
sends the event to the window manager that:

1. Puts decorations and extra functionality on the Window Manager view
   of the window.

2. Is mostly in charge of which window "has focus".

3. Interfaces with your GUI program, using tkinter as the interface if
   you're using Python with tkinter.

         _________      ___________      ___
You <==>| program |<==>| windowmgr |<==>| X |
         ---------      -----------      ---

The reason we have tens of window managers is because writing a window
manager is relatively easy. Not easy enough for me to write, but within
the scope of a mere mortal. No matter how you like your workflow,
there's a window manager for you.

[NOTE] I haven't discussed Desktop Environments, because they pretty
much just add high level utility to window managers and thus aren't
relevant to this conversation.


Wayland is not software, it's a specification. It specifies what
-compositors- should have. A Wayland compositor is the equivalent of a
simplified X tightly welded to a window manager. Because this wm/X
compositor weld is so tight and extensive, it means that if you want to
write a compositor, you need to write from scratch software to reserve
windows, receive keystrokes and mouse clicks, and keep them in sync
with the visible user interface of the compositor. Comparatively
speaking, this is a monumental task, which is why there are so few
compositors, and half of them are simple tiling UIs.

It's kind of ironic that a lot of the same people making a big deal
about X's age use graphical UIs looking like they got pulled straight
from a 1987 VAX workstation.

The fact that Wayland is hosted under the auspices of Freedesktop.org
is telling. Freedesktop.org is allergic to thin interfaces and
modularity. Wayland could have been done much better, with a separate
window manager that easily plugs into the Wayland specification
substitute for X, via one or a very few thin interfaces with no or few
feedback loops. Security could have been handled in those interfaces,
so a carelessly written window manager with security problems would not
function with the Wayland X substitute, and a very specific error
message and log message would tell exactly why. If they'd done it like
this, we'd have all been using Wayland between five and ten years ago.
But that's not Freedesktop's style.

So here's what I'm doing: I'm staying on X11 for now. Yes, X11 sucks,
but at least I can have my choice of many wonderful window managers.
When staying on X becomes impractical, I'll switch to Wayland, making
frequent use of Xwayland, a layer that allows *some* X apps to run
under Wayland. When, several years from now, Xwayland finally goes
away, there will at least be a lot more Wayland-compatible software and
window managers, and also, by that time, there might be a new, truly
better graphical system for Linux, and perhaps I'll just switch
directly to that.

HTH,

SteveT

Steve Litt 
Spring 2023 featured book: Troubleshooting Techniques of the Successful
Technologist http://www.troubleshooters.com/techniques

---------------------------------------------------
PLUG-discuss mailing list: [email protected]
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss

Reply via email to