4 ms·
Very naive question, but what is the difference between this and XWayland?
by thdhhghgbhy 1y ago
Very naive question, but what is the difference between this and XWayland?
- lproven 1y agoAIUI: you need an existing compositor to run Xwayland. An X server is a display server: it can run on its own, and apps can output to it, with nothing else running. When one program runs early on and provides windows furniture, that's a window manager. If that program (or associated ones with a uniform look and feel) also provides UI functionality so you don't need to use a command prompt, such as tools to launch apps, see and manage files, edit text files, mount and unmount media, and maybe things like see the time, adjust system settings, do calculations, etc. then that is called a desktop environment. Wayland is not like this. Wayland is a protocol. There are no separate display servers. What under X is called a "window manager" usually talks Wayland and so other apps talk directly to the WM over Wayland in order to display stuff. There's no bottom layer program, no server. The WM is the display server. Without a WM you can't run anything. That means you need a Wayland compositor to run anything else, such as XWayland. This means that you can't use an X WM to be the compositor, because the layer needed to run the WM is not there until another different app provides the Wayland environment, and then it's the WM and your X WM can't take over. Remove the compositor, there's no GUI. This is not a question of whipping out the tablecloth from under a fully-laid table. It's removing the table. So what this project looks like is a compositor that isn't a WM and so enables Xwayland to run full-screen as the root window, letting you use an X WM as your desktop with no Wayland WM. It sounds of great interest to me because whereas there are about half a dozen X desktops and environments I like, some I've been using for decades now, there is not a single Wayland environment I would be willing to use.
- hakfoo 1y ago> There's no bottom layer program, no server. The WM is the display server. Without a WM you can't run anything. IMO, this is Wayland's original sin. The "Display Server" part of things is tens of thousands of lines of dealing with obtuse hardware and protocol technicalities. It needs to be fast, reliable, secure, and up to date, but otherwise is very much anonymous infrastructure. The "Compositor/Window Manager" part of things is relatively small and likely to be much more opinionated on what features and behaviour it offered. In the X11 days, a Window Manager could be simple enough to fit in a chapter of a book (the O'reilly X11 books had one IIRC). For Wayland, because they're under one hood, to get to the same place, you're looking at a huge, ongoing development effort, even if that consists of importing something like wlroots and building on top. That's enough to severely crimp the array of choices available. People are being told they have to give up their X11 workflows and configurations, and the replacements are often lacking in some dimension (less functional, difficult to configure the same way, more resource intensive) Nobody should be surprised there was hostility and pushback! Maybe the way to go would have been instead of building the ugliest possible Windows Vista On An Old Pentium 4 That Doesn't Qualify For Aero Glass look on Weston, they should have focused on building a "shim compositor" library that was specifically designed to ease porting X11 window managers, by providing APIs that looked similar to existing X11 ones.
- thdhhghgbhy 1y agoVery clearly written, thank you.
- lproven 1y agoThanks!
- saurik 1y agoThis just feels like the kind of thing the people who built Wayland should have focussed on for their first real release, as that would have allowed them to simply deprecate X11 immediately with a "better" architecture rather than go to war for a decade (and build up a ton of bad will in the process) forcing people to first try to make major adaptations to everything.
- ChocolateGod 1y agoBut Wayland is a better architecture, at least when it comes to 'here is my output, put it on the display plz' situations, it was always going to be a painful migration process because there's not a single toolkit. That's not to say there's some non technical decisions which are making porting a lot harder *cough cough* mouse warping *cough cough*
- saurik 1y agoI mean, does it? I was under the impression that it enforced double- or even triple- buffering, which is NOT what you want in "here is my output, put it on the display plz" situations. Maybe you are implying that they finally fixed that?... but, the fact that they tried to cram all this stuff down everyone's throats first before fixing obvious deficiencies--leading to a bunch of obsolete understandings over totally fair complaints about software a decade too early being constantly evangelized by asshats on forums saying you're dumb for still using X11 when Wayland was not even a half-baked solution--is extremely dumb.
- tristan957 1y agoThe people that developed Wayland were the exact same people that developed X.Org. I'm sure they thought of all possible options because they are actually very smart people.
- saurik 1y agoWell: 1) it isn't always the case that the people who develop a system in the center of an ecosystem are actually the people who know best how the entire ecosystem should work (and in fact there is an entire trope of second system effect destroying such a reboot); 2) it isn't at all obvious to me (and in fact it feels incredible to me) that the people who put most of the effort into X.Org decades ago are actually "the exact same people" who are in charge of maintaining it today; and 3) the specific thing we are talking about here has been discussed numerous times in the past decade by people developing low-latency and high-performance apps--such as games, which is where you really want to be able to get the display server out of the way--and was, in fact, known to introduce a ton of latency that they were going to figure out how to fix some day (a similar situation to how Wayland completely fucked up display scaling by forcing integer scaling, which required patching later and now is a wart in the architecture already).
- creatonez 1y agoIt uses XWayland under the hood -- it is an implementation of rootful XWayland that is presumably properly integrated, rather than being glued to a window. Meaning you get the full Xorg desktop, and things like panels will (hopefully) properly snap to the side of the screen instead of displaying as a window.