On 07/30/2015 11:57 AM, Lennart Poettering wrote: > Heya! > > I'd like to ask everybody to test kdbus on Rawhide. Josh thankfully > added it to the Rawhide kernel packages, and our systemd RPMs come > with built-in support, too now. If you are running an up-to-date > Rawhide system adding "kdbus=1" to your kernel command line is hence > everything you need to run kdbus instead of dbus-daemon. (No > additional RPMs need to be installed.) If you do, things should just > work the same way as before, if we did everything right. By adding or > dropping "kdbus=1" to/from the command line you can enable kdbus or > revert back to dbus1 on each individual boot. > > This stuff is opt-in, and we are very keen on getting feedback and > testing for this. The version of kdbus in Rawhide we consider API > stable, there is a complete client side available now in systemd, with > a client API in sd-bus. Compatibility with good old dbus1 is provided > by the "systemd-bus-proxy" service. > > The folks involved in kdbus development have been running this code on > their systems for more than half a year now. There were occasional > hiccups, but we fixed everything we ran into, and it works pretty well > now. Our focus was specifically on providing the best possible > compatibility with dbus1. Now we'd like to increase the testing > audience and added this to Rawhide because of this. > Cannot log into KDE with kdbus, I get: $ cat .xsession-errors startkde: Starting up... startkde: Could not sync environment to dbus. Code is: # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment /usr/libexec/ksyncdbusenv if test $? -ne 0; then # Startup error echo 'startkde: Could not sync environment to dbus.' 1>&2 test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null message "Could not sync environment to dbus." exit 1 fi ./plasma-workspace-5.3.2/startkde/ksyncdbusenv/ksyncdbusenv.cpp: int main(int argc, char **argv) { QCoreApplication app(argc, argv); QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); EnvMap envMap; for (const QString &key : env.keys()) { envMap.insert(key, env.value(key)); } QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.DBus"), QStringLiteral("/org/freedesktop/DBus"), QStringLiteral("org.freedesktop.DBus"), QStringLiteral("UpdateActivationEnvironment")); qDBusRegisterMetaType<EnvMap>(); msg.setArguments(QList<QVariant>({QVariant::fromValue(envMap)})); QDBusPendingCall reply = QDBusConnection::sessionBus().asyncCall(msg); reply.waitForFinished(); if (reply.isError()) { qDebug() << reply.error().name() << reply.error().message(); } return reply.isError() ? 1 : 0; } -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane orion@xxxxxxxx Boulder, CO 80301 http://www.nwra.com -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct