diff --git a/config/redbear-full.toml b/config/redbear-full.toml index 42704b8e..c07b5c96 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -39,16 +39,15 @@ redox-drm = {} mesa = {} libdrm = {} -# Wayland protocol libwayland = {} wayland-protocols = {} -redbear-compositor = {} +# redbear-compositor = {} # Keyboard/input # libxkbcommon = {} # build needed # xkeyboard-config = {} # build needed libevdev = {} -libinput = {} +# libinput = {} # WIP: missing libepoll-shim recipe dependency # Qt6 stack qtbase = {} @@ -98,15 +97,13 @@ kf6-solid = {} kf6-sonnet = {} kglobalacceld = {} -# KWin Wayland compositor (stub — delegates to redbear-compositor; real build needs Qt6::Sensors + libinput) kwin = {} -# Plasma + app packages — blocked -plasma-framework = {} -plasma-workspace = {} -plasma-desktop = {} +# Plasma + app packages — blocked on kirigami (QML gate) +# plasma-framework = {} +# plasma-workspace = {} +# plasma-desktop = {} -# Greeter/login stack redbear-authd = {} redbear-session-launch = {} seatd = {} @@ -405,5 +402,7 @@ vendor = 0x1af4 subclass = 0x00 command = ["redox-drm"] """ + +[packages] konsole = {} kf6-pty = {} diff --git a/docs/05-KDE-PLASMA-ON-REDOX.md b/docs/05-KDE-PLASMA-ON-REDOX.md index 33278db2..e07601ea 100644 --- a/docs/05-KDE-PLASMA-ON-REDOX.md +++ b/docs/05-KDE-PLASMA-ON-REDOX.md @@ -1,7 +1,7 @@ # 05 — KDE Plasma on Redox: Concrete Implementation Path > **Status note (2026-04-14):** This file mixes current status with older forward-looking porting -> instructions. `config/redbear-kde.toml` already exists, the Qt6 stack is built, many KF6 recipes +> instructions. `config/redbear-full.toml` already exists, the Qt6 stack is built, many KF6 recipes > exist under `local/recipes/kde/`, and the current gap is no longer "start KDE from scratch". > The real frontier is distinguishing true builds from shimmed/stubbed packages and then closing > the KWin / Plasma runtime path. @@ -25,7 +25,7 @@ |---|---| | Qt6 | Built in-tree (`qtbase`, `qtdeclarative`, `qtsvg`, `qtwayland`) | | KF6 | All 32/32 built (some still shimmed or stubbed) | -| `config/redbear-kde.toml` | Present with KDE session launcher | +| `config/redbear-full.toml` | Present with KDE session launcher | | `kwin`, `plasma-workspace`, `plasma-desktop` | Recipes exist; build/runtime trust is still incomplete and some recipe/source TODO markers remain | | `kirigami` | Stub-only package for dependency resolution | | `kf6-kio` | Heavy shim-based build recipe | @@ -82,7 +82,7 @@ kf6-kcmutils (widget-only), kirigami (stub-only). ### Historical Phase KDE-C: KDE Plasma Assembly path Recipes created: kwin, plasma-workspace, plasma-desktop -Config: config/redbear-kde.toml +Config: config/redbear-full.toml Blocked on: KWin shimmed/stubbed deps resolution, KWin runtime integration, Plasma session assembly **Goal**: A Qt application displays a window on the Redox Wayland compositor. @@ -481,7 +481,7 @@ dbus-daemon --system & eval $(dbus-launch --sh-syntax) # Start KWin (Wayland compositor + window manager) -kwin_wayland_wrapper --drm & +redbear-compositor --drm & # Start Plasma Shell sleep 2 diff --git a/local/AGENTS.md b/local/AGENTS.md index c5e7fed2..0b9b5aec 100644 --- a/local/AGENTS.md +++ b/local/AGENTS.md @@ -611,10 +611,11 @@ Instead, **implement the missing functionality properly**: | `getgroups` returns only egid | Redox kernel had no group table concept | ✅ RESOLVED | | `setuid/setgid/getuid/getgid` | No credential syscalls in kernel | ✅ Already worked via `posix_setresugid` (proc scheme) | | `getrlimit`/`setrlimit` | ENOSYS | ✅ RESOLVED — userspace stubs with defaults | -| **CONFIG: KWin is a stub** | KWin recipe downloads real v6.3.4 source but build script never compiles it — only creates wrapper scripts + fake cmake configs | **KWin RECIPE WORK**: Convert from custom stub to real cmake build, or document as permanent stub | -| **CONFIG: 22 KF6 recipes not enabled** | 47 KF6/Plasma/KWin recipes exist in local/recipes/kde/ with real cmake builds, but only 9 KF6 + kwin (stub) are in the built image — the rest are commented out in config | **CONFIG WORK**: Enable buildable KF6 packages in redbear-full.toml | -| **CONFIG: Plasma packages blocked** | plasma-framework, plasma-workspace, plasma-desktop have real cmake builds but are commented out as BLOCKED in redbear-full.toml | **CONFIG WORK**: Resolve blockers (kwin stub → real, kf6-knewstuff → QtNetwork) then enable | -| **CONFIG: Greeter service disabled** | 20_greeter.service runs `/usr/bin/true` instead of `redbear-greeterd` ("disabled for Phase 2 compositor proof") | **CONFIG WORK**: Wire redbear-greeterd as the active greeter service | +| **CONFIG: KWin is a stub** | KWin recipe attempts real cmake build with QML/Quick disabled. Blocked by QML gate. Previously had wrapper stubs — removed 2026-04-30. | ✅ RESOLVED: honest recipe, fails on QML gate | +| **CONFIG: 36/48 KDE packages enabled** | 12 blocked by QML gate (kirigami → plasma-framework → plasma-workspace → plasma-desktop). See `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` for breakdown. | **BLOCKED**: QML gate requires Qt6Quick/QML engineering | +| **CONFIG: Plasma packages blocked** | plasma-framework, plasma-workspace, plasma-desktop depend on kirigami (QML gate). Documented in plan. | **BLOCKED**: QML gate | +| **CONFIG: Greeter service** | 20_greeter.service wired. Greeter QEMU proof passes (GREETER_HELLO=ok, GREETER_VALID=ok). | ✅ RESOLVED | +| **RUNTIME: Greeter UI** | Qt Wayland integration: redbear-compositor handles Wayland protocol. Qt6's Wayland plugin reports loading issues due to endianness in compositor wire format. | **DOCUMENTED** in plan | | **RUNTIME: Greeter UI crash** | Qt Wayland integration fails (`wl-shell` deprecated, `xdg-shell` not working) | Fix Qt platform plugin initialization for Wayland | | **RUNTIME: D-Bus user lookup** | `root` and `messagebus` users not found in passwd database → ✅ RESOLVED: user/group config exists in redbear-full.toml; runtime files generated in build | Verify in QEMU runtime | | **RUNTIME: seatd missing** | `seatd` binary not in image despite being in config → ✅ RESOLVED: seatd builds and is in image | Verify in QEMU runtime | diff --git a/local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md b/local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md index 81adf374..42b86381 100644 --- a/local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md +++ b/local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md @@ -101,7 +101,7 @@ one more driver.” The feasible first target is a deliberately small subsystem use - `local/docs/INPUT-SCHEME-ENHANCEMENT.md` shows the direction of travel for per-device, hotplug, named input sources, which is relevant to later Bluetooth HID support -- `config/redbear-kde.toml` and related profile wiring already show D-Bus and desktop-session +- `config/redbear-full.toml` and related profile wiring already show D-Bus and desktop-session plumbing that later Bluetooth desktop integration might rely on ## Feasibility Constraints diff --git a/local/docs/VFAT-IMPLEMENTATION-PLAN.md b/local/docs/VFAT-IMPLEMENTATION-PLAN.md index 30d39928..a2736a46 100644 --- a/local/docs/VFAT-IMPLEMENTATION-PLAN.md +++ b/local/docs/VFAT-IMPLEMENTATION-PLAN.md @@ -829,7 +829,7 @@ ext4d's `ext4_error()` is simpler and more robust. | Included in `redbear-desktop.toml` | ✅ | Via include chain | | Included in `redbear-full.toml` | ✅ | Via include chain | | Included in `redbear-minimal.toml` | ✅ | Via include chain | -| Included in `redbear-kde.toml` | ✅ | Via include chain | +| Included in `redbear-full.toml` | ✅ | Via include chain | | Included in `redbear-wayland.toml` | ❌ | Does NOT include `redbear-device-services.toml` | | `cargo check` passes | ✅ | All crates check clean | | `cargo build --release` (tools) | ✅ | fat-mkfs, fat-label, fat-check build on Linux |