docs(mirada): el backend DRM funciona — README y SDD al día
mirada-compositor tiene dos backends: winit (anidado) y drm (nativo sobre TTY, verificado en hardware). README con la selección de backend, los requisitos de cada uno y MIRADA_STARTUP/MIRADA_DRM_TIMEOUT; SDD con la estructura del backend DRM. Pendiente: puntero en DRM, VT switch, hotplug. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -183,23 +183,27 @@ apps `mirada` y `mirada-compositor` (compilan; verificación visual
|
||||
manual) y `mirada-ctl` (CLI, probado vía el ejemplo `headless-ctl`).
|
||||
|
||||
El **Cuerpo** ya existe: `mirada-compositor` es un compositor Wayland
|
||||
teselante real sobre `smithay`, con backend `winit` — corre **anidado**
|
||||
como una ventana dentro de la sesión gráfica actual. Habla
|
||||
`wl_compositor`/`xdg_shell`/`wl_shm`/`wl_seat`/`wl_data_device`, compone
|
||||
las superficies de los clientes con `GlesRenderer` y aplica la geometría
|
||||
del Cerebro. Reusa `mirada-body` (contabilidad) y `mirada-link` (cable).
|
||||
Dos modos: **autónomo** (Cerebro `Desktop` embebido, un solo proceso) o
|
||||
**enlazado** (`MIRADA_SOCKET` → la app `mirada` decide la geometría).
|
||||
Compila y pasa clippy; verificación visual manual — ver
|
||||
`crates/apps/mirada-compositor/README.md`.
|
||||
teselante real sobre `smithay`. Habla `wl_compositor`/`xdg_shell`/
|
||||
`wl_shm`/`wl_seat`/`wl_output`/`wl_data_device`, compone las superficies
|
||||
de los clientes con `GlesRenderer` y aplica la geometría del Cerebro.
|
||||
Reusa `mirada-body` (contabilidad) y `mirada-link` (cable). Dos modos de
|
||||
Cerebro: **autónomo** (`Desktop` embebido) o **enlazado** (`MIRADA_SOCKET`
|
||||
→ la app `mirada`).
|
||||
|
||||
**Pendiente** — refinamientos del Cuerpo, no verificables en modo
|
||||
desatendido:
|
||||
**Dos backends gráficos** (`main()` elige; `--winit`/`--drm` lo fuerzan):
|
||||
|
||||
| capa pendiente | rol |
|
||||
| -------------------- | -------------------------------------------------------- |
|
||||
| backend DRM/libinput | de `winit` anidado a sesión nativa: superficies KMS, GPU |
|
||||
| `mirada-input` | puntero/ratón completo, repetición de teclas, gestos |
|
||||
| `mirada-sandbox` | aislamiento de clientes sobre `arje-incarnate` |
|
||||
- **`winit`** — corre anidado, una ventana en la sesión gráfica actual.
|
||||
- **`drm`** (`drm_backend.rs`) — corre nativo sobre una TTY, sin sesión
|
||||
anfitriona: `libseat` (sesión), `udev` (GPU), `DrmDevice` + GBM + EGL +
|
||||
`DrmCompositor`, `libinput` (teclado), bucle `calloop`. Verificado en
|
||||
hardware: sesión, render, teclado, atajos, clientes, salida limpia.
|
||||
|
||||
**Pendiente** — refinamientos del Cuerpo:
|
||||
|
||||
| capa pendiente | rol |
|
||||
| ---------------- | ------------------------------------------------------------ |
|
||||
| puntero en `drm` | ratón/touchpad por `libinput` (hoy el backend DRM sólo teclado) |
|
||||
| `mirada-input` | repetición de teclas, gestos; conmutación de VT, hotplug |
|
||||
| `mirada-sandbox` | aislamiento de clientes sobre `arje-incarnate` |
|
||||
|
||||
CRIU (congelar/restaurar ventanas) queda anotado como futuro.
|
||||
|
||||
Reference in New Issue
Block a user