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
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
+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 |
|---|-----|---------------|-----------------|
| 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 |
| 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
@@ -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) |
| `ResumeDevice` signal | Declared, not emitted | No | Yes (critical) |
| `Seat.SwitchTo` | Via login1 | No | Yes |
| `Manager.Inhibit` | Missing | No | Yes |
| `CanPowerOff`/`CanSuspend`/`CanHibernate` | Missing | No | Yes |
| `Manager.Inhibit` | Implemented | No | Yes |
| `CanPowerOff`/`CanSuspend`/`CanHibernate` | Implemented | No | Yes |
| `PrepareForShutdown` | Via ACPI | 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% |
| `PolicyKit1` | 3 | ~6+ | ~50% |
### Missing KDE D-Bus Services
### Implemented KDE D-Bus Services
| Service | Used by | Status | Impact |
|---------|---------|--------|--------|
| `org.kde.kglobalaccel` | All KDE apps (global shortcuts) | Binary missing | HIGH |
| `org.kde.kded6` | KDE daemon (status notifier, etc.) | 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 implemented; runtime registration requires QEMU | HIGH |
| `org.freedesktop.StatusNotifierWatcher` | System tray | New service needed | MEDIUM |
| `org.kde.ksmserver` | Session management | 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
platform selection,
- `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**.
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 |
|---|---|
| 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 |
| 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 |
| 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 |