Some thoughts on GNOME's systemd dependencies and non-Linux Unixes

June 11, 2025

One of the pieces of news of the time interval is (GNOME is) Introducing stronger dependencies on systemd (via). Back in the old days, GNOME was a reasonably cross-platform Unix desktop environment, one that you could run on, for example, FreeBSD. I believe that's been less and less true over time already (although the FreeBSD handbook has no disclaimers), but GNOME adding more relatively hard dependencies on systemd really puts a stake in it, since systemd is emphatically Linux-only.

It's possible that people in FreeBSD will do more and more work to create emulations of systemd things that GNOME uses, but personally I think this is quixotic and not sustainable. The more likely outcome is that FreeBSD and other Unixes will drop GNOME entirely, retaining only desktop environments that are more interested in being cross-Unix (although I'm not sure what those are these days; it's possible that GNOME is simply more visible in its Linux dependency).

An aspect of this shift that's of more interest to me is that GNOME is the desktop environment and (I believe) GUI toolkit that has been most vocal about wanting to drop support for X, and relatively soon. The current GDM has apparently already dropped support for starting non-Wayland sessions, for example (at least on Fedora, although it's possible that Fedora has been more aggressive than GNOME itself recommends). This loss of X support in GNOME has been a real force pushing for Wayland, probably including Wayland on FreeBSD. However, if FreeBSD no longer supports GNOME, the general importance of Wayland for FreeBSD may go down. Wayland's importance would especially go down if the general Unix desktop world splits into one camp that is increasingly Linux-dependent due to systemd and Wayland requirements, and another camp that is increasingly 'old school' non-systemd and X only. This second camp would become what you'd find on FreeBSD and other non-Linux Unixes.

(Despite what Wayland people may tell you, there are still a lot of desktop environments that have little or no Wayland support.)

However, this leaves the future of X GUI applications that use GTK somewhat up in the air. If GTK is going to seriously remain a cross-platform thing and the BSDs are effectively only doing X, then GTK needs to retain X support and GTK based applications will work on FreeBSD (at least as much as they ever do). But if the GNOME people decide that 'cross-platform' for GTK doesn't include X, the BSDs would be stuck in an awkward situation. One possibility is that there are enough people using FreeBSD (and X) with GTK applications that they would push the GNOME developers to keep GTK's X support.

(I care about this because I want to keep using X for as long as possible. One thing that would force me to Wayland is if important programs such as Firefox stop working on X because the GUI toolkits they use have dropped X support. The more pressure there is from FreeBSD people to keep the X support in toolkits, the better for me.)


Comments on this page:

By deltragon at 2025-06-12 03:29:59:

GTK is already considering dropping X support for GTK5 (though there currently is no timeline for that afaik). See https://gitlab.gnome.org/GNOME/gtk/-/issues/5004 or various tech news outlets that reported on this back then.

It's a bummer because X network transparency matters more these days. Imagine a desktop running on a k8s cluster. You'd have a display node where the X server service would run. Applications could run on other nodes and you could power down nodes when you don't need them.

Yes you could split applications on other boundaries, but we already have a working split point with X and just as distributed computing really begins to grow we're throwing it away. It's annoying.

By Anonymous at 2025-06-12 14:31:59:
because X network transparency matters more these days

'X11' isn't 'network transparent' anymore, and has not been for a long time. What's currently in use is SHM and DRI2, both of which don't work over the internet. It's actually 'network capable' these days. There's a difference.

Am I misunderstanding something?!? IIRC what's been dropped is running GNOME with an X session. I.e. using X as the root of your seat/desktop/shell/window/event/graphics management. This is what's being reported by $XDG_SESSION_TYPE. The major desktops allowed you to choose your session type for years, the default session type was changed to Wayland for all major distros several releases ago and now dropping X session support is the conclusion of the transition.

Applications (i.e. X clients) relying on the X APIs/Protocol will still work through XWayland (X server compatibility adapter) for which there's no announcement of deprecation or abandonment. I.e. your apps will still work for the foreseeable future (backward compatibility). If your application uses GTK or Qt you might not even care. Even if they would drop X client support right now you would have to run a system that is more than a decade old to have no Wayland support at all (forward compatibility). IMHO that is a generous support overlap in both directions.

By Anonymous at 2025-06-14 08:39:15:

Perhaps (part of) the point is that still being able to run X applications on Wayland through XWayland doesn't really matter if your chosen Unix (*BSD for example) has no Wayland to begin with ?

Or you want to run an desktop environment (DE) that has little or no Wayland support at all ?

FreeBSD does have Wayland support:

https://docs.freebsd.org/en/books/handbook/wayland/

I don't use it -- though I like and use FreeBSD as a server system -- so I can't say how good it is.

By TheNotSoAnonymous at 2025-06-22 16:58:09:

@Kevin Lyda

and just as distributed computing really begins to grow we're throwing it away.

For what it's worth: X 'distributed computing' has been there right from the start. X was designed in an era where you had diskless 'X terminals' (screen, keyboard, mouse, but no local storage) which had just enough firmware to boot using bootp, which basically just got you an ip address and an 'image' to run off which did not do much more than allow you to grab and run X applications from all across your infrastructure.

Written on 11 June 2025.
« Python argparse has a limitation on argument groups that makes me sad
What would a multi-user web server look like? (A thought experiment) »

Page tools: View Source, View Normal.
Search:
Login: Password:

Last modified: Wed Jun 11 22:17:16 2025
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.