Compiz Lead Developer: “no Compiz on Wayland”

Lead developer for Compiz, Sam Spilsbury, says he sees little need to develop Compiz for Wayland due to the increasing fragmentation of the Linux ecosystem. Spilsbury writes “What does compiz actually provide to users of these systems? […] None of this functionality that user wants really depends on our compositing engine. There’s nothing so special about our compositing engine that gives it a reason to exist […] This is the real practical toll of fragmentation amongst the Linux ecosystem. It’s not just that there are multiple implementations of the wheel. There are multiple implementations of entire cars which do almost the same thing, but a little different from everyone else. Some say this is the free software’s greatest strength. Now that I know the personal and technical toll of fragmentation, I see it as its greatest weakness.”

I really don’t see his point either. If there already was a great number of compositors for Wayland then, sure, yes I could maybe see it but as it is there’s only the reference implementation.

It’s not like porting Compiz would cause a great deal of fragmentation in the Wayland landscape.

Not to mention that Compiz could be given as an example of fragmentation because it’s an extra / standard hack to the preferred window managers the desktop environments ship.

So I wonder if the underlying annoyance is the number of DEs that include their own compositing window managers (eg KWin), pushing Compiz out of the market. From his point of view, it may not be worth porting to Wayland because if/when the big DE’s switch, people will largely be using those WM’s over his.

If that is the reason behind his rant, then I can kind of sympathise, but I cannot agree with him. Yeah it sucks when new software pushes your older product out, but that’s how all software works and how businesses work as well. I don’t agree that consumer choice should artificially crippled.

However if he is talking purely from the perspective of the work involved to support both X11 and Wayland, then I’m sure someone else will fork Compiz; and then once again we’ll be talking about how great the open source model is.

Either way, I don’t think he is a particularly good example of the drawbacks of fragmentation (and I’m not going to pretend that there isn’t any).

Let’s use that occasion and stay with a single codebase that has single behavior. I theory documented standards were meant to cope with that, in reality this approach fails as seed by sory state of linux desktop.

Re-implementing every component N times with slightly different behaviours and bugs all other components that interact with it has to deal with creates a complexity toll that OSS comunity (whatever vibrant it is in a given moment) just can’t bear.

But this problem merely highlights what myself and many small shop owners have been saying about Linux for years which is thus: Linux is NOT AN OS, its a whole bunch of little programs made by guys that don’t talk to each other that is magically supposed to seamlessly work together but which IRL does anything but.

So I can’t say as i blame him, if I were a developer I would be targeting Android not Linux. At least with Android its all controlled by a single company so all the pieces “just work” instead of having to worry that the audio guys changed a pointer somewhere and the DE guys didn’t get the memo.

But this problem merely highlights what myself and many small shop owners have been saying about Linux for years which is thus: Linux is NOT AN OS, its a whole bunch of little programs made by guys that don’t talk to each other that is magically supposed to seamlessly work together but which IRL does anything but.

Well yes, that why they’re called “Linux distributions”. The only people who pretend Linux is a single complete OS is people who do not know Linux.

This is also why I don’t correct people who refer to Linux as Ubuntu; because almost always, they’re talking specifically about Ubuntu and thus are actually more literally correct than techies who call ‘Ubuntu’, ‘Linux’.

So I can’t say as i blame him, if I were a developer I would be targeting Android not Linux. At least with Android its all controlled by a single company so all the pieces “just work” instead of having to worry that the audio guys changed a pointer somewhere and the DE guys didn’t get the memo.

that’s an odd statement because you wouldn’t advocate someone writing a productivity suites in iOS instead of OS X. Some types of applications target laptops / desktops because they’re the types of apps that work better for that paradigm of computer. So the only reason in favour for targeting Android would be if you were writing a mobile / tablet app rather than something that required an accurate pointing device and/or hardware keyboard.

You also need to bare in mind that the sort of application that Compiz is, isn’t the kind of application that most app developers would be working on; and certainly not the kind of app that could ever be ported to Android.

that’s an odd statement because you wouldn’t advocate someone writing a productivity suites in iOS instead of OS X. Some types of applications target laptops / desktops because they’re the types of apps that work better for that paradigm of computer. So the only reason in favour for targeting Android would be if you were writing a mobile / tablet app rather than something that required an accurate pointing device and/or hardware keyboard.

I believe he was referring to the fragmentation between Linux distributions vs Something like Windows or Android which comes as a complete artefact from a particular supplier.

I believe he was referring to the fragmentation between Linux distributions vs Something like Windows or Android which comes as a complete artefact from a particular supplier.

Yeah I appreciate that, his project could equally be accused of adding to the fragmentation as its a non-standard WM (though granted a highly popular “non-standard”). He’s entire project is based on the principle that people can replace the underlying window manager behind their desktop environment of choice with another windows manager.

So I was more speculating about whether there was additional motives behind his rant.

There are a lot of changes happening in Linux which are doing more to push Compiz out of the market place (eg KDEs Kwin). So if his rant was purely about the fact that some distributions are adopting a replacement for X11 (which, to be fair, is fairly unpopular in Linux anyway, and up until yet, there hadn’t been any viable alternative), then he’s coming off slightly hypocritical given his architecture is designed to replace the desktops default.

I’m probably reading too much into things, and there certainly is an issue of fragmentation in Linux. But Wayland is one of the few instances where I think the re-engineering that’s going on is deserved.

Windows, Android and osX are each also distributions. The fact that only Microsoft can legally produce and ship Windows distributions doesn’t change that.

Is there fragmentation within Canonical’s standard Ubuntu build or within the bounds of any other distribution.. not so much. Perhaps around the same amount of fragmentation found within the bounds of the current Windows distribution version.

In terms of market fragmentation; about the same as the automobile industry.. or do we demand all manufacturers merge there car designs into a single product sku number?

(yeah I know.. old debate.. nothing productive going to come from this tangent of it either)

Windows, Android and osX are each also distributions. The fact that only Microsoft can legally produce and ship Windows distributions doesn’t change that.

I can see the point you’re trying to make, but I think it’s a bit of the stretch for the very reasons you later explained:

Is there fragmentation within Canonical’s standard Ubuntu build or within the bounds of any other distribution.. not so much. Perhaps around the same amount of fragmentation found within the bounds of the current Windows distribution version.

Which is why you wouldn’t call Ubuntu and Xubuntu different distros any more than you’d call different releases of Windows as different distros.

OSX is moderately successful compared to IOS, Linux desktop is an utter failure (market share wise) when put against Android.

Indeed, but my point was about computing paradigms.

I explained myself very badly, but what I was trying to say was that suggesting Android over GNU/Linux development (as he did) doesn’t really make much sense because they target entirely different types of devices. However suggesting OS X or Windows development does make a logical (in the sense of comparing like for like) argument because they are all desktop OSs.

I agree that Android currently lacks many elements that would be required by a full blown desktop, but its low level foundation (services and drivers ) are sound, stable, performant and field tested. Most of all, the OEMS have great expertise with adopting to them.

Porting current OSS video drivers to Android interfaces wouldn’t be too hard I guess (it’s all based on OpenGL anyway). QT is already experimentally available on top of flinger, and Digia is committed to it. They would be more than happy to unify their Android and Wayland support efforts. I guess Nvidia might also root to unifying their mobile and desktop lines both in hardware and software.

The most tricky part is adding missing WIMP parts (like proper window management and input event framework) and Google would need to be involved here. But unifying Android and Chrome OS is in their interest too.

its a whole bunch of little programs made by guys that don’t talk to each other that is magically supposed to seamlessly work together but which IRL does anything but.

No, it’s just the kernel, the ‘little programs’ are other parts of functionality which together with the Linux kernel is presented as an operating system, you could say a ‘Linux’ based operating system, or if you are the FSF: ‘GNU/Linux’ based operating system.

However the common term for a set of components presented as an operating system that includes the Linux kernel is a ‘Linux distro/distribution’. I can only assume this is where some people get confused.

So I can’t say as i blame him, if I were a developer I would be targeting Android not Linux.

Android contains Linux, what you meant to say is that you would target the Android operating system, which consists of the Linux kernel and lots of ‘little programs’ in a specific configuration.

Just like Steam for Linux will initially target the Ubuntu configuration, which consists of the Linux kernel and lots of ‘little programs’ in a specific configuration.

The Wayland compositor is only a reference on, akin to the one that you get in you install X11 and then run startx without anyother WM installed. So enough to prove that it works but not much more than that.

The H Online has the best response to the question: http://www.h-online.com/open/news/item/Lead-developer-sees-no-Compi… The issue isn’t whether Linux is or isn’t an OS. It’s how display managers and windowmanagers are evolving, and the role Compiz will play. The linked blog piece by Spilsbury is also interesting, but the H Online article gives some good background.

Cars are very like products assembled from basically the same parts. I fail to see how this is different from Linux based distributions which are assembled from basically the same parts.

It’s more than just common parts. A lot of cars on the market today – even from different manufacturers – are pretty much the same car, barring a few styling differences. A VW Scirocco is a Golf with a bodykit. Half the Mazda range share the chassis and most of the internals with equivalent Ford models. Collaboration between Toyota and Subaru results in near-identical sports cars, almost indistinguishable to the casual eye.

This is the real practical toll of fragmentation amongst the Linux ecosystem. It’s not just that there are multiple implementations of the wheel.

Someone who makes this comparison in this context has absolutely zero idea why Wayland was written in the first place and how it differentiates from X11.

Wayland is a complete NEW design, porting Compiz to X11 would not only mean a lot work but it’s also completely pointless. Wayland itself is designed already to be compositing right from the start. And for people who still haven’t grasped the concept: compositing has NOTHING to do with 3D animations and wobbly windows, but it is required to generate these effects.

Compositing is an alternative, better concept to draw windows on a screen as compared to the old, stacking window managers. MacOS uses compositing since 2001 (first release of MacOS X) and Windows since Vista (with the new WDDM display driver model).Compositing simply means that every content is rendered off-screen first, then the window manager composes the desktop (as opposed to stacking window managers which lets application directly draw on the desktop).

Everyone who still thinks that X11 is a good concept that should be persued in the future, should have a look at these pages:

Wayland is fundamentally a protocol with a ref impl., and he wanted to avoid replicating current mess with X11 window managers with equivalent mess of competing wayland implementations, that in the end some poor souls have to maintain and debug inside of Linux companies that loose money on that.

– wasted effort (as author notes WM is much much more complex to get right than it appears)

– bugs, inconsistencies, and variances in implementations that cause headaches to application developers.

What the author suggests is not forcing simple functionality set upon everybody throat but simply promote the common (hard) part to a common system library / service that could then be extended implementing different policies people need.

Wayland, being the new, virgin ground is the best opportunity for that.

As for your “Wayland is better than X” message, this depends on the situation, for network transparency Wayland will use more bandwith than X (not a big issue since you can use X with XWayland).

Not sure how you can make that claim, given that Wayland currently has no support whatsoever for network transparency, and no plans beyond “do something at the compositor level”.

Easy: the Wayland protocol is based on sending buffers (images) between programs(clients) and the server, so once you’re at the ‘compositor level’ the only thing you can work on are images.

For applications which works mostly with text, sending ‘raw’ images will use much more bandwidth than X Render’s way of rendering (send the glyph once, then send commands to draw text, reusing many times the glyphs).

If is of course possible to compress images to reduce bandwidth but this requires a lot of processing and adds latency..

I’ve used Wayland briefly, the main problems right now seem to be that

– No distribution ships XWayland in the repos yet

– The reference compositor is too minimal to be useful

Other than that it works astonishingly well. If there were a decent compositor for it – something along the lines of Openbox maybe, just providing window borders and some menus – distributions could probably start switching to it straight away, IMO.

So yeah, too bad about Compiz; a Wayland version might speed up adoption.

So yeah, too bad about Compiz; a Wayland version might speed up adoption.

Adoption of Wayland isn’t being held back by lack of a good compositor – it’s being held back by the face that almost nothing runs natively under it yet. No desktops, few native apps… porting Compiz to it isn’t going to help much…

But XWayland isn’t the missing piece either – it’ll be perfect for running existing apps under Wayland until they can be ported, but that’s still not useful until there’s a desktop UI available natively.

No, in my mind, there’s not much value to Wayland until one of the major desktops (KDE, Gnome, XFCE, etc) is ported to run natively on it. Once that happens, XWayland will have a role to play, but not before…