Annotate historical Wayland gap docs

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-15 12:57:07 +01:00
parent b9c9a90fff
commit e6499a516b
2 changed files with 46 additions and 3 deletions
+9
View File
@@ -89,6 +89,11 @@ implemented phase with its own config/recipe/doc boundary.
### Layer 3: Input Stack
> **Interpretation note:** paths under `recipes/wip/` in the matrix below should be read as upstream
> WIP inputs or historical references, not automatically as the current Red Bear shipping source of
> truth. Under the Red Bear WIP policy, upstream WIP may still be mirrored, fixed, and shipped from
> the local overlay instead.
| Component | Status | Where to implement | Concrete doc |
|-----------|--------|--------------------|-------------|
| evdev daemon | **Present in-tree** | `local/recipes/system/evdevd/` | [03 §2](03-WAYLAND-ON-REDOX.md) |
@@ -99,6 +104,10 @@ implemented phase with its own config/recipe/doc boundary.
### Layer 4: Wayland Protocol
> **Interpretation note:** the `recipes/wip/wayland/*` paths below are still useful references for
> upstream status, but Red Bear should not treat them as automatically preferred shipping sources
> while they remain upstream WIP.
| Component | Status | Recipe | Blocker |
|-----------|--------|--------|---------|
| libwayland | Patched, downstream compatibility workarounds remain | `recipes/wip/wayland/libwayland/` | Reduce/remove `redox.patch` and verify runtime behavior |
+37 -3
View File
@@ -4,12 +4,19 @@
Get a working Wayland compositor on Redox OS that can run KDE Plasma applications.
For the current build/runtime truth summary of the desktop stack, use
`local/docs/DESKTOP-STACK-CURRENT-STATUS.md` together with `local/docs/QT6-PORT-STATUS.md`.
This file should now be read primarily as implementation history plus deeper Wayland-specific
porting notes.
## Current State
- `config/wayland.toml` exists — launches `cosmic-comp` or `smallvil` via `orbital-wayland`
- `config/wayland.toml` exists — now uses the Red Bear runtime-service fragments and launches the
`smallvil` path by default via `orbital-wayland`
- 21 Wayland recipes in `recipes/wip/wayland/` — most untested
- `libwayland` 1.24.0 now rebuilds with a much smaller `redox.patch`; the P3 POSIX path (`signalfd`, `timerfd`, `eventfd`, `open_memstream`, `MSG_CMSG_CLOEXEC`, `MSG_NOSIGNAL`) is back on the native path, and the remaining patch is down to Redox-specific build quirks
- `smallvil` (Smithay) runs as basic compositor, performance poor
- `smallvil` (Smithay) is still the recommended first runtime target because it is the smallest
compositor path already present in-tree
- `cosmic-comp` builds but still has no working keyboard input; the remaining issue is runtime/input integration, not simply the absence of a libinput recipe
- `libdrm` builds with all GPU drivers disabled
- Mesa uses OSMesa (software rendering only)
@@ -32,7 +39,30 @@ What is actually true today:
- `evdevd`, `udev-shim`, and `redox-drm` exist in-tree, but full compositor/runtime validation remains open
- `seatd` now also builds in-tree for Redox and is started by the KDE runtime config, but has not yet been validated end-to-end with the compositor/DRM path
Read the step-by-step sections below as design history plus implementation notes, not as an exact current-state checklist.
Read the step-by-step sections below as design history plus implementation notes, not as an exact
current-state checklist.
For the current Phase 4 runtime entrypoint in this repo, use:
- `config/redbear-wayland.toml`
- `local/scripts/test-phase4-wayland-qemu.sh`
That path is the current smallvil-first Phase 4 validation target.
Current runtime evidence for that target:
- `redbear-wayland` builds to a bootable image
- the image boots to a real login prompt in QEMU/UEFI
- `redbear-phase4-wayland-check` runs in-guest and confirms the Wayland launch surface is present
- `smallvil` reaches xkbcommon initialization and selects the Redox EGL platform in the live guest
- the direct launcher `local/scripts/test-phase4-wayland-qemu.sh` now boots the built
`redbear-wayland` disk image instead of re-entering the build pipeline
For the first runtime-validation pass, keep the **runtime target** intentionally small: `smallvil`
as the compositor and no heavier secondary Wayland stack as the primary goal. The current
`redbear-wayland` profile still inherits the broader desktop package set from `desktop.toml`, but
Phase 4 validation in this repo is specifically about the `orbital-wayland``smallvil` path,
not about treating every inherited desktop package as part of the Wayland validation surface.
---
@@ -252,6 +282,10 @@ fn handle_ioctl(fd: usize, request: usize, arg: usize) -> Result<usize> {
**Also needed: udev shim**
> **Historical path note:** the `recipes/wip/...` paths in the example steps below document the
> original upstream-oriented implementation path. Under the current Red Bear policy, upstream WIP is
> an input/reference, but the shipping/fixed version may live under `local/recipes/` instead.
Create `recipes/wip/wayland/udev-shim/` — a minimal udev implementation that:
- Enumerates `/dev/input/event*` devices
- Emits "add"/"remove" events via netlink-compatible socket