From e74a88d133428f98f0f05bdd8a09b4f87b3d5515 Mon Sep 17 00:00:00 2001 From: Lukas Greve Date: Fri, 11 Sep 2026 22:14:06 +0200 Subject: [PATCH] fix: explicitly include dbus-daemon and systemd-pam session-system essentials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With --exclude-weakdeps, two packages that nothing else hard-requires were being silently dropped from the installed system: - dbus-daemon (provides /usr/bin/dbus-run-session): gdm-wayland-session needs it to spawn the per-session D-Bus bus. Only anaconda-core requires it, and that is not installed into the target system. - systemd-pam (provides pam_systemd.so): 'systemd' merely recommends it. Without pam_systemd, PAM 'optional' session rules fail silently, login sessions never register with logind, user@.service never starts, and the session bus lacks org.freedesktop.systemd1. Result of either gap: gdm logs 'Session never registered, failing' five times, then 'maximum number of display failures reached. Giving up.' and the screen stays black — on VMs and bare metal alike (laptop bug). Both packages validated live on a Fedora 44 guest; dnf5 check passes. --- cook/ingredients/packages/core-explicit.ks | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cook/ingredients/packages/core-explicit.ks b/cook/ingredients/packages/core-explicit.ks index 7e5c7b3..5b951c6 100644 --- a/cook/ingredients/packages/core-explicit.ks +++ b/cook/ingredients/packages/core-explicit.ks @@ -17,7 +17,9 @@ # Package list mirrors the Fedora 44 `core` comps group (mandatory + # default packages), plus `basesystem`, `kernel` and `dhcp-client` from # the hidden core group, plus `fedora-repos` (usually pulled in via -# fedora-release-common, which is deselected here). +# fedora-release-common, which is deselected here), plus session-system +# essentials (`dbus-daemon`, `systemd-pam`) that would otherwise be +# dropped by --exclude-weakdeps. %packages --exclude-weakdeps # Beginning of the packages section. Package description courtesy of the Fedora project @@ -71,6 +73,15 @@ zram-generator-defaults # Default configuration for zram-generator ## Repository definitions, pulled explicitly since fedora-release is deselected fedora-repos # Fedora package repositories +## Session-system essentials that nothing else hard-requires: with +## --exclude-weakdeps they would be dropped (systemd merely recommends +## systemd-pam; only anaconda requires dbus-daemon during installation). +## Without them, login sessions never register with logind (no +## pam_systemd.so) and display managers cannot spawn the session bus +## (no /usr/bin/dbus-run-session), which yields a silent black screen. +dbus-daemon # D-BUS message bus (provides /usr/bin/dbus-run-session, used by gdm-wayland-session et al.) +systemd-pam # systemd PAM module (pam_systemd.so — registers login sessions with logind, starts user@.service) + ## Deselect Fedora release/branding packages — the remix packages below ## provide system-release, system-release(44), fedora-release-identity and ## system-logos instead