1. https://lwn.net/Articles/697191/ 2. https://lwn.net/Articles/580194/
1. https://lwn.net/Articles/697191/ 2. https://lwn.net/Articles/580194/
The kdbus finally died when Linus sat down and proved that:
1) then-current userspace d-bus code was simply horrible
which led to kdbus being mainly about speed/latency, but...
2) Linus spent a weekend and got an userspace dbus server 80/20 solution that achieved better performance than kdbus
and
3) kdbus introduced no real new benefits that weren't ultimately triggered by "dbus is too slow", unlike Binder which involves fancy scheduling tricks to pass CPU quanta from one process to another along with RPC call.
Thus the final nail in coffin of kdbus (which was previously hampered by being considered too problematic to merge) was hammered in.
The end result of not having bus1 is that we have to forget about brokered IPC and go back to 1:1 bespoke protocols over af_unix - ie, varlink
kdbus seems to have failed because of arguments over attaching process capabilities to messages: https://lwn.net/Articles/641275/ And most if not all of the performance improvements were later realized with an improved user space D-Bus implementation (sd-bus?).
bus1 seems to have followed a similar trajectory--what remains of the effort is a better D-Bus implementation in user space: https://github.com/bus1/dbus-broker