docs: full-target runtime wiring audit — SDDM greeter conflict

SDDM greeter renders on redbear-compositor (per /etc/sddm.conf CompositorCommand);
KWin is the post-login session compositor. Runtime chain (driver-manager →
redox-drm → card0 → sddm → redbear-compositor → greeter) is coherent, BUT three
display entry points (20_display redbear-session-launch, 20_greeter
redbear-greeterd, 21_sddm) all fire oneshot_async and would contend for the
single-owner GPU/card0. For a clean SDDM path the first two must be disabled
(operator sign-off required).
This commit is contained in:
2026-07-24 13:31:06 +09:00
parent 5705c46e9b
commit 275e9eedf7
+25
View File
@@ -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).