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
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
andwlr-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 thewlr_output_management_unstable_v1
protocol. See the protocol deifnition here