[systemd-devel] [HEADSUP] libsystemd-bus + kdbus plans

Thiago Macieira thiago at kde.org
Mon Mar 25 08:07:38 PDT 2013

On segunda-feira, 25 de março de 2013 13.06.57, Simon McVittie wrote:
> Please talk to the D-Bus maintainers about any reimplementations or
> replacements for D-Bus; we are on dbus at lists.freedesktop.org.
> (Cross-posted.)

Thanks for the cross-posting, Simon. I have now found the thread on systemd-
devel showing the plans for kdbus.

I'm wondering only why the plans for kdbus were never posted to the dbus at fd.o 
mailing list... I'll just attribute that to a minor "oops".

Anyway, here's the original for those in the D-Bus list and not in the systemd 
list (trimmed to the relevant parts about D-Bus):


kdbus is a new kernel implementation of D-Bus that Kay and Greg have
been working on. The userspace component of it will live in systemd, and
libsystemd-bus is the first step towards it.

This library will speak both kdbus and traditional dbus (we need this,
in order to allow tools like systemctl -H to work, across hosts via a
stream connection). Currently, the code I just pushed only does the

Moving things onto kdbus/libsystemd-bus is going to be a step-by-step
process, happening over the coming year or so. We will try hard to make
this transition smooth for distributions. Our rough plan is:

a) stabilize what we have now

b) port over systemctl and the other client side tools to
   libsystemd-bus, to see if it all works, and give the API a bit of a
   real-life check-up. When finished we will drop the dependency on
   classic libdbus.so, but will still use dbus-daemon.

c) Finish up kdbus and port libsystemd-bus over to it. Get kdbus merged.

d) Port gdbus + classic libdbus.so to become clients for kdbus, too.

e) Flag day, switch over the system bus to kdbus, leave session bus as
   dbus-daemon. At the same time we will no longer support
   dbus-daemon for the system. This will add a hard dependency of
   systemd on a very new kernel version. However, to make this palatable
   we will try hard to keep kdbus.ko compilable out-of-tree and easily

f) Flag day, switch over the session/user bus to kdbus too. dbus-daemon
   is not used anymore now.

All three client libraries will be able to talk to either the new or the
old server, so that apps don't really have to care. At least in the
ideal case. We try hard to keep breakage minimal, but we might not be
able to avoid it entirely.

The userspace part for setting up the busses will live in systemd. kdbus
is not going to be available for non-systemd systems unless somebody
sits down and writes an entirely independent bus userspace.

kdbus is entirely different from AF_BUS.

Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20130325/24e11b71/attachment-0001.pgp>

More information about the systemd-devel mailing list