docs: Wave B/C — D-Bus, greeter, Qt6, Wayland plan updates to v3.0

This commit is contained in:
2026-04-29 14:59:26 +01:00
parent 6a29a2caf9
commit 311580c7a9
4 changed files with 15 additions and 14 deletions
+4 -4
View File
@@ -1,7 +1,7 @@
# Red Bear OS D-Bus Integration Plan # Red Bear OS D-Bus Integration Plan
**Version:** 3.0 — 2026-04-29 **Version:** 3.0 — 2026-04-29
**Status:** Active plan **Status:** Active plan aligned with the desktop path v3.0
**Scope:** Full D-Bus infrastructure for KDE Plasma 6 on Wayland, tightly integrated with Redox scheme IPC **Scope:** Full D-Bus infrastructure for KDE Plasma 6 on Wayland, tightly integrated with Redox scheme IPC
**Parent plan:** `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v3.0) **Parent plan:** `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v3.0)
@@ -547,7 +547,7 @@ APIs, which relibc provides.
| 1.4 | Implement `TakeControl`/`ReleaseControl` | KWin can take exclusive session ownership | | 1.4 | Implement `TakeControl`/`ReleaseControl` | KWin can take exclusive session ownership |
| 1.5 | Create D-Bus policy files for login1 | Policy allows session compositor to call login1 methods | | 1.5 | Create D-Bus policy files for login1 | Policy allows session compositor to call login1 methods |
| 1.6 | Create D-Bus activation `.service` file for login1 | `redbear-sessiond` can be activated or init-started | | 1.6 | Create D-Bus activation `.service` file for login1 | `redbear-sessiond` can be activated or init-started |
| 1.7 | Add `redbear-sessiond` to `redbear-kde.toml` init services | Service starts before KWin in boot sequence | | 1.7 | Add `redbear-sessiond` to `redbear-full.toml` init services | Service starts before KWin in boot sequence |
| 1.8 | Wire `XDG_SESSION_ID`, `XDG_SEAT`, `XDG_RUNTIME_DIR` in the KDE session launcher | KWin sees a valid session environment | | 1.8 | Wire `XDG_SESSION_ID`, `XDG_SEAT`, `XDG_RUNTIME_DIR` in the KDE session launcher | KWin sees a valid session environment |
| 1.9 | Validate: `dbus-send --system --dest=org.freedesktop.login1 --print-reply /org/freedesktop/login1 org.freedesktop.login1.Manager.ListSessions` | Returns non-empty session list | | 1.9 | Validate: `dbus-send --system --dest=org.freedesktop.login1 --print-reply /org/freedesktop/login1 org.freedesktop.login1.Manager.ListSessions` | Returns non-empty session list |
| 1.10 | Validate: `dbus-send --session --dest=org.kde.KWin /KWin org.kde.KWin.supportInformation` | Returns non-empty KWin info string | | 1.10 | Validate: `dbus-send --session --dest=org.kde.KWin /KWin org.kde.KWin.supportInformation` | Returns non-empty KWin info string |
@@ -652,7 +652,7 @@ APIs, which relibc provides.
## 8. Integration with Console-to-KDE Plan ## 8. Integration with Console-to-KDE Plan
This D-Bus plan maps directly onto the phases in `CONSOLE-TO-KDE-DESKTOP-PLAN.md` v2.0: This D-Bus plan maps directly onto the phases in `CONSOLE-TO-KDE-DESKTOP-PLAN.md` v3.0:
| Desktop Plan Phase | D-Bus Plan Phase | What D-Bus delivers | | Desktop Plan Phase | D-Bus Plan Phase | What D-Bus delivers |
|---|---|---| |---|---|---|
@@ -867,7 +867,7 @@ The session bus must only be accessible to the owning user:
### 11.3 Config Changes ### 11.3 Config Changes
**`redbear-kde.toml` additions:** **`redbear-full.toml` additions:**
```toml ```toml
[packages] [packages]
@@ -3,7 +3,7 @@
**Version:** 1.0 — 2026-04-19 **Version:** 1.0 — 2026-04-19
**Status:** Active plan with bounded greeter/login proof now passing on `redbear-full`; broader desktop-runtime trust still remains experimental **Status:** Active plan with bounded greeter/login proof now passing on `redbear-full`; broader desktop-runtime trust still remains experimental
**Scope:** Red Bear-native graphical greeter, authentication boundary, and session handoff for the KDE-on-Wayland desktop path **Scope:** Red Bear-native graphical greeter, authentication boundary, and session handoff for the KDE-on-Wayland desktop path
**Parent plans:** `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v2.0), `local/docs/DBUS-INTEGRATION-PLAN.md` **Parent plans:** `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v3.0), `local/docs/DBUS-INTEGRATION-PLAN.md`
--- ---
+4 -4
View File
@@ -7,7 +7,7 @@
> **Phase numbering note:** The phases below (Phase 16) are this document's internal Qt porting > **Phase numbering note:** The phases below (Phase 16) are this document's internal Qt porting
> phases, not the canonical desktop plan phases. For the project-wide desktop execution plan > phases, not the canonical desktop plan phases. For the project-wide desktop execution plan
> (Phase 1: Runtime Substrate → Phase 5: Hardware GPU), see > (Phase 1: Runtime Substrate → Phase 5: Hardware GPU), see
> `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v2.0). > `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v3.0).
**Qt Phase 1 status:** ✅ COMPLETE — Qt6 core stack + OpenGL/EGL + D-Bus + Wayland **Qt Phase 1 status:** ✅ COMPLETE — Qt6 core stack + OpenGL/EGL + D-Bus + Wayland
**Qt Phase 2 status:** ✅ COMPLETE — All 32 KF6 frameworks built **Qt Phase 2 status:** ✅ COMPLETE — All 32 KF6 frameworks built
@@ -350,7 +350,7 @@ Current truth for Phase 4:
- the graphics stack now builds end to end: Mesa EGL+GBM+GLES2, libdrm amdgpu, Qt6 OpenGL/EGL, - the graphics stack now builds end to end: Mesa EGL+GBM+GLES2, libdrm amdgpu, Qt6 OpenGL/EGL,
and qtwayland all stage successfully and qtwayland all stage successfully
- the current `redbear-wayland` validation profile is still a bounded runtime-validation path, - the historical `redbear-wayland` validation profile and the current bounded `redbear-full` QEMU validation surface are still runtime-validation paths,
not proof of a hardware-accelerated desktop session not proof of a hardware-accelerated desktop session
- the current QEMU validation harness is still software-rendered (`llvmpipe`) and should be treated - the current QEMU validation harness is still software-rendered (`llvmpipe`) and should be treated
as a bounded regression/test path, not as the final acceleration proof target as a bounded regression/test path, not as the final acceleration proof target
@@ -445,7 +445,7 @@ The Qt6/KF6 build stack is substantially further along than the earlier "~50%" e
- a successful build stack is not yet the same thing as a working KDE Plasma session - a successful build stack is not yet the same thing as a working KDE Plasma session
For the canonical execution plan from this state to a working KDE Plasma desktop, see For the canonical execution plan from this state to a working KDE Plasma desktop, see
`local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v2.0). The Qt work described here maps to `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v3.0). The Qt work described here maps to
pre-Phase work (builds complete) and Phase 3 (KWin desktop session) in the canonical plan. pre-Phase work (builds complete) and Phase 3 (KWin desktop session) in the canonical plan.
(Updated 2026-04-16 — aligned with CONSOLE-TO-KDE-DESKTOP-PLAN.md v2.0) (Updated 2026-04-29 — aligned with CONSOLE-TO-KDE-DESKTOP-PLAN.md v3.0)
+6 -5
View File
@@ -30,7 +30,7 @@ What is true today:
- the base package stack is substantially build-visible: `libwayland`, `wayland-protocols`, Mesa - the base package stack is substantially build-visible: `libwayland`, `wayland-protocols`, Mesa
EGL/GBM/GLES2, Qt Wayland, libinput, seatd, and KWin-related package surfaces all build in some EGL/GBM/GLES2, Qt Wayland, libinput, seatd, and KWin-related package surfaces all build in some
form, form,
- the tracked Wayland validation profile, `redbear-wayland`, builds and boots in QEMU, - the historical `redbear-wayland` validation profile built and booted in QEMU, and the current bounded validation work now lives on `redbear-full` plus local harnesses,
- the bounded validation path reaches compositor early init, xkbcommon initialization, and Redox EGL - the bounded validation path reaches compositor early init, xkbcommon initialization, and Redox EGL
platform selection, platform selection,
- `qt6-wayland-smoke` is a real bounded client-side proof target, - `qt6-wayland-smoke` is a real bounded client-side proof target,
@@ -48,7 +48,7 @@ working compositor session, and then its handoff into the KWin desktop path.
In scope: In scope:
- `libwayland`, `wayland-protocols`, protocol generation, and residual patch reduction, - `libwayland`, `wayland-protocols`, protocol generation, and residual patch reduction,
- the `redbear-wayland` validation profile, - the historical `redbear-wayland` validation profile and its successor bounded validation harnesses on `redbear-full`,
- compositor runtime validation, - compositor runtime validation,
- evdevd / udev-shim / libinput / seatd integration as they affect Wayland, - evdevd / udev-shim / libinput / seatd integration as they affect Wayland,
- Mesa/GBM/EGL software-path proof and the Wayland-facing graphics runtime, - Mesa/GBM/EGL software-path proof and the Wayland-facing graphics runtime,
@@ -103,7 +103,7 @@ Rules:
| Area | Current state | Notes | | Area | Current state | Notes |
|---|---|---| |---|---|---|
| `redbear-wayland` profile | builds, boots | bounded validation profile only | | historical `redbear-wayland` profile | builds, boots | historical bounded validation profile; not a forward compile target |
| `libwayland` | builds | still carries Redox-specific recipe/source rewriting and residual patching | | `libwayland` | builds | still carries Redox-specific recipe/source rewriting and residual patching |
| `wayland-protocols` | builds | protocol packaging is not the blocker | | `wayland-protocols` | builds | protocol packaging is not the blocker |
| Qt6 Wayland client path | builds, partial runtime | `qt6-wayland-smoke` is installed, runs in the bounded harness, and leaves runtime markers; visible in-compositor window proof is still open | | Qt6 Wayland client path | builds, partial runtime | `qt6-wayland-smoke` is installed, runs in the bounded harness, and leaves runtime markers; visible in-compositor window proof is still open |
@@ -216,14 +216,15 @@ Current truth:
The forward path is now: The forward path is now:
- `redbear-wayland` for bounded compositor/runtime validation, - bounded compositor/runtime validation harnesses on `redbear-full`,
- `redbear-kde` for the intended KWin Wayland desktop direction, - `redbear-full` as the intended KWin Wayland desktop direction,
- local overlay ownership for validation harnesses and any shipping-critical Wayland recipe deltas. - local overlay ownership for validation harnesses and any shipping-critical Wayland recipe deltas.
### Historical or non-forward references ### Historical or non-forward references
These should not be treated as the forward path: These should not be treated as the forward path:
- `redbear-wayland` and `redbear-kde` — historical profile names, not supported forward-path compile targets,
- `smallvil` — historical bounded validation compositor reference only, - `smallvil` — historical bounded validation compositor reference only,
- the generic upstream WIP compositor set (`wlroots`, `sway`, `hyprland`, etc.) — useful inputs, not - the generic upstream WIP compositor set (`wlroots`, `sway`, `hyprland`, etc.) — useful inputs, not
trusted Red Bear shipping surfaces, trusted Red Bear shipping surfaces,