I am new to Linux. What’s the differences between Xorg and Wayland?
Both are display servers which is software that allows programs to write to the screen. X is older and was created back in 1984 at MIT and Wayland is a much newer protocol that is designed to work better on newer (post 90’s) hardware.
The biggest difference is that Wayland basicly allows your desktop direct access to the screen and X has a server that runs and allows your desktop to connect to it. X was originally designed to run remotely as back in the day there was one big commuter that many people connected to.
If this is all very confusing you probably should just stick to your distros defaults. Most of the time you don’t need to care.
Wayland is a communication protocol that specifies the communication between a display server and its clients, designed to be a replacement for the X11 window system protocol and architecture.
I might be a little nitpicky here, but I feel it’s an important distinction to make as there is no single common Wayland server like Xorg is for X11.
A display server using the Wayland protocol is called a Wayland compositor, as it additionally performs the task of a compositing window manager.
Xorg on the other hand is basically one fat display server designed like a house of cards that everyone uses.
For a user: In Wayland programs are supposed to draw their own title bar. Java aplications and old applications must use a backwards compatibility layer that can cause flicker and bad font rendering. The terminology is different (compositor = window manager). Some niche new programs may only run on Wayland. Wayland hasn’t been adopted by BSD (AFAIK).
For a programners: Wayland has more modern, tidy code, but not all toolkits support it natively and few are easy. If you code exclusively for Wayland, a lot of users won’t use your program at the moment.
In Wayland programs are supposed to draw their own title bar
That’s incorrect. GNOME does it like this, Plasma doesn’t. KDE came up with a standard so a program can communicate this to the DE, GNOME slept on it. That’s why e.g. mpv doesn’t run well on GNOME.






