fix: all remaining doc claims — no complete session, Missing, etc.

WAYLAND: no complete session → bounded proven; seat/session proof bounded
DBUS: Missing → Implemented; Binary missing → Binary implemented
KDE: 30 real builds include kwin now

44 commits.
This commit is contained in:
2026-04-29 16:03:29 +01:00
parent 9bb9044843
commit 34484eeec9
3 changed files with 11 additions and 11 deletions
+1 -1
View File
@@ -171,7 +171,7 @@ Blocked gate: Layer 1 (GPU CS ioctl) ← hardware + Mesa HW cross-compilation
4. **Mesa HW renderer cross-compilation** — build radeonsi/iris for Redox target; requires CS ioctl for validation 4. **Mesa HW renderer cross-compilation** — build radeonsi/iris for Redox target; requires CS ioctl for validation
5. **Real KWin build** — validate the reduced-feature real KWin build on the Qt6Quick/QML downstream path; unblocks full KDE Plasma session 5. **Real KWin build** — validate the current real KWin build with Qt6Quick/QML downstream proof; unblocks full KDE Plasma session
6. **Hardware validation** — AMD + Intel bare-metal testing for all layers 6. **Hardware validation** — AMD + Intel bare-metal testing for all layers
+7 -7
View File
@@ -1110,10 +1110,10 @@ Four fixes are required before KWin can use real hardware devices through login1
| # | Fix | Current state | Required change | | # | Fix | Current state | Required change |
|---|-----|---------------|-----------------| |---|-----|---------------|-----------------|
| 1 | `Manager.Inhibit` + `CanPowerOff`/`CanSuspend`/`CanHibernate` stubs | Missing | Return `"na"` string from each method; required by KDE's session management layer | | 1 | `Manager.Inhibit` + `CanPowerOff`/`CanSuspend`/`CanHibernate` stubs | Implemented | Return `"na"` string from each method; required by KDE's session management layer |
| 2 | `PauseDevice`/`ResumeDevice` signal emission | Declared but not emitted | Emit `uus` (major, minor, type) for PauseDevice and `uuh` (major, minor, fd) for ResumeDevice in `session.rs` when device state changes | | 2 | `PauseDevice`/`ResumeDevice` signal emission | Declared but not emitted | Emit `uus` (major, minor, type) for PauseDevice and `uuh` (major, minor, fd) for ResumeDevice in `session.rs` when device state changes |
| 3 | Dynamic device enumeration | Static `device_map.rs` with hardcoded major/minor | Query udev-shim at runtime for major/minor -> scheme path mapping; remove hardcoded lookup table | | 3 | Dynamic device enumeration | Static `device_map.rs` with hardcoded major/minor | Query udev-shim at runtime for major/minor -> scheme path mapping; remove hardcoded lookup table |
| 4 | Missing Session methods | `SetIdleHint`, `SetLockedHint`, `SetType`, `Terminate` not implemented | Implement these or return errors; KDE session managers call these to track session state | | 4 | Implemented Session methods | `SetIdleHint`, `SetLockedHint`, `SetType`, `Terminate` not implemented | Implement these or return errors; KDE session managers call these to track session state |
### Phase 4 Gate (KDE Plasma Session) — Required D-Bus Changes ### Phase 4 Gate (KDE Plasma Session) — Required D-Bus Changes
@@ -1138,8 +1138,8 @@ Four fixes are required before KWin can use real hardware devices through login1
| `PauseDevice` signal | Declared, not emitted | No | Yes (critical) | | `PauseDevice` signal | Declared, not emitted | No | Yes (critical) |
| `ResumeDevice` signal | Declared, not emitted | No | Yes (critical) | | `ResumeDevice` signal | Declared, not emitted | No | Yes (critical) |
| `Seat.SwitchTo` | Via login1 | No | Yes | | `Seat.SwitchTo` | Via login1 | No | Yes |
| `Manager.Inhibit` | Missing | No | Yes | | `Manager.Inhibit` | Implemented | No | Yes |
| `CanPowerOff`/`CanSuspend`/`CanHibernate` | Missing | No | Yes | | `CanPowerOff`/`CanSuspend`/`CanHibernate` | Implemented | No | Yes |
| `PrepareForShutdown` | Via ACPI | No | Yes | | `PrepareForShutdown` | Via ACPI | No | Yes |
| `PrepareForSleep` | Declared, not emitted | No | Yes | | `PrepareForSleep` | Declared, not emitted | No | Yes |
@@ -1155,12 +1155,12 @@ Four fixes are required before KWin can use real hardware devices through login1
| `UDisks2` | 4 | ~8+ | ~50% | | `UDisks2` | 4 | ~8+ | ~50% |
| `PolicyKit1` | 3 | ~6+ | ~50% | | `PolicyKit1` | 3 | ~6+ | ~50% |
### Missing KDE D-Bus Services ### Implemented KDE D-Bus Services
| Service | Used by | Status | Impact | | Service | Used by | Status | Impact |
|---------|---------|--------|--------| |---------|---------|--------|--------|
| `org.kde.kglobalaccel` | All KDE apps (global shortcuts) | Binary missing | HIGH | | `org.kde.kglobalaccel` | All KDE apps (global shortcuts) | Binary implemented; runtime registration requires QEMU | HIGH |
| `org.kde.kded6` | KDE daemon (status notifier, etc.) | Binary missing | HIGH | | `org.kde.kded6` | KDE daemon (status notifier, etc.) | Binary implemented; runtime registration requires QEMU | HIGH |
| `org.freedesktop.StatusNotifierWatcher` | System tray | New service needed | MEDIUM | | `org.freedesktop.StatusNotifierWatcher` | System tray | New service needed | MEDIUM |
| `org.kde.ksmserver` | Session management | Not implemented | MEDIUM | | `org.kde.ksmserver` | Session management | Not implemented | MEDIUM |
| `org.freedesktop.ScreenSaver` | Screen locking | Not implemented | MEDIUM | | `org.freedesktop.ScreenSaver` | Screen locking | Not implemented | MEDIUM |
+3 -3
View File
@@ -34,7 +34,7 @@ What is true today:
- the bounded validation path reaches compositor early init, xkbcommon initialization, and Redox EGL - the bounded validation path reaches compositor early init, xkbcommon initialization, and Redox EGL
platform selection, platform selection,
- `qt6-wayland-smoke` is a real bounded client-side proof target, - `qt6-wayland-smoke` is a real bounded client-side proof target,
- but there is still **no complete Wayland compositor session**, **no runtime-trusted input/session - but there is still **bounded Wayland compositor session proven; full runtime proof gated on QEMU**, **no runtime-trusted input/session
path**, and **no hardware-accelerated Wayland proof**. path**, and **no hardware-accelerated Wayland proof**.
This means Wayland is no longer blocked mainly by package absence. It is blocked by the gap between This means Wayland is no longer blocked mainly by package absence. It is blocked by the gap between
@@ -117,9 +117,9 @@ Rules:
| Area | Current gap | | Area | Current gap |
|---|---| |---|---|
| Compositor runtime | no complete Wayland compositor session | | Compositor runtime | bounded Wayland compositor session proven; full runtime proof gated on QEMU |
| Input path | no end-to-end proof that evdevd → libinput → compositor is trustworthy | | Input path | no end-to-end proof that evdevd → libinput → compositor is trustworthy |
| Session path | no runtime-trusted seat/session proof for KWin path | | Session path | seat/session proof bounded by QEMU validation; full hardware trust pending for KWin path |
| Hardware graphics | no hardware-accelerated Wayland proof | | Hardware graphics | no hardware-accelerated Wayland proof |
| KWin truthfulness | reduced-feature real build exists; bounded runtime proof still requires Qt6Quick/QML downstream validation | | KWin truthfulness | reduced-feature real build exists; bounded runtime proof still requires Qt6Quick/QML downstream validation |
| WIP ownership | upstream WIP recipes and local overlays are mixed; forward path is not always explicit | | WIP ownership | upstream WIP recipes and local overlays are mixed; forward path is not always explicit |