This is a valid question for newcomers even for me also don’t actually know very well what is the difference between both and i didn’t find a good compact answer in internet does anyone has good knowledge about it so they can help others to choose when, what to use.
Probably because there isn’t a good compact answer…
I suppose the most compact answer is that you should probably use Wayland unless it doesn’t work for you in some way.
If you want a more detailed explanation, this is as close to a plain english answer as you are likely to get:
the most compact answer is “42”
and “wiki wayland” is your friend of good knowledge too
This is a good answer btw but actually i was looking for more like a technical explanation. But still that was good enough.
Have we tried the official Wayland FAQ?
Technically, they are more different than you would think.
Here is a more technical explanation:
https://wayland.freedesktop.org/docs/html/ch03.html#sect-Wayland-Architecture-wayland_architecture
This is over kill for a technical answer thank you
For me, the most important difference is less technical and more usage-related. When Wayland came along it took me a bit to figure out whether it was for real or was more… aspirational. When I started using Linux the display server was XFree86. Then Xorg came along and it was “we’re gonna clean this crap up and it’s gonna be a true community project”. Cool. But then fairly quickly after that some people started saying, “yeah… but it doesn’t fix the real problems…”. Then people started talking about small pieces of the whole thing, “dri”, “mesa”, “compositor”, etc. So when Wayland came along I wasn’t sure if a) it was just another one of these pieces, or something grafted onto the X protocol, and b) vaporware or not.
Obviously it is not vaporware! And the most important thing, for me, is that it is a genuine replacement of Xorg. Also relevant, because it is a replacement, one might expect some quirks to come up when certain features of existing software don’t work smoothly with the new display protocol. I assume those are being worked out and everything will be smoother as time goes on. It amazes me that the community can coordinate such a massive change when there are so many different parties involved, none of which has ultimate authority to push anything.
I’m also interested in the technical details, but I can’t presently speak to any of that.
X11 means every app can basically do what it wants, record every keystroke, scan your screen including other apps, place itself anywhere and use any way it wants to do so. Remote Desktop software can just mirror your screen and send input events without anything stopping it.
Wayland means every app needs to follow standards, request what it wants to do from your main Operating System. It cant read other apps etc, as many permissions are handled though Portals or static permissions. Static permissions will some day hopefully be gone, so that the user has control and apps need to be transparent with what they want to do. Wayland also differentiates between foreground and background apps, and the “priority” where apps place their interfaces, called surfaces and subsurfaces. A popup menu is a subsurface of the main program, it belongs to it and this is transparent.
Wayland brings order in the chaos of app permissions and “what belongs to what app”. And it is extremely important for not trusting apps to do anything they want.
Wayland comes along with Pipewire and Flatpak, two other modern Linux Desktop standards that unify, secure and also enhance things
This is my nontechnical understanding of it.
By now, many applications “just work” with Wayland, and many legacy X11 apps work with Xwayland. One legacy app that (in my experience) has surprised linux users is xeyes: Wayland’s isolation means xeyes can only respond when the cursor is in the xeyes window. It would be nice to have another wayland mechanism to locate the cursor when you loose track of its location on a system with several large monitors showing messy images that are camouflage for a cursor.