From kdelibs4 to KDE frameworks... how to make KDE more cross platform...

Alexander Neundorf neundorf at kde.org
Sat Feb 11 19:00:01 GMT 2012


Hi,

KDE is based on Qt, and Qt is very cross platform.
While there are Windows and also OSX builds of KDE4, they are not really 
successful.
I mean, it's not like everybody is running amarok today under Windows, or 
kate, or kdevelop, or digikam, kmail, etc.
Some applications decided to go Qt-only for their Windows versions, e.g. 
Marble.

At FOSDEM I talked with Pau, and he said one thing that scares Windows users 
are (beside the huge downloads tdue to the many dependencies) that running a 
KDE application needs several helper processes running:
1. DBUS 
2. kdeinit
3. klauncher
4. kded
5. kuiserver

So, can we cut down this number ?

Pau had the idea to write a fake libdbus for Windows, which internally doesn't 
talk to a dbus daemon, but which uses the Windows messaging service.
On Linux DBUS is no problem. On Mac ? I don't know. Probably better than under 
Windows.

kdeinit... can we make this optional ? It also sucks from the buildsystem POV.
I remember we discussed this at the Desktop Summit... Would we have the same 
gains if we would simply build executables which export symbols, and if 
kdeinit is there, it runs those executables by dlopening them and running that 
symbol ? Would that have the same effect as loading KLMs ?
Do I remember correctly that this is not (yet ?) supported on all 
distros/architectures ? Would that be a problem ? Or would this simply 
increase the pressure to add support for this everywhere ?

klauncher... this is quite central. I guess there is not much what could be 
done...

kded... for what things is this needed when running only a single application 
?

kuiserver... if there are out-of-process kioslaves, I guess then there has to 
be an out-of-process kuiserver.


Or, should we for Windows and OSX simply forget the KDE "desktop" and just 
concentrate on KDE applications ?
E.g. ignore that we save resources by centralizing and sharing stuff like 
kioslaves among multiple applications ? Try to do more things in-process, 
maybe in threads ?
It is cool to be able to replace the Windows shell... but does it make sense ? 
For applications it is IMO a feasible goal to be used by normal users under 
Windows, but replacing the Windows shell will stay only something for geeks I 
think.

To make it short, now that we are going towards KDE frameworks, we should make 
sure that if there is something we can do to improve our situation on non KDE 
desktops, especially on non-UNIX, we should do that now or at least make sure 
that necessary changes can be done later on during the KDE frameworks 
compatiblity period without breaking compatiblity.

Alex



More information about the kde-core-devel mailing list