4 ms·
The biggest problem of Wayland is that it has the wrong philosophy ("Every frame is perfect") and the wrong abstractions ("Everything in the universe is an arra
by sprash 5y ago
The biggest problem of Wayland is that it has the wrong philosophy ("Every frame is perfect") and the wrong abstractions ("Everything in the universe is an array with RGBA values"). If your foundations are flawed like that you are doomed from the start. What remains is a very expensive and cumbersome way of blitting bitmaps.
- margalabargala 5y agoPresumably the designers of Wayland do not think that this philosophy and those abstractions are so fundamentally flawed. Could you explain why these concepts are so flawed, for those of us to whom it is not immediately obvious?
- sprash 5y agoFor some applications you want "every frame is recent" and can tolerate some glitches as trade off for not having perfect frames. Also displays have different pitch values, subpixel arrangements, color spaces, etc. A line from A to B might look completely different on different monitors. By offering only RGB arrays as abstraction Wayland pushes the the need for care of those differences down to clients which is a mistake. Additionally a Desktop system in general is much more than a bunch of bitmaps blittet together. Applications need to interact and such functionality has to be tightly integrated into the compositor with standardized protocols otherwise it will be impossible to have such functionality. Taking screenshots, drawing to the root window or knowing about coordinates of windows from other programs are some examples.
- kaba0 5y ago> For some applications you want "every frame is recent" and can tolerate some glitches as trade off for not having perfect frames Oh and what gives, wayland just has an extension for this use case! HDR is work in progress, there is nothing unchangeable in Wayland that would disallow different buffer types.
- im3w1l 5y agoIt tried to come up with issues (out of gamut colors? other optical properties than opacity - turn a portion of the screen into a mirror? not correctly modelling color filter arrays?). Best I could come up with was that it's not VR-ready. Which might be an issue in 15+ years.
- bitwize 5y agoPeople with decades of experience, each, in the Linux and Unix graphics stack, have determined that the most efficient thing to provide, from a display server perspective, is a way of blitting bitmaps (specifically, of compositing bitmaps representing viewports into a final screen image) and that, if there is rendering to be done, it should be done client side. This is the consensus of those with domain knowledge, and it is what is supported by the broader community (toolkits, DEs, etc.). It's also how the major toolkits have been doing things anyway, irrespective of how X11 actually works: draw everything client side and send it to the X server for display. So, your X server is really effectively nothing more than a shitty Wayland compositor. And people wonder why Linux lags behind Windows and macOS in terms of desktop smoothness and quality. When all is said and done, you may as well remove the legacy cruft (drawing and filling primitives, the fucking X font architecture, etc.), delegate remote display to a protocol that is better designed to support it such as RDP or PipeWire that only gets loaded when necessary (which it's not for 90% of users in 90% of use cases), and streamline the display server itself to just that which modern clients actually need, and that's Wayland. Wayland just brings Linux, barely, up to the state of the art set by Windows, macOS, iOS, and Android -- which have prioritized perfect frames and smooth compositing and presentation since forever ago.
- alerighi 5y agoSure, it has better performance if there is not a networking protocol in the middle. What I like about X, that is missing in Wayland, is that you no longer can run the X server on a machine and connect to clients (application) on another. And if you think about it... this day with the cloud it could have been the killer feature! Nowadays is normal to have programs that run in VM in the cloud with a sort of remote desktop client. X11 would have been more performant even with not so fast network connection, because you have the rendering done in your local PC and only commands that pass on the network. And if you think about it for a moment, isn't how web browsers work? Where you have the server that sends some HTML to the browser (nowadays JS and other stuff) and the browser doing the job of rendering? If you compare the X server to a web browser and the X client to a web site, isn't very similar? And this is the model that is winning nowadays. Meanwhile we think about a new graphical server that cannot be used on a network, in a period where we are returning in the era of mainframes, when X was created (granted, nowadays is not a big PC in a room but a multitude of VM in the cloud). The problem is not X, the problem is that X was never used at is full potential because we are so used to the (to me not optimal) model that Microsoft/Apple proposed to us. You could have had monitors with an integrated X server, like in the past you had serial terminals, without fans, cables, and stuff on your desk, just a small ARM processor with a GPU to render things on screen. And a single network cable going to a computer that you had anywhere else in the house/company, or in the cloud. No need for HDMI or other display interfaces, just run a network cable to each monitor, plug keyboard and mouse on the monitor, you are done. The GPU is in the monitor, doesn't it make more sense? How much money that could have saved to a company? It would have been more efficient than thin clients that connect to an RDP Windows machine that has to have a GPU just to render the remote session? Large installations like displays used for public information? Why use a full screen web browser, it's overkill, when you could have simply launched a X server on the particular display, then launched an application on a server and connected to the IP of that particular monitor to display everything you wanted? The architecture of X was modern 40 years ago when it was invented. It in some ways predicted the future, and now that we are discarding it for something that tries to imitate Windows/macOS (badly, because these operating systems just works well, Wayland doesn't). Is it worthed?