docs: SDD 20 — los WMs ligeros pasan a HECHO, y la lección de que «sellado ≠ arranca»
§II.1 decía «medido: no hay ninguno — de toda la familia sólo existen foot y mako». Ya no: 10 recetas selladas, 12 binarios, el perfil escritorio-sway cerrando 121/121 y ARRANCANDO en QEMU con evidencia. La hipótesis que traía la sección —«son baratos, no hay torre de C debajo»— se cumplió: KDE y GNOME fueron campañas de semanas, esto salió en una noche. Y se añade la lección que corrige cómo hay que leer TODO el documento: el grafo prueba que una imagen SE ARMA, no que ARRANQUE. Entre 121/121 y una pantalla con algo dibujado hubo SEIS muros y ocho ciclos de imagen —PATH vacío, libz.so.1 ausente del rootfs, un backend de libseat que nuestra receta no construye, /run de sólo lectura, los datos XKB, y la falta de tipografías— y ninguno era una dependencia de build, así que ninguno podía salir en el grafo. Con el método incluido, porque es lo que más se olvida: el veredicto es CONTAR COLORES del PPM, no leer el log. Hubo un arranque con todo verde (salida activada, modo correcto, «Commit of 1 outputs succeeded», workspace creado) y la captura 100% negra. ⇒ Corolario escrito en una sección nueva: cuando este documento diga que algo «cierra», hay que leerlo como «se puede intentar», no como «funciona». Los tres escritorios que aún no se validaron con pantalla deben esa misma distancia, y no conviene prometer fechas contra el número del grafo. waybar queda anotado como fuera-por-medición (gtkmm-3.0 = GTK3 + bindings C++ + 8 recetas), con yambar en su lugar. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -185,17 +185,56 @@ Presente ya: `networkmanager`, `pipewire`, `wireplumber`, `polkit`, `seatd`, `up
|
||||
|
||||
Acá está el trabajo grande, y conviene decir los tamaños en voz alta.
|
||||
|
||||
## II.1 WMs Wayland ligeros — barato, alto retorno
|
||||
**Medido: no hay ninguno.** De toda la familia sólo existen `foot` (terminal) y `mako`
|
||||
(notificaciones). Falta la base entera:
|
||||
## II.1 WMs Wayland ligeros — ✅ HECHO EN UNA NOCHE (2026-08-07/08)
|
||||
> **Actualizado.** Esta sección decía «medido: no hay ninguno — de toda la familia sólo existen
|
||||
> `foot` y `mako`». Ya no. La hipótesis que traía —«son baratos comparados con los escritorios
|
||||
> completos: no hay una torre de C debajo»— **se cumplió y ahora está medida**: KDE y GNOME fueron
|
||||
> campañas de semanas; esto salió en una noche.
|
||||
|
||||
- **`wlroots`** primero: es la biblioteca de la que cuelgan casi todos.
|
||||
- **Compositores**: `sway`, `labwc`, `river`, `niri`.
|
||||
- **La barra y los accesorios, sin los cuales un WM no se usa**: `waybar`, `fuzzel`/`wofi`,
|
||||
`swaybg`, `swayidle`, `swaylock`, `grim`, `slurp`, `wl-clipboard`.
|
||||
**10 recetas selladas** en la cola `recipes/incoming-wlr/`, 12 binarios:
|
||||
|
||||
Son **baratos comparados con los escritorios completos**: no hay una torre de C debajo. Es la mejor
|
||||
relación esfuerzo/resultado que queda en el proyecto.
|
||||
| pieza | qué aporta |
|
||||
|---|---|
|
||||
| `wlroots` 0.18.2 | la biblioteca de la que cuelga todo lo demás |
|
||||
| `sway` 1.10 | el compositor (+ swaybar, swaymsg, swaynag) |
|
||||
| `yambar` | la barra de estado |
|
||||
| `fuzzel` | el lanzador de aplicaciones |
|
||||
| `swaybg` · `swaylock` · `swayidle` | fondo, bloqueo (con PAM) e inactividad |
|
||||
| `grim` · `slurp` | captura de pantalla y selección de región |
|
||||
| `wl-clipboard` | `wl-copy` / `wl-paste` |
|
||||
|
||||
Con `foot` (ya en el corpus) como terminal, el perfil **`escritorio-sway` cierra 121/121** y
|
||||
**arranca en QEMU**: ver `docs/evidencia/sway-qemu-2026-08-08.png`.
|
||||
|
||||
**`waybar` queda fuera POR MEDICIÓN**, no por gusto: pide `gtkmm-3.0` —GTK**3** *y* sus bindings de
|
||||
C++— más gtk-layer-shell, jsoncpp, fmt, spdlog, sigc++, date y libnl. Es el muro de GTK3 aparcado
|
||||
por diseño, con ocho recetas nuevas encima. `yambar` es C puro, del mismo autor que foot/fcft/fuzzel,
|
||||
y sus dependencias ya estaban selladas. Si algún día entra GTK3, waybar vuelve a la mesa.
|
||||
|
||||
Faltan otros compositores (`labwc`, `river`, `niri`), que ahora son baratos porque wlroots ya está.
|
||||
|
||||
### ⚠️ LA LECCIÓN QUE VALE PARA TODO ESTE DOCUMENTO: **sellado ≠ arranca**
|
||||
El grafo decía **121/121, falta 0** — y entre eso y una pantalla con algo dibujado hubo **seis muros
|
||||
y ocho ciclos de imagen**. Ninguno era visible en un grafo de dependencias, porque ninguno es una
|
||||
dependencia de build:
|
||||
|
||||
1. **`PATH` vacío** — el `console-getty` no lo exporta; ni `mkdir` se encontraba.
|
||||
2. **`libz.so.1` ausente del rootfs** — el `zlib` del corpus es sólo estático y la compartida vive
|
||||
en otra cola. Se cazó comparando los `NEEDED` del ELF contra el rootfs.
|
||||
3. **`LIBSEAT_BACKEND=builtin` no existe en NUESTRO libseat** — la receta lo construye con un solo
|
||||
backend. *La receta manda sobre lo que uno cree recordar del proyecto.*
|
||||
4. **`/run` de sólo lectura** — la raíz es inmutable por diseño; el error («check permissions»)
|
||||
sonaba a permisos y era un filesystem read-only.
|
||||
5. **`xkeyboard-config` ausente** — sin los datos XKB, xkbcommon aborta.
|
||||
6. **Sin tipografías no hay terminal** — `fcft: failed to load primary fonts`.
|
||||
|
||||
Y el método: **el veredicto es contar colores del PPM, no leer el log.** Hubo un arranque con TODO
|
||||
verde —salida activada, modo correcto, «Commit of 1 outputs succeeded», workspace creado— y la
|
||||
captura **100% negra**. Un compositor puede estar vivo y no pintar nada.
|
||||
|
||||
⇒ **Corolario para §4.1 y para cualquier estimación de este documento**: que un perfil cierre en el
|
||||
grafo prueba que la imagen SE ARMA, no que ARRANQUE. Los otros perfiles no validados en metal
|
||||
cargan esa misma distancia, y conviene no prometer fechas contra el número del grafo.
|
||||
|
||||
## II.2 Aplicaciones gráficas de terceros — **medido: cero**
|
||||
No hay ni una. Por coste creciente:
|
||||
@@ -243,6 +282,24 @@ originó el respaldo del 2026-08-07.
|
||||
**Se puede publicar SIN**: navegador propio, ofimática, y el reconstructor independiente. Son
|
||||
objetivos, no requisitos.
|
||||
|
||||
**Para COMPLETA falta, además**: wlroots + los WMs ligeros y sus accesorios, el juego de aplicaciones
|
||||
gráficas, LibreOffice, el navegador, y cerrar la deuda de fondo (gcc, determinismo `.debug_`,
|
||||
ADR 0012).
|
||||
**Para COMPLETA falta, además**: el juego de aplicaciones gráficas, LibreOffice, el navegador, y
|
||||
cerrar la deuda de fondo (gcc, determinismo `.debug_`, ADR 0012).
|
||||
*(Los WMs ligeros ya NO están en esta lista: wlroots + sway + accesorios se cerraron el 2026-08-07/08
|
||||
y el perfil arranca en QEMU — ver §II.1. También faltan otros compositores, pero ahora son baratos.)*
|
||||
|
||||
---
|
||||
|
||||
## 7. Lo que este documento NO puede decirte
|
||||
|
||||
Todos los números de acá salen del grafo, y el grafo tiene un límite que conviene tener presente
|
||||
antes de leerlo como un plan: **prueba que una imagen SE ARMA, no que ARRANQUE.**
|
||||
|
||||
Está medido, no supuesto. El perfil `escritorio-sway` cerró **121/121, falta 0** — y entre eso y una
|
||||
pantalla con algo dibujado hubo **seis muros y ocho ciclos de imagen**: PATH vacío, un `.so`
|
||||
ausente del rootfs, un backend de libseat que nuestra receta no construye, `/run` de sólo lectura,
|
||||
los datos XKB, y la falta de tipografías. Ninguno era una dependencia de build, así que ninguno podía
|
||||
aparecer en el grafo.
|
||||
|
||||
⇒ Cuando este documento diga que algo «cierra», leelo como *se puede intentar*, no como *funciona*.
|
||||
La distancia se paga una vez por perfil y se paga entera. Los tres escritorios que aún no se
|
||||
validaron con pantalla la deben.
|
||||
|
||||
Reference in New Issue
Block a user