I saw that Archlinux is using it as the default implementation now and was curious about what is blocking this? Fedora’s been using it for a while and it seems to be pretty much set and forget it. I’ve been using on my system for about 3 months and haven’t noticed anything.
Not sure that this needs an RFC. I think a PR that switches the default and adds an entry to the release notes is sufficient, together with a post on discourse to announce the imminent change (so people can opt out beforehand). We can then leave a bit of time for feedback in case anyone has a really good reason not to go ahead with it.
[…] makes use of many modern features provided by recent linux kernel releases. […]
Generally the dbus-broker wiki is the best resource I could find to the date, outlining more in depth details.
In the end, this was the outcome of kdbus not making it into the kernel - whilst people still being interested rewriting the original dbus implementation from scratch.
Since the project aims for being a drop-in replacement and I’ve not seen efforts to replace serialization or IPC I would not expect this to happen.
I tried switching to dbus broker before, but it always breaks my xdg-desktop-portals.
I keep all the other settings the same, change the implementation and reboot and suddenly the portals don’t start anymore and theming in flatpak apps is broken.
Would you mind sharing some more information on that? I’ve tried to do some web search regarding xdg-desktop-portal and dbus-broker and couldn’t find something. For me personally xdg-desktop-portal-wlr works as expected, including screen sharing, but also gnome-disks.
I switched to dbus-broker to see what would happen. I haven’t noticed any issues, however I do see warnings and errors in the systemd journal:
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.opensuse.CupsPkHelper.Mechanis
m' in service file '/nix/store/3z9d6iir0ikbgwxm9bzg5cpfd5id6r75-cups-pk-helper-0.2.6/share/dbus-1/system-services/org.opensuse.CupsPkHe
lper.Mechanism.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.freedesktop.ModemManager1' in
service file '/nix/store/r8makyq7kwn9mj3b54bagjcfyghjg9kj-modemmanager-1.22.0/share/dbus-1/system-services/org.freedesktop.ModemManager
1.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.freedesktop.nm_dispatcher' in
service file '/nix/store/3smcvkky0inrnw2kdsflxh34in0sn2qp-networkmanager-1.46.0/share/dbus-1/system-services/org.freedesktop.nm_dispatc
her.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.freedesktop.nm_priv_helper' in
service file '/nix/store/3smcvkky0inrnw2kdsflxh34in0sn2qp-networkmanager-1.46.0/share/dbus-1/system-services/org.freedesktop.nm_priv_h
elper.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'fi.w1.wpa_supplicant1' in service
file '/nix/store/8fvfgwjygc3lh5vk9k1d6fsvlgxfidrf-wpa_supplicant-2.10/share/dbus-1/system-services/fi.w1.wpa_supplicant1.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.freedesktop.UDisks2' in servic
e file '/nix/store/4drhcgvfw5ajwy9gy10w2bz8c7n03mfl-udisks-2.10.1/share/dbus-1/system-services/org.freedesktop.UDisks2.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.bluez.mesh' in service file '/
nix/store/3y7sp3w7x3nrj7a98klwsgsv3yrgh7rs-bluez-5.72/share/dbus-1/system-services/org.bluez.mesh.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.bluez' in service file '/nix/s
tore/3y7sp3w7x3nrj7a98klwsgsv3yrgh7rs-bluez-5.72/share/dbus-1/system-services/org.bluez.service'
U Sat Mar 30 16:43:52 2024 p3 dbus-broker.service dbus-broker-launch[1801]: Ignoring duplicate name 'org.freedesktop.Accounts' in servi
ce file '/nix/store/zaqxvczv831bl2ngv8g8p7jwxlqxil0i-accountsservice-23.13.9/share/dbus-1/system-services/org.freedesktop.Accounts.serv
ice'
U Sat Mar 30 15:17:50 2024 p3 rtkit-daemon.service rtkit-daemon[38999]: dbus_message_get_unix_user() failed: The connection does not ex
ist
U Sat Mar 30 15:17:50 2024 p3 rtkit-daemon.service rtkit-daemon[38999]: dbus_message_get_unix_user() failed: The connection does not ex
ist
U Sat Mar 30 15:31:10 2024 p3 rtkit-daemon.service rtkit-daemon[38999]: dbus_message_get_unix_user() failed: The connection does not ex
ist
I think I read something that implied dbus-broker just uses the systemd environment, not the dbus activation environment. So, maybe consider checking that those vars are set to what you think they are when calling import-environment.
(I mention since I noticed that you explicitly set the value of XDG_CURRENT_DESKTOP, but only in the dbus-update-activation-environment call.)
I remembered reading somewhere (the Arch Wiki i think) that you still need regular dbus installed when running dbus-broker and i noticed that the “dbus-update-activation-environment” command wasn’t even available after making the switch.
So I added the regular dbus to my system packages (while keeping the broker implementation in my config), i set all the environment variables in my fish config and just run the following command in my river init script now:
dbus-broker as a default got merged, this includes a fix so that also ensures dbus-cli utilities are present, which wasn’t the case when switching to “broker” previously.
If you are on NixOS unstable, make sure to upgrade in the next days with nixos-rebuild boot --upgrade instead of switch, otherwise you risk an unresponsive system. If you need to stay on dbus-daemon by freedesktop, you can do that with services.dbus.implementation = "dbus";.
Please open a GitHub issue if you encounter any problems with dbus-broker.
Warnings such as Ignoring duplicate name are only warnings and should only appear when you are running sudo systemctl reload dbus-broker.
–
Update 1
Important heads-up, due some regressions of certain services (ncsd for example) dbus-broker was reverted to just dbus. The systemd-team raised interest to be more considered in dbus topics in the future.
Given the current release plans that are publicly known I suspect this means no default dbus-broker in 24.05.