FS#62308 - [dbus-broker] Please build with -Dsystem-console-users=gdm to fix issues with GDM
Attached to Project:
Arch Linux
Opened by Gunnar Bretthauer (Taijian) - Thursday, 11 April 2019, 11:17 GMT
Last edited by Jan Alexander Steffens (heftig) - Friday, 17 January 2020, 13:22 GMT
Opened by Gunnar Bretthauer (Taijian) - Thursday, 11 April 2019, 11:17 GMT
Last edited by Jan Alexander Steffens (heftig) - Friday, 17 January 2020, 13:22 GMT
|
Details
Description:
According to an upstream issue report, dbus-broker currently has issues with initializing bluetooth devices while at the GDM login screen. Upstream suggests fixing this by passing an additional option at build time, namely '-D system-console-users=gdm'. I have tried this locally and can confirm that the issue seems fixed for me. Additional info: * package version(s): 20-1 * config and/or log files etc. * link to upstream bug report: https://github.com/bus1/dbus-broker/issues/199 Steps to reproduce: |
This task depends upon
Closed by Jan Alexander Steffens (heftig)
Friday, 17 January 2020, 13:22 GMT
Reason for closing: Fixed
Additional comments about closing: dbus-broker 21-2
Friday, 17 January 2020, 13:22 GMT
Reason for closing: Fixed
Additional comments about closing: dbus-broker 21-2
To evaluate whether a given UID is considered `at-console`, a runtime-query to logind is required. This would mean every dbus-transaction is blocked on a runtime-query to logind, which would slow it down by an order of magnitude. Hence, what dbus-daemon does is to cache the result of said query when a client connects. This, however, has the downside that the property is no longer meaningful, since runtime changes to the at-console property are no longer reflected in the bus policy.
With dbus-broker we decided to not implement this broken logic. Instead, every user ID higher than SYSTEMUIDMAX (defined by systemd, and usually evaluates to `999`) is considered `at-console`. The `system-console-users` meson-configuration-option allows to provide further UIDs that should be considered `at-console`.
In Fedora, `-Dsystem-console-users=gdm` is used, since `gdm` is the recommended greeter. I recommend doing the same in ArchLinux, and possibly extending this list with further UIDs of other greeters.
Note that it is safe to list non-existant user-names in the option. The names are resolved at dbus-broker startup, and only if there actually is a configuration that uses `at-console` policies.
Lastly, we are working with upstream packages to stop using `at-console`. The BlueZ master-branch already merged out patch and the next BlueZ release will include this change. To my knowledge, BlueZ is the last non-nieche distro package that used `at-console`. That is, with BlueZ updated I would even argue the `system-console-user=gdm` argument is no longer necessary, even though it is technically correct.
Long story short: Acked-by: me