diff --git a/docs/evidencia/cosmic-edit-escribiendo-qemu-2026-08-04.png b/docs/evidencia/cosmic-edit-escribiendo-qemu-2026-08-04.png new file mode 100644 index 00000000..af73aae7 Binary files /dev/null and b/docs/evidencia/cosmic-edit-escribiendo-qemu-2026-08-04.png differ diff --git a/docs/evidencia/cosmic-edit-qemu-2026-08-04.png b/docs/evidencia/cosmic-edit-qemu-2026-08-04.png new file mode 100644 index 00000000..92055c1e Binary files /dev/null and b/docs/evidencia/cosmic-edit-qemu-2026-08-04.png differ diff --git a/docs/runbooks/cosmic-desktop.md b/docs/runbooks/cosmic-desktop.md index 5fddf846..e16ad223 100644 --- a/docs/runbooks/cosmic-desktop.md +++ b/docs/runbooks/cosmic-desktop.md @@ -649,18 +649,56 @@ Es del mismo tipo que `login1` (que sí resuelve arje-logind-compat), y se arreg Medido: con `-smp 4` el panel arranca **sin ala izquierda, sin reloj y sin dock** —sólo la bandeja derecha— y el único rastro es `Failed to setup panel dbus server deadline has elapsed`. Con `-smp 8 -m 8192`: **4 arranques de 4 con el escritorio completo y cero deadlines vencidos**. -No es carga del anfitrión (falla con el anfitrión ocioso) sino la estampida del arranque: el panel -registra su servidor D-Bus mientras catorce clientes de iced escanean fuentes al mismo tiempo. +La causa es la estampida del arranque: el panel registra su servidor D-Bus mientras catorce clientes +de iced escanean fuentes al mismo tiempo. + +**CORRECCIÓN medida el 2026-08-04 validando `cosmic-edit`: la carga del anfitrión TAMBIÉN cuenta, y +`-smp 8` no la compensa.** Acá decía «no es carga del anfitrión (falla con el anfitrión ocioso)» — +cierto para el caso de 4 vCPU, pero se leía como que con 8 el anfitrión daba igual, y no. Dos +arranques de la MISMA imagen con la MISMA línea de QEMU (`-smp 8 -m 8192`): + +| anfitrión | colores | veredicto | +|---|---|---| +| `load average` ≈ 6 (otro agente compilando) | **130** | mutilado, y `deadline has elapsed` en el log | +| ocioso (`load` ≈ 1,8) | **1671** | completo | + +Tiene sentido y conviene decirlo entero: **este anfitrión tiene 8 núcleos** (`nproc`), así que +`-smp 8` le entrega la máquina entera a la VM y cualquier otra cosa que compile compite por los +mismos hilos. La receta práctica: antes de creerle a un arranque mutilado, mirá `/proc/loadavg` y +repetí con el anfitrión quieto — es un minuto y evita perseguir una regresión que no existe, que es +exactamente el error que ya está documentado dos párrafos más abajo. **Y una lección de medición que costó horas: el conteo de procesos NO sirve como veredicto.** Perseguí una regresión inexistente comparando «48 procesos» contra «31», revirtiendo uno por uno tres cambios míos que no tenían nada que ver — cuando un escritorio completo y sano muestra **32**. El número de procesos no distingue «arrancó» de «dibujó». El framebuffer sí, y sin ambigüedad: -**894 colores = completo, 130 = mutilado.** +**894 colores = completo, 130 = mutilado.** (Con las cuatro aplicaciones en el dock el escritorio +completo da ~1670: el umbral es «cientos vs. miles», no un número exacto.) + +## ✎ LA CUARTA APLICACIÓN: cosmic-edit (2026-08-04) + +`docs/evidencia/cosmic-edit-qemu-2026-08-04.png` y `…-escribiendo-…png` — 1280×800, **2105 colores**: +ventana con menús *File/Edit/View*, pestaña *New document*, numeración de líneas, y el icono del +editor en el dock con el punto de «en ejecución». La segunda captura tiene `hammer edita` escrito +por teclado sobre la línea 1 y el punto de modificado en la pestaña: **se escribe, no sólo se ve**. + +Se llegó por el lanzador, sin tocar el ratón para elegir: `Super` → teclear `text` → el primer +resultado es *«Text editor for the COSMIC desktop»* (`Ctrl+1`) → `Enter`. Que el editor sea lo que +responde a «text» es efecto del `.desktop` que genera `xdgen`, con sus `Keywords` y su +`MimeType=text/plain` — el mismo fichero que lo hace manejador por defecto de los `.txt` en el +gestor. + +**Lo que la receta enseñó, y que corrige un borde de la regla del `Cargo.lock`:** leer los crates +`-sys` del lock sigue siendo lo primero que hay que hacer, pero **el lock lista lo POSIBLE, no lo +ENCENDIDO**. En cosmic-edit aparecen `gio-sys`, `glib-sys` y `gobject-sys` —que en cualquier otro +paquete mandarían a declarar glib, y de ahí a la campaña de la cadena compartida— y entran sólo por +la feature `gvfs`, que se apaga. El lock dice el universo; las features dicen el recorte. La receta +no declara ninguna glib y su binario enlaza **sólo `libxkbcommon.so.0` y `libc.so`**: dos NEEDED, el +mínimo de la suite. ## Lo que falta, en orden -1. **Más aplicaciones**: `cosmic-edit`, `cosmic-store`, `cosmic-screenshot`. +1. **Más aplicaciones**: `cosmic-store`, `cosmic-screenshot`. 2. **La cadena glib COMPARTIDA** (`glib` + `pcre2` + `libffi` + `zlib` con `.so`), que destrabaría `gvfs` en cosmic-files y su applet del panel. Es una campaña propia y hay que decidir antes si la imagen puede tener una sola glib. diff --git a/scripts/cosmic/hydrate-cosmic.sh b/scripts/cosmic/hydrate-cosmic.sh index 39343dbd..bd6f9b64 100755 --- a/scripts/cosmic/hydrate-cosmic.sh +++ b/scripts/cosmic/hydrate-cosmic.sh @@ -64,6 +64,9 @@ else # …y el panel de control, la tercera. Instala 32 `.desktop`: uno por página (Pantalla, Sonido, # Red…), así que la biblioteca lista cada sección como entrada propia. recipes/incoming-cosmic/cosmic-settings.toml + # …y el editor de texto, la cuarta. Su `.desktop` declara `MimeType=text/plain`, así que además + # de aparecer en la biblioteca es a quien el gestor de ficheros abre un `.txt`. + recipes/incoming-cosmic/cosmic-edit.toml recipes/incoming-cosmic/cosmic-app-library.toml recipes/incoming-cosmic/cosmic-workspaces-epoch.toml # Ni binario ni librería: DATOS. El tema de iconos de COSMIC — sin él el escritorio no se ve