This is a somewhat controversial subject which I only reluctantly bring up. I honestly believe that open discussion is the only way to run a project, and I apologize in advance if I offend anyone. I got what should have been an easy question on #compiz a few days ago. A user came in and asked "What version do you recommend I use?". I honestly didn't know what to say.>From a user-perspective, I can not see any reason why I should recommendCompiz 0.9.12.0 to anyone. It has been maintained actively for several years, but the problem is that I suspect that a large part of the bug fixes and whatnot that has gone into it are simply not present in 0.8. Stability-wise, I would assume that 0.9 and 0.8 are, at best, equal. And that's after you get them built. Feature-wise, Compiz 0.9.12.0 actually has fewer features as I understand it. With the move to OpenGL ES, several plugins got dropped. I understand some of that has been remedied, but 0.9 still does not come out ahead if my understanding is correct. I have asked around and this is what I've been told, and it matches what I see. As far as I am concerned, OpenGL ES is not a priority. So to sum up: Equal stability, fewer features, but actively maintained. In the end I told the user in question that 0.9.12.0 is the latest stable version, but 0.8.9 has more features and is as stable. This obviously leads to the question of what happens next. I was one of the people who created the plan which gave us Compiz 0.9 and the C++ port [1]. I want to underline that, so nobody takes this mail as criticism of their work. Our plan was to stabilize 0.9 and get 1.0 out the door. I can only conclude that we failed. Most developers left, and the C++ port was only PART of the reason. My problem is that I look at my own plugins and I can hardly even figure out how things work. We have a code base now that is half C++ and half C. Plugins are originally written with a C-mentality and C-approach, but then shoe-horned into the world of C++. Getting the code-base into a decent state would require going over every single plugin and re-doing all the C-isms, which I do not believe is realistic. We also know that Wayland will essentially make Compiz irrelevant sooner or later. Starting a big project tied to X now is somewhat wasteful. But Wayland will not replace most desktops tomorrow, and I want to keep running Compiz. I also appreciate that Ubuntu is dependent on Compiz 0.9 for Unity for the time being, but I can not let that be the deciding factor of what happens with Compiz itself. I have not made up my mind. Part of me want to pick up Compiz 0.8 and see where it takes me. If it means a Compiz 0.8.10 and that's it, then that's fine. An other part of me wants to fix 0.9. But to be honest, it feels like my main motivation for working on 0.9 is to avoid stepping on toes, and not because it is the superior choice. But I remember that there were good and valid reasons for ditching the 0.8 code-base. It is not exactly perfect. With that in mind, I am not making any suggestions, I am asking for feedback. Either on-list or off. But I discussing this behind closed doors seems like the worst possible approach. [1] http://lists.freedesktop.org/archives/compiz/2009-February/003284.html - Kristian -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/compiz/attachments/20141112/ab875cea/attachment.html>
Hi, On Thu, Nov 13, 2014 at 3:28 AM, Kristian Lyngstøl <kristian at bohemians.org> wrote:> > Feature-wise, Compiz 0.9.12.0 actually has fewer features as I understand it. With the move to OpenGL ES, several plugins got dropped. I understand some of that has been remedied, but 0.9 still does not come out ahead if my understanding is correct. I have asked around and this is what I've been told, and it matches what I see. As far as I am concerned, OpenGL ES is not a priority. > > So to sum up: Equal stability, fewer features, but actively maintained. > > In the end I told the user in question that 0.9.12.0 is the latest stable version, but 0.8.9 has more features and is as stable.I'm aware of a fork called Fusilli[2] that is a continuation of 0.8 with some redundant features removed. Otherwise, if I were to give an objective assessment of 0.9, I'd say that with the right skill set moving the older plugins over to using modern OpenGL is not particularly hard. Probably one of the hardest was the blur plugin and that only took me a day or two[3]. The three biggest changes to rendering were 1. The move to triangle-based meshes as opposed to relying on quads. 2. The move from assembly fragment programs to GLSL. 3. The move to using SwapBuffers (with GLX_EXT_buffer_age) as opposed to CopySubBuffer. 1 & 2 are API-incompatible changes. 3 is a change that silently exposes bugs in existing plugins, usually relating to a failure to indicate update regions on the screen. In terms of Wayland, I'd honestly recommend look into using something like libweston and putting a "compiz plugins" compatibility layer on top of it. That all depends on what compiz plugins actually rely on from core, but for about 90% of them, not much. Having a GLES compatible codebase also helps there too, if that's a road one feels like going down. [2] https://github.com/noodlylight/fusilli [3] https://code.launchpad.net/~smspillaz/compiz/compiz.feature_1069112.blur> > [1] http://lists.freedesktop.org/archives/compiz/2009-February/003284.html > > - Kristian > > _______________________________________________ > compiz mailing list > compiz at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/compiz >-- Sam Spilsbury
On Mon, Nov 17, 2014 at 11:11 AM, Sam Spilsbury <smspillaz at gmail.com> wrote:> > On Thu, Nov 13, 2014 at 3:28 AM, Kristian Lyngstøl > <kristian at bohemians.org> wrote: > > So to sum up: Equal stability, fewer features, but actively maintained. > > > > In the end I told the user in question that 0.9.12.0 is the latest > stable version, but 0.8.9 has more features and is as stable. > > I'm aware of a fork called Fusilli[2] that is a continuation of 0.8 > with some redundant features removed. >I'm aware of Fusili. The author contacted me earlier. One of the major changes is that he removed all config plugins and implemented it directly in core instead. If this sounds familiar, it's because that's what Beryl did too originally. Otherwise, if I were to give an objective assessment of 0.9, I'd say> that with the right skill set moving the older plugins over to using > modern OpenGL is not particularly hard. Probably one of the hardest > was the blur plugin and that only took me a day or two[3]. The three > biggest changes to rendering were > 1. The move to triangle-based meshes as opposed to relying on quads. > 2. The move from assembly fragment programs to GLSL. >What does this actually offer the user, though? I understand what it does for platforms that only has one or the other set of functions of course, but does it actually make a difference for regular old computers where things have just always worked? 3. The move to using SwapBuffers (with GLX_EXT_buffer_age) as opposed> to CopySubBuffer.1 & 2 are API-incompatible changes. 3 is a change that silently> exposes bugs in existing plugins, usually relating to a failure to > indicate update regions on the screen. >There's a lot of wtf in old plugins, and core for that matter... As for 3, that makes a lot of general sense.> In terms of Wayland, I'd honestly recommend look into using something > like libweston and putting a "compiz plugins" compatibility layer on > top of it. That all depends on what compiz plugins actually rely on > from core, but for about 90% of them, not much. Having a GLES > compatible codebase also helps there too, if that's a road one feels > like going down. >I don't think moving compiz over to wayland is worth it, to be blunt. The code base (whatever version) is not a shining example of quality. I'd much rather see the things we miss in the world of Wayland be implemented properly than try to make Compiz move over. - Kristian -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/compiz/attachments/20141117/21764acf/attachment.html>