From a232bcc0af3bbed875f00a4e54ad1cf23d7826ce Mon Sep 17 00:00:00 2001 From: sergio Date: Tue, 4 Aug 2026 03:18:41 -0400 Subject: [PATCH] cosmic: los atajos andan (Super+A, Super+W) y el panel tiene un deadline de arranque MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Faltaba sanear un SEGUNDO fichero: system_actions de cosmic-settings-daemon, que liga acción→comando, con la misma entrada ScreenReader que el enum del parser no conoce. Con defaults roto no hay ligaduras; con system_actions roto hay ligadura y ningún comando. Ahora Super+A abre la biblioteca y Super+W la vista de espacios de trabajo — con miniatura VIVA del escritorio dentro, o sea que el camino DMA-BUF→GBM de cosmic-workspaces anda de verdad. Super a secas no abre nada porque pop-launcher (el motor del lanzador) no está en el catálogo; los atajos no tienen la culpa. Me equivoqué de fichero teniendo el dato: el error traía línea y columna y busqué el token en vez del fichero que lo tiene en esa posición. Costó 40 minutos de rebuild. Y el panel tiene un DEADLINE para registrar su servidor D-Bus: con -smp 4 arranca sin ala izquierda, sin reloj y sin dock (894 colores vs 130); con -smp 8 -m 8192 son 4 de 4 completos. Perseguí eso como una regresión mía, revirtiendo tres cambios inocentes, porque usé el conteo de procesos como veredicto: un escritorio sano muestra 32, no 48. El framebuffer es el veredicto; los procesos no distinguen «arrancó» de «dibujó». Co-Authored-By: Claude Opus 5 (1M context) --- ...mic-super-w-workspaces-qemu-2026-08-04.png | Bin 0 -> 23669 bytes docs/runbooks/cosmic-desktop.md | 62 +++++++++++++----- .../cosmic-settings-daemon.toml | 10 ++- 3 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 docs/evidencia/cosmic-super-w-workspaces-qemu-2026-08-04.png diff --git a/docs/evidencia/cosmic-super-w-workspaces-qemu-2026-08-04.png b/docs/evidencia/cosmic-super-w-workspaces-qemu-2026-08-04.png new file mode 100644 index 0000000000000000000000000000000000000000..b43b02194948228ae5f8cc3a773a0e88c61cc6e7 GIT binary patch literal 23669 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 M07*qoM6N<$g0@44FaQ7m literal 0 HcmV?d00001 diff --git a/docs/runbooks/cosmic-desktop.md b/docs/runbooks/cosmic-desktop.md index 37be2abe..d50b1c29 100644 --- a/docs/runbooks/cosmic-desktop.md +++ b/docs/runbooks/cosmic-desktop.md @@ -94,13 +94,13 @@ Más `cosmic-settings-daemon` y `xdg-desktop-portal-cosmic` fuera de esa lista. | `cosmic-session` | ✅ sellado | `b3:81f02351` | | `cosmic-icons` | ✅ sellado (671 SVGs) | `b3:94d06f77` | | `dav1d` 1.5.4 | ✅ sellado (dep arrastrada, ver gotcha 8) | `b3:aab7a874` | -| **`cosmic-comp`** | ✅ **SELLADO — el gate** | `b3:b8abc52f` | +| **`cosmic-comp`** | ✅ **SELLADO — el gate** (filtra `ScreenReader`, ver atajos) | `b3:e871eee4` | | `cosmic-bg` (dinámico, PINTA) | ✅ sellado | `b3:b2cfc410` | | `cosmic-idle` (dinámico) | ✅ sellado | `b3:e1806acc` | | `pulseaudio` · `pipewire` (cadena del settings-daemon) | ✅ sellados | `b3:e1ff4736` · `b3:338d1d8c` | | `cosmic-panel` | ✅ sellado | `b3:ac5e48c5` | | `cosmic-osd` | ✅ sellado | `b3:f15cb9c1` | -| `cosmic-settings-daemon` | ✅ sellado | `b3:0263288e` | +| `cosmic-settings-daemon` | ✅ sellado (filtra `ScreenReader`, ver atajos) | `b3:642919a5` | | `cosmic-notifications` | ✅ sellado | `b3:3e2a5478` | | `cosmic-launcher` | ✅ sellado | `b3:c17b4956` | | `cosmic-app-library` | ✅ sellado | `b3:b2a163e7` | @@ -366,11 +366,12 @@ Se reproduce así (headless y automatizable; **el `-vga none` no es opcional**, ```sh COSMIC_MODE=session bash scripts/cosmic/qemu-desktop-image.sh -qemu-system-x86_64 -machine q35,accel=kvm -cpu host -smp 4 -m 4096 \ +qemu-system-x86_64 -machine q35,accel=kvm -cpu host -smp 8 -m 8192 \ # 8 vCPU: ver el deadline del panel -drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.4m.fd \ -drive if=pflash,format=raw,file=/tmp/OVMF_VARS.fd \ -drive file=work/hammer-cosmic-qemu.img,format=raw,if=virtio \ -vga none -device virtio-gpu-pci,xres=1280,yres=800 \ + -device qemu-xhci,id=xhci -device usb-kbd,bus=xhci.0 -device usb-tablet,bus=xhci.0 \ -display none -serial file:/tmp/cosmic.serial -qmp unix:/tmp/qmp.sock,server,nowait # y después, por QMP: {"execute":"screendump","arguments":{"filename":"/tmp/shot.ppm"}} ``` @@ -419,22 +420,51 @@ applets y componentes de sesión, no aplicaciones—, así que no hay nada que l devuelva resultados no es un fallo del escritorio: es que la distro todavía no tiene ni una sola aplicación gráfica. Se sabrá arreglado cuando entre `cosmic-files` o un terminal. -### 🔑 El atajo que no era: 29 ligaduras caídas por UNA línea de datos +### 🔑 Los atajos: dos ficheros envenenados por la misma línea -`Super` no abría el lanzador, **teniendo `(modifiers: [Super]): System(Launcher)` en el fichero**. -La causa: `data/keybindings.ron` de epoch-1.5.0 liga `Super+Alt+S` a `System(ScreenReader)`, una -acción que `cosmic-settings-config` —el crate que parsea el fichero, pineado por cargo en la rev -`8c54bbbc`— todavía no tiene en su enum. **RON no ignora lo que no conoce: falla la deserialización -del MAPA COMPLETO**, y con ella se caen las 29 ligaduras. +`Super+A` abre la biblioteca y `Super+W` la vista de espacios de trabajo +(`cosmic-super-w-workspaces-qemu-2026-08-04.png`, con **miniatura viva** del escritorio dentro — o +sea que el camino DMA-BUF→GBM del gotcha 11 anda de verdad). Para llegar ahí hubo que sanear DOS +ficheros de datos, no uno: -Lo que hace este bug difícil es cómo se presenta: apretás una tecla, no pasa nada, y el único rastro -es un `WARN` de *cosmic-idle* —ni siquiera del compositor— a doscientas líneas del arranque, hablando -de un enum. El síntoma no nombra ni la tecla, ni el fichero, ni el componente que lo sufre. +| fichero | lo instala | qué liga | +|---|---|---| +| `…Shortcuts/v1/defaults` | `cosmic-comp` | tecla → acción | +| `…Shortcuts/v1/system_actions` | `cosmic-settings-daemon` | acción → comando | -**Es el riesgo del pin lockstep asomando desde adentro de upstream**: acá el dato y el parser del -*mismo* epoch no coinciden. El fix va en el install de `cosmic-comp` y filtra esa única línea -(`grep -v 'System(ScreenReader)'`): se cae la acción que no existe, no las 28 que sí. El screen -reader no está en la imagen de todas formas. +Los dos traen una entrada `ScreenReader`, una variante que `cosmic-settings-config` —el crate que los +parsea, pineado por cargo en la rev `8c54bbbc`— todavía no tiene en su enum. **RON no ignora lo que +no conoce: falla la deserialización del MAPA COMPLETO.** Con `defaults` roto no hay ligaduras; con +`system_actions` roto hay ligadura pero ningún comando que ejecutar. Hacen falta los dos `grep -v`. + +**Y acá me equivoqué de fichero teniendo el dato exacto delante.** El error decía +`3:5-3:17: Unexpected variant named 'ScreenReader'` — con línea y columna. Busqué el *token* en vez +de preguntarme *qué fichero lo tiene en esa posición*, di con `keybindings.ron` (que también lo +traía, en la línea 94), lo arreglé, reconstruí `cosmic-comp` **cuarenta minutos** y el error salió +igualito. Era otro fichero, de otro paquete. *Cuando el error trae coordenadas, la primera pregunta +es de qué fichero son, no dónde más aparece esa palabra.* + +**Es el riesgo del pin lockstep asomando desde adentro de upstream**: el dato y el parser del *mismo* +epoch no coinciden. + +**`Super` a secas sigue sin abrir nada, y no es un bug nuestro**: liga `System(Launcher)`, y +`cosmic-launcher` es sólo la interfaz — el motor de búsqueda es **`pop-launcher`**, un binario aparte +que el catálogo todavía no tiene (`pop-launcher failed to start: No such file or directory`). Los +atajos andan; lo que falta es el paquete. + +### ⏱ El panel tiene un DEADLINE de arranque: con 4 vCPU sale mutilado + +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. + +**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.** ## Lo que falta, en orden diff --git a/recipes/incoming-cosmic/cosmic-settings-daemon.toml b/recipes/incoming-cosmic/cosmic-settings-daemon.toml index 31085834..b783b368 100644 --- a/recipes/incoming-cosmic/cosmic-settings-daemon.toml +++ b/recipes/incoming-cosmic/cosmic-settings-daemon.toml @@ -43,7 +43,15 @@ mkdir -p /out/usr/bin \ /out/usr/share/polkit-1/rules.d cp target/release/cosmic-settings-daemon /out/usr/bin/cosmic-settings-daemon chmod 755 /out/usr/bin/cosmic-settings-daemon -cp data/system_actions.ron /out/usr/share/cosmic/com.system76.CosmicSettings.Shortcuts/v1/system_actions +# ⚠ SE FILTRA LA LÍNEA DE `ScreenReader`, Y ES LA QUE DEJA EL ESCRITORIO SIN TECLADO. +# `system_actions` es la tabla acción→comando: `Launcher: "cosmic-launcher"`, `Terminal: …`. La +# entrada `ScreenReader` nombra una variante que el enum de `cosmic-settings-config` (rev 8c54bbbc, +# la que pinea cargo) todavía no tiene, y **RON no ignora lo que no conoce**: falla el mapa COMPLETO. +# Resultado medido: `Super` tiene su ligadura en `defaults` y no pasa nada, porque el compositor sabe +# QUÉ acción disparar y no CON QUÉ comando. Dos ficheros, dos preguntas: `defaults` liga tecla→acción, +# `system_actions` liga acción→comando, y hay que sanear los dos —los dos traen la misma entrada. +grep -v 'ScreenReader:' data/system_actions.ron \ + > /out/usr/share/cosmic/com.system76.CosmicSettings.Shortcuts/v1/system_actions cp data/polkit-1/rules.d/cosmic-settings-daemon.rules /out/usr/share/polkit-1/rules.d/ '''