8 ms·
Remember the Unix philosophy? Something about small, well defined components doing a single thing well? X violates it in every way possible. It has probably fo
by Tuna-Fish 15y ago
Remember the Unix philosophy? Something about small, well defined components doing a single thing well?
X violates it in every way possible. It has probably found a few ways of violating it that are not possible, and done it anyway. Wayland is a part of moving back to the roots. It will lack at least 95% of all the features X has, because they really, really shouldn't be implemented as a part of a huge, monolithic system that has to run as root. Instead, all those features should be their own libraries/daemons.
As such, Wayland will never understand networks the way X does. Which is good, because it shouldn't. Wayland will never do anything put pass OGL handles between processes, and do the last few stages of compositing, and forward input. It actually has a well defined scope, unlike the amorphous blob that is X.
Nothing stops you from implementing a network transport layer above Wayland. And somebody will. And since there is room for competing implementations, in less than two years, there will be better network display protocols than what X does. When you split huge, monolithic things into smaller parts with clearly defined interfaces between them, the parts themselves become easier to make.
> Other features lacking in Wayland:
- A close button which works
This is trivial. Just don't draw the close button with the application. Personally, I want my "close program" in a static place on the screen, so that's not a problem at all. If you want close buttons above windows, make the window manager put a small box it owns in the upper corner.
- consistent decoration across apps
When is the last time you tried to run apps from different toolkits on the same desktop? Notice that they look the same because it's implemented in the toolkit? X doesn't have consistent decorations across apps, and hasn't had them for a decade.
- efficient cut and paste
Why, oh why should that be part of the display server? Just why? Do you just want to pile all the features in the system into one big ball? And as for efficient, just how often do you cut and paste anyway?
Wayland lacks feature X is not a valid criticism against Wayland. Because that does not mean that a system using Wayland lacks feature X. And the primary feature of Wayland is that it implements as few features as possible.
- deleted 15y ago[deleted]
- rwmj 15y agoYour argument would be a bit stronger if Wayland was actually modular. Instead is does (or at least, attempts to do) all of the above, except networking.
- Tuna-Fish 15y agoUmm, no? Wayland does giving out pointers to buffers, compositing, and input redirection. These all strongly depend on each other -- you cannot correctly redirect input without knowing the exact location of everything on the screen, you cannot composite without having access to the buffers. Any attempt to modularize the parts further would only lead to false independence -- no matter how you organize them, the parts are going to have to intimately know of each other to work. A minimal Wayland implementation is "less than 1000 lines." I really cannot imagine what else could be cut from it. Wayland does not do clipboards, rendering, fonts, networking, drivers, or anything else that makes the X server source tree be hundreds of megabytes.
- ori_b 15y ago> Wayland does not do clipboards, rendering, fonts, networking, drivers, or anything else that makes the X server source tree be hundreds of megabytes. X doesn't do clipboards, drivers, or fonts. Network transparency does not affect the code size. And the source tree is approximately 25 to 30 megabytes. It contains 7 different X servers (Xdmx, Xvfb, Xnest, Xquartz, Xwin, Kdrive and Xorg). The server you're talking about contains 6 megabytes of machine dependent code. In fact, all the infrastructure that Wayland depends on is the infrastructure that X uses.
- jlgreco 15y agoHave there ever been any successful cases of a UNIX philosophy window system which could be used to back up the "really shouldn't be implemented as a part of a huge, monolithic system" thing? In most circumstances I'm totally cool with accepting the superiority of the UNIX philosophy as an axiom, but I don't think I am in this particular case.
- throwaway64 15y agoplan9's rio is very unixy, and quite "successful" at what it does.
- jlgreco 15y agoI was thinking more along the lines of: do Windows or Mac OSX do it in a more unix-y way than X? When it comes to "GUI stuff" I am a consumer. I don't care about better software engineering practices in my windowing system unless that means the experience will be better for me. So far I am not seeing that offered by Wayland, nor am I seeing any real evidence that better engineering would or could offer me a better experience. If this were still 1995 and battling X was still something I did then I'd be less inclined to ask for evidence, but these days X is simply something I only know that I use because it used to be a hassle. I haven't had to know about it for years, which I think is the way Windows and OSX work for their users.
- Tuna-Fish 15y agoThe advantages of a more unixy display system are all indirect. Right now, working on that side is pretty arcane. Wayland will make it much simpler, so that cool ideas and new innovations will get turned into reality faster. The only direct advantage Wayland will bring is a flicker-free and tear-free desktop.
- jlgreco 15y agoI'm under the impression that flicker-free/tear-free are features that KVM brings to Wayland and that X already has if you use KVM drivers. Is that not the case?
- el_presidente 15y agoWayland lacks feature X is not a valid criticism against Wayland. Because that does not mean that a system using Wayland lacks feature X. And the primary feature of Wayland is that it implements as few features as possible. 1st Bob: What you do at Initech is you take the specifications from the customer and bring them down to the software engineers? Tom: Yes, yes that's right. 2nd Bob: Well then I just have to ask why can't the customers take them directly to the software people? Tom: Well, I'll tell you why... because... engineers are not good at dealing with customers... 1st Bob: So you physically take the specs from the customer? Tom: Well... No. My secretary does that... or they're faxed. 2nd Bob: So then you must physically bring them to the software people? Tom: Well... No. ah sometimes. 1st Bob: What would you say you do here? Tom: Look I already told you, I deal with the @#$% customers so the engineers don't have to. I have people skills! I am good at dealing with people, can't you understand that? WHAT THE HELL IS WRONG WITH YOU PEOPLE?!