If anyone wants to give an ELI5 or a link to a video that ELI5 I’d be incredibly thankful
I swear that all the stuff I find is like super in depth technical stuff that just loses me in no time flat
deleted by creator
Wayland is a modular communication protocol that specifies how a compositor interacts with its clients, as well as a replacement for X11.
Wayland does not aim to provide a commonly used compositor implementation that could be used by everyone.This modular approach allows for different desktop environments to have their own Wayland compositor implementations that reliability produce the same or virtually the same output based on the communication specifications without the increased challenges of integrating it into existing Desktop Environments or Window Managers as it allows for more flexibility in implementation. As an analogy, it’s like if several people were making the same type of sandwich in different ways, as long as the “client” (the application) gets the sandwich they asked for, the specific process doesn’t matter.
In contrast, Xorg is a single, monolithic X11 implementation. Due to Xorg’s dated, non-modular design, maintaining and extending it’s functionality is extremely difficult. Infact, it’s lack HDR support to this day is due to its inflexible architecture.
Wayland compositors combine the functionality of a display server, window manager, and compositor into a single component. This simplified architecture is one of the main design goals of Wayland compared to Xorg/X11 where the display server, compositor & window manager are separate components. This approach ultimately streamlines the rendering pipeline where applications render locally and communicate directly with the compositor, cutting out the X server entirely. Wayland’s client-side rendering is more modern and cleaner than Xorg’s approach.
XOrg and Wayland are two different programs that serve the same purpose, which is to act as a sort of middleman between the graphics driver, the window manager(s), and the many programs you’re running.
XOrg is ancient. Early 80s ancient. It’s been added to since those days as need arose, and is therefore full of weird messy legacy stuff and jury-rigs. But it is also what Linux has used for a very, very long time, and is therefore like. Ol’ Reliable workhorse, yanno?
Wayland is a new and bold step that rewrites the entire system from the ground up to address the shortcomings of XOrg (don’t ask me to specify, I actually don’t know), it has, however, been criticised for not having (and devs downright not wanting it to have) certain features that XOrg has. But it can also run applications that expect XOrg with a thing (jargon escapes me) called XWayland.
Personally I’ve used both. And… Uh…
Wayland was a bit faster and smoother maybe? But it also caused some specific applications to misbehave and get all crashy-buggy. But that was a personal experience and may well have been my fault.
Wayland is not a single program. It’s specification and set of basic client/server libraries that can be used to implement a compositor. Compositor are implementations of the Wayland protocol and there are multiple such programs that are different one from another, but generally serve the same purpose and are compatible with the same clients. General idea behind Wayland compositor is that it blends images from different clients into single frame that is then sent to kernel
cursor.
Wayland is a lot more secure and the way it handles clients is a lot more sane in todays age, but thing is, it is a hell of a lot more complicated if you come from a window manager background, and your choice of applications is incredibly small. Sure you can run a lot of your stuff in XWayland, but what exactly is the point of running wayland if you are going to run less secure X apps with 94% of the same vulnerabilities?
X is less secure, but the security of your system from the outside is far *faaar more important than the security on the inside. Only when an intruder actually infiltrates your system do you have a real concern, and that’s only talking about remote access. Physical access given enough time is root access.
A lot of people tout X as being considerably more bloated than wayland which is why the project is basically in maintenance mode, wayland is definitely a lot quicker than X, but X has many reasons including support from literally every single linux application out there, something wayland is very likely never going to acheive even with XWayland.
This is false. X is not less secure than Wayland. It does have a different security model, which can become insecure if you misuse it. I don’t think people really care about situations where multiple user accounts access the same display.
In my opinion, the benefits of xdotool far outweigh any benefits gained by Wayland’s security model. It’s impossible to make xdotool in Wayland, because of its security model.
X is inherently less secure due to the fact alone that, given enough time, new vulnerabilities will come out that will not be patched because X11 is EOL. Yes it has a different security model, but that security model is not very well implemented because X has an enormous code base that, at the end of the day is still not bug free (nothing is). There is a lot of legacy code contained in X that legitimately does not even have a function because there is nothing around today to use it.
Larger codebase = more moving parts = more code to exploit. That’s the benefit to wayland aside from active support by the X/Wayland devs.
Almost all my apps are Wayland native
what exactly is the point of running wayland if you are going to run less secure X apps with 94% of the same vulnerabilities?
When running Wayland, one X server is started per X application. So that application won’t be able to e.g. keylog others.
I personally don’t care about security here, it’s all about a flicker free Multi-monitor experience with different refresh rates per monitor. X just can’t do that under any circumstances.
I run X in a multi monitor setup with different refreshrates AND resolutions and it is flicker free, I think that honestly is something that comes down more to your window manager or even your graphics rather than just X itself.
That particular vulnerability is one of the 6% that Wayland doesn’t have.
I mean I’d be happy to hear the other vulnerabilities then, cause I find it fairly unbelievable you can know how they’re handled on every single Wayland compositor
You’re missing the point. When you run an x client in wayland, you are still running an x server. Every vulnerability an x server has, xwayland has. I don’t need to name anything specific because you can legitimately go and look this up yourself.
Don’t think you are fully safe from keylogging in xwayland either, you are only safe from keylogging in wayland apps, xwayland clients can keylog other xwayland clients because x servers can see other x servers, in other words, they are all still very much running seperate PIDs on your system which means at the very least they can still touch each other. XWayland, by default, does not really sandbox clients because why exactly would it need to? Do you realize exactly how much of a feat that would take to truly isolate an x server from the rest of your system? That is an inherent flaw with X itself because X never set out to acheive those goals in the first place.
If you are at the point where you have to be worried about protecting your xsession or wayland session, you need to make a fresh install and tighten your security accordingly. All that tightening down your window manager does is make an attacker go for a lower hanging fruit on your system, that’s why you should make your machine unfeasible to even attack in the first place. You can go run around and try to tighten every little nook and cranny, but if someone is determined to get into your system, they will eventually get in. The malicious parties we are trying to defend against with general security practices are not nation state hackers, they are skids and standard malware.
Do you have separate scaling factors on the two monitors? I need 100% scaling on one and 175% scaling on the other, which I’ve not been able to figure out under x11
Yes, one is scaled 2x, I have a 4k60 and a FHD165. I’d recommend doing this with your autostart script using xrandr
Ah, right. That’s fine with integer scaling, but if you try to use fractional scaling with xrandr, it gets all blurry. I’ll consider 2x scaling though
1.5 scaling works too, I’ve done it with my laptop with qhd and fhd
Wayland is not a program, it is a protocol. The implementation is in the desktop or Window manager.
My neighbors dog is Wayland. He’s a good boy!
Famous country western singer Wayland Jenkins.
Wayland is a display protocall. What does that mean? Well, it describes how a program on linux tha displays graphics to a user should work. Examples of programs which do this include kwin, mutter, and sway. It’s why you see stuff on your monitor and why when you open an app, it’s in a window, which can be moved.
All that along with a good amount of supplementary tools, makes up wayland.
Currently we are transitioning from a 40 year old protocal called X11 which has many issues and few people willing to work on. Wayland offers a codebase without the spaghetti, more security, easier feature development, and to a point backwards compatibility.
No matter! Pick a side now and join the jihad!
It’s not even hard picking sides when Wayland sucks so bad…
(I don’t know what Wayland is either)
Wrong choice buddy (wayland is the best thing ever happened trust me 100%!!!)
I love this whole comment thread.
deleted by creator
Wayland Jennings, a great country singer
I’ll try to explain:
In the past we only had text terminals without a graphical interface ~1990 (sh / bash / tty). so the display server (Xorg / formaly known as X11) was born. it’s a piece of software that allows programs to not only print text to screen but to draw complex geometrical shapes. This allowed for gui programs that use frameworks like qt or gtk or motif… to draw buttons and shit using Xorg.
For having mutliple “windows” / “programs” running they invented a window manager, that drew a border around the windows with some min / max /close buttons and the modern gui was good to go. btw. the next step are desktop environments like kde or gnome but that would be too much for this post.
Back to display server (Xorg) and window manager (kwin, mutter, metacity, dwm, awesome, i3…): the design of xorg is super old and has many shortcomings like hdr, variable refreshrate or security: every window can read the contents of or produce input for other windows which is a nightmare for todays security standards.
So wayland was invented to use state of the art concepts and design. Here comes the big problem: State of the art concepts required wayland to not be a display manager like Xorg. wayland is more like a protocol that defines how to draw windows, resize and close them or how they are allowed to talk to each other. Since wayland is only a protocol+ the window manager now needs to do the heavy lifting of coordinating this protocol, drawing and stuff like that, which in turn results in way less window managers that support wayland because they are complex as hell.
Since modern software needs to support a heck of a lot of different ways for applications to interact with each other rewriting these functionality for wayland needs time. thats the reason desktop sharing/recording or muting your mic with a keyboard shortcut when the webex window was not in focus wasn’t possible at first. new solutiones needed to be developed for that (pipewire for example). Many programs would run in an xorg window that was implemented as a wayland window (xwayland) which made transitioning to wayland much easier but introduced new problems.
At the moment we are in a transitional phase. many programs already work without problems, but many software still require features wayland doesn’t have and might never implement. Everyone needing that software is hating on wayland. everyone needing variable refreshrate, fractional scaling or security prefers to use wayland. And the fighting begins.
Disclaimer: There might be errors, simplifications or misunderstandings on my side but thats the way i understood if. Feel free to correct any mistakes on my part.
I read this with the voice of the narrator in the Animatrix movie.
For having mutliple “windows” / “programs” running they invented a window manager (and for a time, it was good)
I hope this made it more enjoyable to read. English is not my first language
I wouldn’t have guessed that!
Super-short version:
The system that Linux uses to draw anything on the screen (showing the desktop, your windows, their contents, etc) is called a display server.
Linux has been using a display server called the X Window System (or x11) since its inception, but it’s ancient and has limitations that can’t be fixed without breaking everything that depends on it.
The Wayland compositor is the new display server that will be replacing x11, improving security and adding support for newer features like HDR. It’s nearly ready for a full release now, and is already the default for some Linux distributions.
Wayland is not a server or a program. It is a set of protocols implemented by the desktop. Basically your desktop draws to the display and then your apps connect to the desktop
Hence my reference to the Wayland compositor rather than just Wayland.
Since the 80’s, Linux has been using a display server called the X Window System
This is, of course, not true, given that Linux did not yet exist in the 1980s.
Unix-like systems that predate Linux did already use it in the 1980s.
That’s an important point for the youngsters here who think Linux was always a thing: x11 far predates Linux
Are you know what predates x11? Love and compassion
Thank you for coming to my Ted talk
In short it’s essentially a protocol that defines what type of requests must be sent between applications and a compositor.
I don’t know what compositor is and at this point I’m too afraid to ask
It draws on the screen what programs and the desktop environment tell it to – including opacity, tiling, clicks, drags, updates, etc. Everything you visually perceive on the monitor is the product of the compositor.
Okay but why is it seemingly always associated with gaming? Anytime someone mentions Linux gaming, I often hear people asking them if they’re using Wayland.
I’ll step aside for a longer answer on this one. But, I can say that for my usecase (which is mainly gaming on my home PC on an all AMD build with KDE on Arch) it is noticeably and measurably faster than X11. We’re talking 2-15 (the median is around 4 or 5) FPS depending on the game on 144hz screens.
See what you did?! Now there’s two of them!
deleted by creator
Like you are 5: Wayland is the thing that brings the beep boop from the computer to a screen. It’s the son/daughter from Xorg which is old af, and needs to die because no one wants to work on it trillions lines of code.
Like you are 5: Wayland is the thing that brings the beep boop from the computer to a screen. It’s the son/daughter from Xorg which is old af, and needs to die because no one wants to work on it trillions lines of code.