From 8120a6f4bd81265be7aacd96dfc345284620bd07 Mon Sep 17 00:00:00 2001 From: Vasilito Date: Wed, 29 Apr 2026 14:07:10 +0100 Subject: [PATCH] =?UTF-8?q?plan:=20v3.0=20round=202=20=E2=80=94=20fixed=20?= =?UTF-8?q?stale=20counts,=20QML=20JIT,=20build=20status?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Removed stale 26-desktop-packages claim; use accurate package list - Fixed libinput status: builds but suppressed - QML wording: JIT disabled for Redox, applies to all Qt6Quick proof - Full OS build: ISO/img already exist, not pending - knewstuff/kwallet: deferred only, not duplicated as blockers - kdecoration/plasma-wayland-protocols: transitively available - Evidence: Layers 1-4 Redox-verified, Layer 5 runtime-validated - DESKTOP-STACK-CURRENT-STATUS.md synced to v3.0 --- local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md | 44 ++++++++++------------ local/docs/DESKTOP-STACK-CURRENT-STATUS.md | 4 +- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md b/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md index bdcdca6b..bf1f583d 100644 --- a/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md +++ b/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md @@ -57,7 +57,7 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.** | Component | Status | Config | Notes | |-----------|--------|--------|-------| | evdevd | **builds** | enabled | scheme:evdev; 65 unit tests; event device semantics verified | -| libinput | **ignored** | suppressed | Not built; evdevd handles input natively | +| libinput | **builds, suppressed** | config: `libinput = "ignore"` | Builds but suppressed in redbear-full; evdevd handles input natively for bounded proof | | udev-shim | **builds** | enabled | scheme:udev; device enumeration; 15 unit tests | | seatd/seatd-redox | **builds** | enabled | meson build; 13_seatd.service wired; DRM lease via redox-drm | | libevdev | **suppressed** | commented | build needed header | @@ -83,10 +83,10 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.** | Component | Status | Config | Notes | |-----------|--------|--------|-------| | qtbase 6.11.0 | **builds** | enabled | Core+Gui+Widgets+DBus+Wayland; 7 libs + 12 plugins | -| qtdeclarative | **builds** | enabled | Qt6Quick metadata exported; QML JIT not runtime-proven | +| qtdeclarative | **builds** | enabled | Qt6Quick metadata exported; QML JIT disabled for Redox; downstream proof insufficient | | qtwayland | **builds** | enabled | Wayland QPA plugin | | qtsvg | **builds** | enabled | SVG support | -| KF6 frameworks (30/32) | **build real** | 18 enabled + kglobalacceld | 30 real cmake builds; 2 stubs (knewstuff, kwallet) | +| KF6 frameworks (30/32) | **build real** | 20 enabled + kglobalacceld | 30 real cmake builds; 2 stubs (knewstuff, kwallet); 3 suppressed (kirigami, knewstuff, kwallet) | | kf6-kio | **honest build** | enabled | KIOCore-only; local Redox compat headers; no sysroot fakery | | kirigami | **stub** | suppressed | QML-dependent; gated on Qt6Quick downstream proof | | kf6-knewstuff | **stub** | suppressed | cmake configs only; deferrable | @@ -94,11 +94,11 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.** | plasma-framework | **builds** | enabled | BUILD_WITH_QML=OFF | | plasma-workspace | **builds** | enabled | 52 dependency items | | plasma-desktop | **builds** | enabled | Depends on plasma-workspace | -| kdecoration | **builds** | enabled | Window decoration library | +| kdecoration | **builds** | transitively via plasma-workspace | Window decoration library | | kf6-kwayland | **builds** | enabled | Qt/C++ Wayland protocol wrapper | -| plasma-wayland-protocols | **builds** | enabled | XML protocol definitions | +| plasma-wayland-protocols | **builds** | transitively | XML protocol definitions | -**Verdict**: 26 KDE/Plasma packages enabled. Real Plasma session requires Qt6Quick downstream proof + real KWin. +**Verdict**: KDE/Plasma surface enabled (20 KF6 + plasma packages). Real Plasma session requires Qt6Quick downstream proof + real KWin. ### LAYER 7 — Validation Infrastructure @@ -109,7 +109,7 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.** | Oracle verification rounds | 20+ | Phases 1-5 all verified | | Host cargo check | 3 crates | Zero warnings | | Redox-target build | 3 crates | Successful (make r.*) | -| Full OS build | pending | make all CONFIG_NAME=redbear-full | +| Full OS build | exists | build/x86_64/redbear-full.iso + .img available; rebuild via make all CONFIG_NAME=redbear-full | ## Honest Blocker Classification @@ -121,24 +121,22 @@ and what must happen, in what order, to reach a usable KDE Plasma desktop.** | Mesa HW renderers cross-compilation | Mesa | radeonsi/iris not built for Redox target | | Real KWin build | Compositor | Stub delegates to redbear-compositor; needs Qt6Quick downstream proof | | kirigami real build | KDE | QML-dependent; needs Qt6Quick downstream proof | -| kf6-knewstuff/kwallet real builds | KDE | Deferrable; cmake config stubs sufficient for minimal session | ### Environmental Blockers (need toolchain/hardware) | Blocker | What's needed | |---------|---------------| -| Qt6Quick/QML downstream proof | QML JIT runtime validation; blocks kirigami + real KWin + Plasma | +| Qt6Quick/QML downstream proof | Qt6Quick/QML runtime proof (QML JIT disabled for Redox); blocks kirigami + real KWin + Plasma | | Hardware GPU validation | Real AMD/Intel GPU; blocks CS ioctl vendor semantics + Mesa HW renderers | -| Full OS build + QEMU | make all CONFIG_NAME=redbear-full; blocks integration testing | | Bare-metal validation | Real hardware; blocks all hardware claims | -### Deferred (not on critical path) +### Deferred (not on critical path for minimal session proof) | Item | Reason | |------|--------| | kf6-knewstuff/kwallet | cmake config stubs sufficient for dependency resolution; not needed for minimal Plasma session | -| libinput | evdevd handles input natively for bounded proof | -| libevdev/xkeyboard-config | header build needed; not blocking | +| libinput | evdevd handles input natively for bounded proof; libinput builds but suppressed in config | +| libevdev | header build needed; not blocking | ## Critical Path (updated) @@ -148,28 +146,26 @@ Layer 4 (input/seat) ▸ Layer 5 (greeter) ✓ ▸ Layer 6 (Plasma preflight) Blocked gate: Layer 3 (real KWin) ← Qt6Quick/QML downstream proof Blocked gate: Layer 1 (GPU CS ioctl) ← hardware + Mesa HW cross-compilation -Blocked gate: Full integration ← make all CONFIG_NAME=redbear-full ``` ## Current Config Surface -`config/redbear-full.toml` now enables **26 desktop packages**: +`config/redbear-full.toml` enables the full desktop-capable surface including: -- 18 KF6 frameworks + kglobalacceld +- 20 KF6 frameworks + kglobalacceld - 3 Plasma packages (framework, workspace, desktop) -- kwin (stub with wrapper scripts) -- redbear-compositor (real Rust compositor) +- kwin (stub with wrapper scripts) + redbear-compositor (real Rust compositor) - mesa + libdrm -- qtbase + qtdeclarative + qtwayland + qtsvg -- qt6-wayland-smoke -- seatd + redbear-authd + redbear-session-launch + redbear-greeter + redbear-sessiond +- qtbase + qtdeclarative + qtwayland + qtsvg + qt6-wayland-smoke +- seatd + redbear-authd + redbear-session-launch + redbear-greeter + redbear-sessiond (via redbear-mini) - dbus + firmware-loader + redox-drm + evdevd + udev-shim +- plus inherited packages from redbear-mini profile ## Next Steps (ordered by impact) -1. **`make all CONFIG_NAME=redbear-full`** — build full OS image with 26 desktop packages; resolves cascade-rebuild unknowns and produces bootable integration test surface +1. **`make all CONFIG_NAME=redbear-full`** — rebuild full OS image with current desktop package set; existing ISO/img already present at build/x86_64/ -2. **Qt6Quick/QML downstream proof** — validate QML JIT runtime on Redox target; unblocks kirigami → real KWin → full Plasma session +2. **Qt6Quick/QML runtime proof** — validate Qt6Quick downstream consumers with QML JIT disabled for Redox; unblocks kirigami → real KWin → full Plasma session 3. **GPU CS ioctl implementation** — implement command submission in redox-drm; unblocks hardware rendering path @@ -189,4 +185,4 @@ Blocked gate: Full integration ← make all CONFIG_NAME=redbear-full | **Runtime-validated** | Exercised in QEMU or bare metal | | **Hardware-validated** | Exercised on real AMD/Intel hardware | -Current state: Layers 1-7 are **Redox build-verified** (all 3 crates cook). Layer 5 (greeter) is **runtime-validated** in QEMU. Layers 3 (real KWin), 6 (full Plasma) and hardware paths remain at build-verified preflight level. \ No newline at end of file +Current state: Layers 1-4 are **Redox build-verified** (all 3 Red Bear crates cook on x86_64-unknown-redox). Layer 5 (greeter) is **runtime-validated** in QEMU. Layer 6 (Plasma) and hardware paths remain at build-verified preflight level. \ No newline at end of file diff --git a/local/docs/DESKTOP-STACK-CURRENT-STATUS.md b/local/docs/DESKTOP-STACK-CURRENT-STATUS.md index da325e3f..0b70b43d 100644 --- a/local/docs/DESKTOP-STACK-CURRENT-STATUS.md +++ b/local/docs/DESKTOP-STACK-CURRENT-STATUS.md @@ -1,7 +1,7 @@ # Red Bear OS Desktop Stack — Current Status **Last updated:** 2026-04-29 -**Canonical plan:** `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v2.2) +**Canonical plan:** `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` (v3.0) **Boot improvement plan:** `local/docs/BOOT-PROCESS-IMPROVEMENT-PLAN.md` (v1.0) **Source archival policy:** `local/docs/SOURCE-ARCHIVAL-POLICY.md` (v1.0) @@ -292,7 +292,7 @@ Init service configuration has been streamlined: | Document | Role | |---|---| -| `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` | Canonical desktop path plan (v2.2, Phase 1–5) | +| `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` | Canonical desktop path plan (v3.0, full chain reassessment) | | This document | Current build/runtime truth summary | | `local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md` | Canonical GPU/DRM execution plan beneath the desktop path | | `local/docs/QT6-PORT-STATUS.md` | Qt/KF6/KWin package-level build status |