From c8278cd4025552d10ed85c73292cdecba4b4e459 Mon Sep 17 00:00:00 2001 From: Admin Pupkin Date: Tue, 9 Jun 2026 15:45:17 +0300 Subject: [PATCH] STUBS-FIX-PROGRESS: document round 2 (forks, mesa, amdgpu, sddm, refusals) --- local/docs/STUBS-FIX-PROGRESS.md | 69 +++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/local/docs/STUBS-FIX-PROGRESS.md b/local/docs/STUBS-FIX-PROGRESS.md index dc7084f3fa..203e9d4d7a 100644 --- a/local/docs/STUBS-FIX-PROGRESS.md +++ b/local/docs/STUBS-FIX-PROGRESS.md @@ -22,7 +22,7 @@ The four audit documents identified ~517 TODO/FIXME markers, 11 `unimplemented!( | `local/docs/BOOT-AND-HW-ENABLEMENT-ASSESSMENT.md` | 1559 | Kernel→initfs→init→display→Wayland→KDE chain | | `local/docs/DESKTOP-SERVICES-ASSESSMENT.md` | 1572 | D-Bus, session, audio, network | | `local/docs/CONFIG-AND-INIT-ASSESSMENT.md` | 1106 | Config, init.d, recipes, layering | -| `local/docs/GPU-MESA-KDE-CHAIN-ASSESSMENT.md` | (see note) | Mesa → libdrm → redox-drm → Qt6 → KF6 → KWin → SDDM | +| `local/docs/GPU-MESA-KDE-CHAIN-ASSESSMENT.md` | 1379 | Mesa → libdrm → redox-drm → Qt6 → KF6 → KWin → SDDM | --- @@ -392,3 +392,70 @@ Cross-cutting: --- **Status:** 11 fixes dispatched in parallel. Waiting for completion notifications. + +--- + +## Round 2: GPU/Mesa/KDE Build Chain + Forks (2026-06-09) + +After the v6.0 single-producer input + driver stub-fix campaign finished, the GPU-Mesa-KDE assessment (`GPU-MESA-KDE-CHAIN-ASSESSMENT.md`, 1379 lines) was produced and the following work landed in a second round: + +### New Red Bear source forks established + +| Fork | Path | Initial commit | Notes | +|------|------|----------------|-------| +| `libdrm` | `local/sources/libdrm/` | `26e0c24 libdrm: Red Bear fork with redox patches applied` | libdrm 2.4.125 + 1542-line `redox.patch` (P1-P4 patch series folded into single in-tree patch) | +| `redox-drm` | `local/sources/redox-drm/` | `bd787d3 redox-drm: Red Bear fork with Intel/AMD/virtio drivers` | DRM/KMS scheme daemon — renderD128 path, atomic_check connector validation, Gap 3 / Gap 5 / Gap 8 fixes | +| `pipewire` | `local/sources/pipewire/` | `829d32e pipewire: initial import of upstream 0.3.85 fork` | Plus `016669f pipewire: add Redox compat shims` | +| `wireplumber` | `local/sources/wireplumber/` | `df92c0b wireplumber: initial import of upstream 0.4.14 fork` | Session manager for PipeWire | + +### Mesa fork (work in progress) + +The mesa recipe is being migrated from `recipes/libs/mesa` (Redox upstream) to `local/sources/mesa` so EGL Wayland work can land. Commit `6267d2451 mesa: fork mainline recipe to local for EGL Wayland work (Phase 2.1)` is the first commit on the new fork. + +### Key conflicts resolved + +- **amdgpu `idr_*` linux-kpi conflict** — resolved with `REDBEAR_AMDGPU_BUILD` guard (commit `638d78ee9`) +- **amdgpu re-enabled in redbear-full.toml** (was previously `"ignore"`) — commit `52459b787` +- **SDDM mayagrid theme** doesn't exist (only `maya`, `elarun`, `maldives` are shipped) — fixed to `maya` (commit `ebeb737f1`) +- **SDDM plasmawayland.desktop Exec** — fixed from `kwin_wayland --drm ...` to `startplasma-wayland` (commit `ebeb737f1`) + +### Refusals (correctly so) + +Two agents refused to perform tasks that would have been policy violations: + +1. **"Implement redbear-qml-runtime Rust shim"** — the agent verified that `QQuickWindow` and `QQmlEngine` already exist as real C++ classes in the built `libQt6Qml.so` and `libQt6Quick.so`. A `pub struct` in Rust cannot satisfy the C++ ABI that kirigami/Plasma links against. Refused to write a stub. The actual blocker is D-Bus activation, KWin Wayland compositing on Redox, libepoxy symbol resolution, and fontconfig setup — none of which a "Rust shim" addresses. + +2. **"Promote Wayland recipes to local/recipes/"** — the agent verified that `libwayland` and `wayland-protocols` are already in `local/recipes/wayland/` (the wip entries are symlinks to the local overlay). Nothing to move. + +### QEMU boot test + +`bg_3ec3f2af` — runs `./local/scripts/build-redbear.sh redbear-full` then boots it in QEMU 11.0.0 with virtio-gpu, captures serial output to `local/docs/boot-logs/`, writes summary. **This is the runtime validation step the v6.0 changelog identifies as "the only remaining Phase 1 gate."** Status: in progress. + +### Submodule reconciliation + +`bg_1b967047` — commits uncommitted changes in 10+ submodules (kernel, installer, sddm, redbear-notifications, redbear-statusnotifierwatcher, uutils-tar, ninja, llvm, mesa, base, etc.) and advances the main repo's submodule pointers. Status: in progress. + +### Round 2 commit summary (commits added on top of round 1) + +| Commit | Description | +|--------|-------------| +| `6870429b2` | libdrm: migrate to Red Bear fork; apply redox patches in-tree | +| `638d78ee9` | amdgpu: resolve idr_* conflict with linux-kpi via REDBEAR_AMDGPU_BUILD | +| `52459b787` | redbear-full: re-enable amdgpu (v6.0 2026, 0.2.3) | +| `796875e93` | redox-drm: switch recipe to local/sources/redox-drm fork, bump 0.2.3 | +| `f7f98fe67` | redox-drm: switch recipe to local/sources/redox-drm fork, bump 0.2.3 (canonical) | +| `6267d2451` | mesa: fork mainline recipe to local for EGL Wayland work (Phase 2.1) | +| `32993a9ee` | redox-drm: validate connector state in atomic_check (Gap 8 fix) | +| `19763b3ce` | plan: mark Gap 5 (host->guest resize events) and Gap 8 (atomic_check connectors) done | +| `b6ed9cab1` | build-redbear: stop nuking entire repo when a low-level source is stale | +| `ebeb737f1` | sddm: fix theme to maya; fix plasmawayland.desktop Exec to startplasma-wayland | +| `ddd574ef4` | redbear-compositor: keep DRM fd open across page flips (Gap 3.5) | +| `93740b7c0` | plan: add v6.0 changelog (Phase 1 fully implemented in code) | +| `385240174` | plan: mark Step 1.9 (udev-shim eventN) done | + +--- + +**Total session commits:** 319+ in main repo on `0.2.3` branch (Gitea remote). +**New forks:** 4 (libdrm, redox-drm, pipewire, wireplumber) at `local/sources/`. +**New local/recipes subdirectories:** `data/`, `wayland/`, `libs/redbear-qml-runtime/` (planned), `libs/pipewire/`, `libs/wireplumber/`, `libs/libxkbcommon/`, `drivers/redbear-hid-core/`. +