Watch
1
0
Fork
You've already forked SouveraineOS
0

TASK-43: viewtop is the session compositor

greetd launches it, Hyprland does not run, the shell's whole surface tree
composites on it. Points at the session record in the viewtop repo rather
than restating it here.

Steps 1-2 of the build order are done and step 3 is half done; the live
gap list lives with the code.
This commit is contained in:
Fimeg 2026-08-02 14:01:58 -04:00
commit e46c6588c2

View file

@ -1,10 +1,16 @@
# TASK 43 — viewtop: the Souveraine compositor
**Status:** touch served 2026-08-02, unexercised on hardware. Next lane is KMS
on device. **Size:** several sessions, one lane each. **Repo:**
`~/Projects/souveraine-viewtop`
(`10.10.20.120:4455/Fimeg/souveraine-viewtop`), head `458a354` = `origin/main`
2026-08-02, CI green on all six gates.
**Status: it is the session compositor, 2026-08-02.** greetd launches it,
Hyprland is not running, the shell's whole surface tree composites on it, and
Firefox ran well enough to drive a Claude session from. **Size:** several
sessions, one lane each. **Repo:** `~/Projects/souveraine-viewtop`
(`10.10.20.120:4455/Fimeg/souveraine-viewtop`), head `bceb0ac` = `origin/main`
2026-08-02.
**Read `docs/SESSION-2026-08-02.md` in that repo first.** It is the record of
the day this became real: five bugs only hardware could find, two upstream
smithay patches, and the exact things still missing. This file is the task; that
file is why the task looks the way it does now.
## Goal
@ -78,7 +84,20 @@ whose only input is the panel.
(`fbo_with_frame_info_callback` + buffer age + vsync), not on preference.
`wire` is a vocabulary over a platform channel, not IPC.
## What to build, in order
## What to build, in order — refreshed 2026-08-02
Steps 1 and 2 below are done: the Smithay frontend serves 23 globals, the gate
is wired at input and disclosure, and `ext-session-lock-v1` has carried the real
two-client handoff on hardware including adoption. Step 3's DRM/KMS half is
done and running; the arm64 engine is not. Step 4 is untouched.
The live list is in `souveraine-viewtop/docs/SESSION-2026-08-02.md` §"What is
missing". Shortest form, by what blocks daily use: scaling (everything renders
tiny), screen capture (written, unmerged), `furniture_at` returning `None` (the
pill cannot be addressed), and no `ToCompositor` dispatch (the OSK and pill
hacks cannot be deleted until there is one).
## The original plan, for context
1. ~~**Smithay frontend.**~~ Done. `wl_compositor`, xdg-shell, layer-shell,
seat with keyboard/pointer/touch, primary selection + wlr data-control.