kde plasma workspace structure

Martin Gräßlin mgraesslin at kde.org
Sat Jun 9 10:37:47 UTC 2012


On Saturday 09 June 2012 11:13:16 Aaron J. Seigo wrote:
> On Saturday, June 9, 2012 10:28:05 Martin Gräßlin wrote:
> > On Saturday 09 June 2012 04:45:51 Aaron J. Seigo wrote:
> > > * losing portability to non-Linux (and even specific Linux OSes)
> > 
> > something I would like to discuss in the light of workspace.
> > 
> > I think we all agree that we do neither target MS Windows nor OS X. (I
> > know
> > you can run plasma-desktop on Windows, but it's more a proof of concept
> > than anything else).
> 
> the full workspace does not, that's correct. there's no real point to that.
> 
> > With other words: the non-Linux OSes do no longer support our minimum
> > runtime requirements, where it starts to be questionable to go the
> > additional way to keep portability possible (hello Sun Compiler).
> 
> solaris is dead. the BSDs (ironically ;) are not. not all hardware is
> supported under Linux sufficiently either and the software pipelines are not
> yet good enough on most configurations, meaning that we can't even rely on
> Linux to support these new runtime requirements you're inventing here.
There might be a misunderstanding. I do not say that we have to require OpenGL 
compositing, I'm saying that the stack underneath us broke for the non 
composited case (either XRender or OpenGL). If you want I can search for the 
bug reports where things are broken only for non-composited setups (that is a 
complete shift over the last two years).

I don't know where in the stack it broke, possibly drivers, maybe X, maybe Qt, 
maybe GTK. Except drivers everything should be the same on the BSDs, which 
would mean they have a broken stack (unless running on the proprietary NVIDIA 
driver).

Now this is just an observation from which I deduce that - whether we want it 
or not - we have a runtime requirement on compositing (whether XRender or 
OpenGL doesn't matter).

Furthermore XRender should work on BSD decent enough.
> 
> yes, it is ultimately boring to not run off into the future we all know is
> coming as fast as we can. but at this point the cost is is very low to
> maintain the support we have for the non-composited case and that in turns
> maintains many happy users.
> 
> i said this last year, and probably the year before that as well, but it is
> unfortunately still absolutely true: the state of opengl on even Linux is
> not good enough (though it one day will be) and we have non-negligable
> numbers of users relying on Plasma Workspace to work on non-Linux systems.
Do you have any numbers for the non-Linux systems? I would be interested to 
know how many there really are. I just did my "metric" by looking at the bug 
reports reported over the last 12 months on KWin and that gives me 3 bugs 
reported on FreeBSD and 3 on Solaris, compared to 824 on Linux.
> 
> btw, if we were to drop support for non-Linux OSes (besides losing the
> benefits keeping code portable usually has on the code base) you ought to
> be the one who goes, in person, to groups like PC BSD who are putting their
> time and money into that and tell them just how we don't give a fuck about
> them anymore.
Personally I have a problem with saying we support something, that:
a) we don't test
b) we don't even test whether it compiles
c) we actually know that our recommended setup does not work (compare missing 
KMS drivers)

This has nothing to do with "don't give a fuck about them". It's just facing 
the reality which tells me that no one of our devs actually cares about the 
non-Linux OSes.

If we get the support and feedback to make e.g. KWin compile and run properly 
on such systems, I'm more than happy to support additional platforms. At the 
moment I don't see that happening. The patches we received in KWin for non-
Linux OSes were mostly not in a state that we could include them and our 
feedback got not incorporated, which I assume is the result of just patching 
downstream.

I am pretty much unhappy when something like that happens. I know that the 
code does not compile on something we say we support, I know that I have no 
chance to fix it and I don't get the required feedback to make it fixable. 
Then I start to question the whole thing as I see only the additional work and 
that nobody really cares.

Also from looking at the KWin source base I have to disagree about the 
benefits of keeping code portable. It makes the code ugly, adds additional 
ifdefs. Keeping the source compiled with different compiles is a good thing, 
that's why I compile KWin in my Jenkins with clang and gcc.

Cheers
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20120609/5ba2bf82/attachment.sig>


More information about the Plasma-devel mailing list