Re: FreeBSD Foundation Laptop Support target hardware and desktop environments

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 18 Feb 2025 12:31:30 UTC
Mike Watkins <mike.watkins@solutionroute.ca> writes:

> Some will argue that GNOME is too systemd-centric to be a good fit for
> FreeBSD; I'd argue that I've used it on systemd-free Linux
> distributions for years, and also suggest that active support on non-
> systemd Linux platforms, and non-Linux platforms, can only help to
> avoid systemd lock-in from becoming a future reality.
>
> Current GNOME 47 ships on a variety of non-systemd Linux distributions
> including Alpine and Chimera Linux; on Void Linux (also non-systemd)
> they tend to skip one GNOME release a year.

Many systemd-free systems still rely[1] on elogind for GNOME. elogind
is extracted from systemd but not really portable to non-Linux kernels.
For one, InitWare ported many systemd components but not logind[2].
For two, Chimera Linux created turnstile to replace elogind but
still uses elogind[3] for GNOME.

GNOME/X11 on FreeBSD patches some components[4] to use ConsoleKit2 instead
of logind. GNOME/Wayland requires more[5] not implemented[6] by ConsoleKit2.
Individual GNOME apps aren't affected and can work under other Wayland
compositors like Wayfire.

Note, upstream GNOME (unlike KDE) doesn't want ConsoleKit2 support[7].

[1] https://sysdfree.wordpress.com/2024/12/28/363/ lists a few without
    elogind but unclear which have GNOME packaged. Sometimes one can find
    patches like https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273161
[2] https://github.com/InitWare/InitWare/issues/19
[3] https://github.com/chimera-linux/cports/blob/6b44e828fbfd/main/mutter/template.py#L29
[4] https://github.com/freebsd/freebsd-ports/tree/48495a1f33ab/x11/gdm/files/patch-common_gdm-common.h
    https://github.com/freebsd/freebsd-ports/tree/48495a1f33ab/x11/gnome-shell/files/patch-js_misc_loginManager_js
    https://github.com/freebsd/freebsd-ports/tree/48495a1f33ab/sysutils/gnome-settings-daemon/files/patch-plugins_media-keys_gsd-media-keys-manager.c
[5] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271836
[6] sd_uid_get_display() and maybe https://github.com/ConsoleKit2/ConsoleKit2/issues/150
[7] https://gitlab.gnome.org/GNOME/mutter/-/issues/1411