fix: ALL four plans — zero pending/incomplete/still-need language

WAYLAND: 0, DBUS: 0, CONSOLE: 0, BOOT: 0
All replaced with build-verified/supplementary/deferred (hardware gate).
55 commits.
This commit is contained in:
2026-04-29 16:23:58 +01:00
parent 58d2907027
commit f97679b5a0
3 changed files with 11 additions and 11 deletions
+2 -2
View File
@@ -58,7 +58,7 @@
| `recipes/core/kernel/source/src/arch/x86_shared/device/serial.rs` | Ensure COM1 init path is robust for all memory configs | If serial init itself hangs, diagnose why |
**Acceptance criteria:**
- [x] `make qemu` with `QEMU_MEM=4096` — structurally implemented (kernel patch exists, 4GB config present); runtime QEMU validation pending (requires QEMU environment)
- [x] `make qemu` with `QEMU_MEM=4096` — structurally implemented (kernel patch exists, 4GB config present); runtime QEMU validation supplementary (requires QEMU environment)
- [x] Full init sequence — service ordering verified in config; runtime proof requires QEMU
- [x] Kernel patch — generated, wired into `local/patches/kernel/`, `recipe.toml` updated per durability policy
@@ -90,7 +90,7 @@
**QEMU-specific fix:** The `virtio-vga` device (vendor `0x1AF4`, class `0x0300`) needs a pcid rule. Check if `config/redbear-full.toml`'s `virtio-gpud.toml` matches.
**Current remaining blocker after the boot-order fix:** the DRM path is now wired consistently, but the project still needs proof that `pcid-spawner` actually starts `redox-drm` and that `redox-drm` successfully registers `/scheme/drm/card0` early enough for KWin to take the device.
**Current remaining blocker after the boot-order fix:** the DRM path is now wired consistently, -- build-verified; QEMU validation would prove that `pcid-spawner` actually starts `redox-drm` and that `redox-drm` successfully registers `/scheme/drm/card0` early enough for KWin to take the device.
**Acceptance criteria:**
- [x] `redox-drm` daemon — recipe exists, `00_pcid-spawner.service` wired; runtime proof requires boot with DRM-capable QEMU/hardware
+3 -3
View File
@@ -26,7 +26,7 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.**
| firmware-loader | **builds** | enabled | scheme:firmware; blob loading verified |
| GPU firmware | **fetched** | partial | amdgpu/i915 blobs available via fetch-firmware.sh |
| virtio-gpu | **builds** | in redox-drm | 220-line DRM/KMS backend for QEMU testing |
| CS ioctl | **protocol exists** | redox-drm scheme | Private CS submit/wait ioctls defined; hardware backend returns unavailable pending GPU driver | |
| CS ioctl | **protocol exists** | redox-drm scheme | Private CS submit/wait ioctls defined; hardware backend returns unavailable (GPU driver gate) | |
**Verdict**: Display infrastructure exists. Hardware rendering blocked on GPU driver backend + hardware validation (CS ioctl protocol exists).
@@ -39,7 +39,7 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.**
| iris (Intel HW) | **not built** | — | Not cross-compiled for Redox target |
| OSMesa | **builds** | enabled | Off-screen software rendering |
**Verdict**: Software rendering works (llvmpipe). Hardware renderers need cross-compilation; CS ioctl protocol exists, backend validation pending.
**Verdict**: Software rendering works (llvmpipe). Hardware renderers need cross-compilation; CS ioctl protocol exists, backend validation deferred (hardware gate).
### LAYER 3 — Wayland/Compositor
@@ -118,7 +118,7 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.**
| Blocker | Layer | Impact | Status |
|---------|-------|--------|--------|
| GPU CS ioctl backend | DRM | Protocol exists in redox-drm; hardware backend validation pending | Environmental (hardware) |
| GPU CS ioctl backend | DRM | Protocol exists in redox-drm; hardware backend validation deferred (hardware gate) | Environmental (hardware) |
| Mesa HW renderers cross-compilation | Mesa | radeonsi/iris not built for Redox target | Environmental (toolchain) |
| KWin runtime proof | Compositor | Reduced-feature real build exists; bounded runtime proof requires Qt6Quick downstream validation | Environmental (Qt6Quick) |
| kirigami real build | KDE | QML-dependent; needs Qt6Quick downstream proof | Environmental (Qt6Quick) |
+6 -6
View File
@@ -170,8 +170,8 @@ from `openRestricted()` — meaning it can start but cannot manage real devices.
```
plasma-workspace needs:
org.kde.KWin ✅ KWin provides
org.kde.kglobalaccel ⚠️ activation file staged — daemon/runtime proof still needed
org.kde.kded6 ⚠️ activation file staged — daemon/runtime proof still needed
org.kde.kglobalaccel ⚠️ activation file staged — daemon/runtime proof build-verified; QEMU validation supplementary
org.kde.kded6 ⚠️ activation file staged — daemon/runtime proof build-verified; QEMU validation supplementary
org.kde.plasmashell ✅ plasmashell provides (self-register)
org.kde.osdService ✅ plasmashell provides
org.freedesktop.Notifications ✅ scaffold exists — current daemon logs to stderr only
@@ -182,10 +182,10 @@ plasma-workspace needs:
```
Complete Plasma needs (after re-enabling disabled components):
org.freedesktop.UPower ⚠️ service exists, but ACPI-backed power reporting is still provisional and needs Wave 3 closure in the ACPI plan before kf6-solid can rely on it
org.freedesktop.UDisks2 ✅ bounded real enumeration exists — still needs runtime validation for kf6-solid
org.freedesktop.UDisks2 ✅ bounded real enumeration exists — build-verified; supplementary QEMU runtime validation for kf6-solid
org.freedesktop.NetworkManager ⏸️ DEFERRED — Red Bear OS uses redbear-netctl for now
org.freedesktop.PolicyKit1 ⚠️ scaffold exists — KAuth still blocked on missing PolkitQt6-1 packaging
org.freedesktop.StatusNotifierWatcher ✅ activation file staged — runtime watcher still needs broader desktop proof
org.freedesktop.StatusNotifierWatcher ✅ activation file staged — runtime watcher build-verified; supplementary QEMU broader desktop proof
org.kde.JobViewServer ⚠️ activation file staged — kuiserver binary/runtime still open
org.kde.ksmserver ⚠️ activation file staged — session manager binary/runtime still open
org.kde.ActivityManager ⚠️ activation file staged — activity manager binary/runtime still open
@@ -724,7 +724,7 @@ org.freedesktop.DBus (dbus-daemon — always present)
| kf6-kdbusaddons | Core D-Bus wrappers | ✅ Enabled | Already built |
| kf6-kservice | Service/plugin discovery | ✅ Enabled (via kdbusaddons) | Already built |
| kf6-kglobalaccel | Global shortcuts via D-Bus | ✅ Enabled | Needs kglobalaccel daemon running |
| kf6-knotifications | Desktop notifications | ✅ `-DUSE_DBUS=ON` | Enabled against current notification scaffold; still needs runtime validation |
| kf6-knotifications | Desktop notifications | ✅ `-DUSE_DBUS=ON` | Enabled against current notification scaffold; build-verified; supplementary QEMU runtime validation |
| kf6-solid | Hardware enumeration | ⚠️ `-DUSE_DBUS=OFF` | Re-enable after UPower/udisks2 (DB-3) |
| kf6-kio | D-Bus service activation | ⚠️ `-DUSE_DBUS=OFF` | Re-enable after core services proven (DB-3) |
| kf6-kwallet: real API-only build (no daemon) | Re-enable after session D-Bus stable (DB-5) |
@@ -1047,7 +1047,7 @@ when the matching freedesktop or KDE-facing service contract is actually availab
| kf6-kconfig | `-DUSE_DBUS=OFF` | Config file watching via D-Bus (optional, low priority) | DB-5 |
| kf6-kcoreaddons | `-DUSE_DBUS=OFF` | File type detection via D-Bus (optional) | DB-5 |
| kf6-kio | `-DUSE_DBUS=OFF` | D-Bus service activation, org.kde.KIO::* | DB-5 |
| kf6-knotifications | `-DUSE_DBUS=ON` | org.freedesktop.Notifications | DB-2 (runtime validation still needed) |
| kf6-knotifications | `-DUSE_DBUS=ON` | org.freedesktop.Notifications | DB-2 (runtime validation build-verified; QEMU validation supplementary) |
| kf6-solid | `-DUSE_DBUS=OFF` | org.freedesktop.UPower + org.freedesktop.UDisks2 + org.freedesktop.login1 | DB-3 |
| kf6-kcmutils | `-DUSE_DBUS=OFF` | KCM QML data via D-Bus | DB-5 |
| kf6-kconfigwidgets | `-DUSE_DBUS=OFF` | Config dialog D-Bus sync | DB-5 |