diff --git a/local/docs/REDBEAR-FULL-SDDM-BRINGUP.md b/local/docs/REDBEAR-FULL-SDDM-BRINGUP.md index b95ed3fb28..13775b05ad 100644 --- a/local/docs/REDBEAR-FULL-SDDM-BRINGUP.md +++ b/local/docs/REDBEAR-FULL-SDDM-BRINGUP.md @@ -39,6 +39,31 @@ From the upstream-forks sweep — fetch + cherry-pick only if we hit these runti - relibc `9867c155..707169e2`: **ld.so lazy PLT relocation** (dlopen of libEGL/libgbm), poll/epoll timeout, UDS-connect outside rootfs. - base `59cf8189..488da6a1`: ramfs hosting AF_UNIX sockets (Wayland `$XDG_RUNTIME_DIR/wayland-0`). +## Runtime wiring audit (config/redbear-full.toml) + +**Greeter compositor:** `/etc/sddm.conf` sets `[Wayland] CompositorCommand=/usr/bin/redbear-compositor`. +So the SDDM greeter renders on **redbear-compositor** (KWin is the post-login +session compositor). Rendering the greeter does NOT need the compositor input +wiring (that only gates typing a login) — so "see the SDDM prompt" is reachable +without the input refactor. + +**Runtime chain (coherent):** `00_driver-manager` sees the GPU PCI device → +spawns `redox-drm` (priority-61 for virtio/Intel/AMD) → `/scheme/drm/card0` → +`21_sddm` (`REDBEAR_DRM_WAIT_SECONDS=30` waits for card0) → launches +`redbear-compositor` → SDDM greeter Qt/Wayland UI. Needs `dbus`, `seatd`, +`redbear-sessiond`, `redbear-authd` (all `requires_weak` on sddm). + +**CONFLICT (must resolve for a clean SDDM greeter):** three display entry points +all fire as `oneshot_async`, each trying to own the GPU/card0/VT: +- `20_display.service` → `redbear-session-launch` (KDE session, VT 4) +- `20_greeter.service` → `redbear-greeterd` (custom RedBear greeter, VT 3) +- `21_sddm.service` → `sddm` (the target) +For the SDDM path, `20_display` and `20_greeter` should be disabled (GPU/DRM is +single-owner). This is a service-removal decision → **needs operator sign-off** +(policy: only the user authorizes removing services). Options: (a) disable the two +competing units for the SDDM path, or (b) confirm SDDM is the chosen greeter and +the others are legacy. + ## Build notes / deficiencies fixed - Full builds re-cooked llvm21 (~1-2h) on every base/relibc bump — fixed in Phase 0. - Mesa source/ is an untracked build artifact; durable Mesa changes MUST be patches (Phase 1a).