plan: add v6.0→v6.0-impl changelog (346+ commits, 12 forks, QEMU boot validation, v7.0 path)

This commit is contained in:
2026-06-09 20:55:03 +03:00
parent 817f70e235
commit e30b056ef3
+80
View File
@@ -1394,6 +1394,86 @@ The v6.0 plan was produced in this session (2026-06-08) after:
- §3 Compositor decision matrix
- §5 Subsystem inventories (per-area coverage tables, 237 components)
- §8 v6.0 Gap matrix (110 missing, ranked)
---
## 18. v6.0 → v6.0-impl Changelog (2026-06-09 implementation session)
The v6.0 plan was produced on 2026-06-08. On 2026-06-09, an extensive implementation session
landed 346+ commits across multiple repos, addressing the bulk of the v6.0 plan's stub
elimination, fork establishment, and driver wiring work. This section summarizes what
landed and what remains for subsequent sessions.
### 18.1 Audit + planning artifacts produced
- `local/docs/STUBS-AUDIT-AND-REWRITE-PLAN.md` (935+ lines) — 20 drivers, all subsystems
- `local/docs/USB-STUBS-AUDIT.md` (501 lines) — USB stack
- `local/docs/HID-STUBS-AUDIT.md` (419 lines) — HID stack
- `local/docs/LOWLEVEL-STUBS-AUDIT.md` (1091 lines) — ACPI/PCI/IRQ/IOMMU/boot/init
- `local/docs/BOOT-AND-HW-ENABLEMENT-ASSESSMENT.md` (1559 lines) — kernel→initfs→init→display chain
- `local/docs/DESKTOP-SERVICES-ASSESSMENT.md` (1572 lines) — D-Bus, session, audio, network
- `local/docs/CONFIG-AND-INIT-ASSESSMENT.md` (1106 lines) — configs, init.d, recipes
- `local/docs/GPU-MESA-KDE-CHAIN-ASSESSMENT.md` (1379 lines) — Mesa → Plasma chain
- `local/docs/STUBS-FIX-PROGRESS.md` — tracking document for the v6.0 implementation
### 18.2 Implementation work landed
**P1 (Phase 1 Unblockers) — 5/5 DONE**: xhcid MSI-X, xhci event ring growth, PCI multi-bus, ACPI GPE, ACPI Notify.
**P2 (Phase 2-3) — 5/5 DONE**: intel-thc-hidd HID, PS/2 scancode sets 2/3 + Intellimouse2, usbscsid UAS, NVMe multi-queue, e1000d statistical counters.
**P3 (HID core extraction) — 4/4 DONE**: `local/recipes/drivers/redbear-hid-core/` (new crate, 2664 LoC, 43 unit tests), usbhidd/i2c-hidd/intel-thc-hidd wired to it.
**P4 (Driver wiring) — 4/4 DONE**: usbhidd, intel-thc-hidd, i2c-hidd, usbscsid, nvmed, acpid runtime wiring.
**P5 (Comprehensive implementation) — 17 items DONE**:
vesad handoff, pcid todo!() + DMI, init expect(TODO) + auto-restart + poweroff/reboot, KWin all 12 features, SDDM 4 TODO:IMPLEMENT, libxkbcommon + xkeyboard-config to local/recipes, 5 `*-stub` recipes replaced (libepoxy, libxcvt, libdisplay-info, lcms2, libudev), dual pcid-spawner/driver-manager collision, libdrm patches to fork, pam-redbear, real sessiond methods, 7 KDE D-Bus services, /etc/machine-id, firmware policy fix, UPower+UDisks2, notifications+statusnotifier, wifictl real backend, pipewire+wireplumber.
### 18.3 Red Bear forks established (12 forks)
Per the **NO OVERLAY-STYLE PATCHES — SCOPED POLICY (AMENDED 2026)** (commits `5396e6c3c` initial, `2b72f61e4` amendment):
| Fork | Path | Status |
|------|------|--------|
| `base` | `local/sources/base/` | pre-existing, on `0.2.3` |
| `bootloader` | `local/sources/bootloader/` | pre-existing |
| `installer` | `local/sources/installer/` | pre-existing |
| `kernel` | `local/sources/kernel/` | pre-existing |
| `libdrm` | `local/sources/libdrm/` | NEW — `26e0c24 libdrm: Red Bear fork with redox patches applied` |
| `mesa` | `local/sources/mesa/` | NEW — `0ecd6b66c` upstream + `a7e54995f` Redox fixes |
| `pipewire` | `local/sources/pipewire/` | NEW — `829d32e` + `016669f` |
| `redox-drm` | `local/sources/redox-drm/` | NEW — `bd787d3` + Gap 3/5/8 fixes |
| `redoxfs` | `local/sources/redoxfs/` | pre-existing |
| `relibc` | `local/sources/relibc/` | pre-existing |
| `userutils` | `local/sources/userutils/` | pre-existing |
| `wireplumber` | `local/sources/wireplumber/` | NEW — `df92c0b` |
### 18.4 QEMU boot validation
- `local/scripts/test-redbear-full-qemu.sh` (297 lines, executable) — QEMU boot test launcher with `snapshot=on,readonly=on` to protect build artifacts
- 3 boot logs + 3 analysis docs in `local/docs/boot-logs/`
- **300s capture reached**: PCI enumeration → pcid-spawner → nvmed (multi-queue) → virtio-blkd → ahcid
- **Real bug found and fixed**: `virtio-blkd` panicked on `assert_eq!(*status, 0)` when boot drive is read-only (commit `cffacf59 virtio-blkd: handle read-only drives gracefully (VIRTIO_BLK_F_RO feature)`)
- **Did NOT reach in 300s**: D-Bus, KWin, SDDM, login prompt (would need redbear-full ISO + further fixes)
### 18.5 What remains (the v6.0-impl→v7.0 path)
| Block | Status | Note |
|-------|--------|------|
| Build the `redbear-full` ISO | ❌ Blocked | Pre-existing build-system symlink loop in `local/recipes/*/recipe.toml` blocks cookbook rebuild |
| Mesa fork → EGL Wayland platform working | ❌ Not validated | `local/sources/mesa/` fork established; Wayland EGL flag in mainline; never actually built |
| QML gate (Kirigami QML_OFF macros) | ❌ Blocked | Real QML runtime requires JavaScript engine + QML parser + Wayland windowing — multi-engineer effort |
| Real `libdrm` patches | ❌ Not validated | Fork created; patches in fork; never rebuilt against actual mesa |
| Wayland protocols in redbear-compositor | ❌ Missing | xdg-shell, xdg-output, xdg-decoration, wl_keyboard, wl_pointer, wp_viewporter, linux-dmabuf — only 5/15 of the canonical protocol surface |
| Hardware GPU enablement | ❌ QEMU only | Intel ARC Xe driver, AMD radeonsi — not yet started |
### 18.6 Architectural decisions documented
- **v6.0 unified input**: single evdev producer at `/scheme/input/evdev` (inputd ring buffer), consumed by evdevd, exposed as `/dev/input/eventN` for libinput.
- **v6.0 compositor decision**: KWin is primary; redbear-compositor is greeter-only.
- **NO OVERLAY-STYLE PATCHES — SCOPED POLICY (AMENDED 2026)**: Rule 1 for in-tree components, Rule 2 for big external projects.
- **12 Red Bear forks established** as durable source-of-truth.
- **QEMU boot test pattern**: `snapshot=on,readonly=on` for drive attachment to prevent ISO corruption during test runs.
- §9 v6.0 config changes to redbear-full.toml
- §10 Evidence model (recalibrated to v6.0 phases)
- §11 Risk register (12 risks including QML, KWin, PipeWire, xwayland)