From ee037912a98475e263cfa4d5abe16b8a39945b25 Mon Sep 17 00:00:00 2001 From: sergio Date: Wed, 5 Aug 2026 10:28:14 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A5=20ScreenCast:=20el=20stream=20SE?= =?UTF-8?q?=20CREA=20=E2=80=94=20nodo=20`cosmic-screencast`=20vivo=20en=20?= =?UTF-8?q?pipewire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La receta de la sonda (b3:af49d32d) y lo que midió. Es la única receta de la campaña cuyo producto no es una pieza del escritorio sino un instrumento para medirlo: entra a la imagen porque un handshake de portal sólo se puede ejercer DESDE la sesión, con bus y compositor vivos, y sale ESTÁTICA (0 NEEDED) porque un instrumento no debe depender de aquello que mide. [1/4] CreateSession → Response 0, session_handle ✓ [2/4] SelectSources → Response 0 ✓ [3/4] Start → el backend ABRE "Share your screen", con miniatura EN VIVO del framebuffer y el output Virtual-1; se elige, se pulsa Share… y NO llega Response en 60s ✗ El log del backend da la línea exacta: screencast_thread: state-changed 'Connecting' -> 'Paused' Y `pw-cli ls Node` durante la espera da el veredicto INDEPENDIENTE: node.name = "cosmic-screencast" media.class = "Video/Source" EL NODO DE VIDEO EXISTE EN EL GRAFO DE PIPEWIRE. La cadena entera —cliente → frontend → backend → compositor → demonio— funciona hasta crear y negociar el stream. Lo único que no ocurre es el Response de vuelta tras quedar en `Paused`. Eso es un lugar muy distinto del de esta mañana ("no hay demonio con quien negociar"). Sospecha para el próximo paso, y es HIPÓTESIS no medición: falta `wireplumber`. Sin gestor de sesión nadie mueve el nodo de Paused a Streaming y el backend parece esperarlo. Construirlo la confirma o la mata. Gotchas que costaron corridas y quedan escritos: · matar el backend se lleva puesto al frontend (ambos pierden dueño del bus); · el lanzador busca por NOMBRE VISIBLE: `cosmic-term` no matchea, `Terminal` sí — escribir el nombre del binario abre otra app; · `| head -N` bufferiza y deja la terminal en blanco: parece colgada y está esperando; · pkg-config OMITE los -L de dirs "estándar" y zig cc cross NO los busca ⇒ `-ldbus-1` pelado da "unable to find static system library", que suena a librería faltante cuando lo que falta es la ruta. Co-Authored-By: Claude Opus 5 (1M context) --- .../cosmic-screencast-dialogo-2026-08-05.png | Bin 0 -> 74153 bytes ...ic-screencast-nodo-pipewire-2026-08-05.png | Bin 0 -> 49116 bytes docs/runbooks/cosmic-desktop.md | 98 ++++++++++++++++-- docs/state/targets.toml | 4 + recipes/incoming-cosmic/portal-probe.toml | 86 +++++++++++++++ scripts/cosmic/hydrate-cosmic.sh | 5 + 6 files changed, 185 insertions(+), 8 deletions(-) create mode 100644 docs/evidencia/cosmic-screencast-dialogo-2026-08-05.png create mode 100644 docs/evidencia/cosmic-screencast-nodo-pipewire-2026-08-05.png create mode 100644 recipes/incoming-cosmic/portal-probe.toml diff --git a/docs/evidencia/cosmic-screencast-dialogo-2026-08-05.png b/docs/evidencia/cosmic-screencast-dialogo-2026-08-05.png new file mode 100644 index 0000000000000000000000000000000000000000..a40df6f1e783fb3f49b1bdcb28c88236f4f3f718 GIT binary patch literal 74153 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 KLGebOasLCJo2mc+ literal 0 HcmV?d00001 diff --git a/docs/evidencia/cosmic-screencast-nodo-pipewire-2026-08-05.png b/docs/evidencia/cosmic-screencast-nodo-pipewire-2026-08-05.png new file mode 100644 index 0000000000000000000000000000000000000000..36f1211037e3f1a1fff5ad50c981f0556618b37d GIT binary patch literal 49116 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

iA!;zg0@YK)_OaT-K$M>+Bwa$c6DY2LsRr(L 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 literal 0 HcmV?d00001 diff --git a/docs/runbooks/cosmic-desktop.md b/docs/runbooks/cosmic-desktop.md index 0aaa4e2a..5dab1c7d 100644 --- a/docs/runbooks/cosmic-desktop.md +++ b/docs/runbooks/cosmic-desktop.md @@ -1009,14 +1009,95 @@ mutilado da 130). **Lo que sigue faltando, y son dos cosas separadas:** -- **El handshake de ScreenCast de punta a punta** necesita un cliente `ashpd` **persistente**, y no - hay atajo: el portal asocia la sesión al *sender* de D-Bus, así que `CreateSession` con un - `dbus-send` y `SelectSources` con otro se rechazan por venir de nombres únicos distintos. Un - cliente de prueba es una receta nueva, no un one-liner. +- **El handshake de ScreenCast de punta a punta** necesita un cliente **persistente** — resuelto + abajo con `portal-probe`. - **`wireplumber`**, que es lo que separa «hay stream de video» de «hay audio». Sin gestor de sesión pipewire arranca y sirve, pero no descubre tarjetas ni enruta. Para ScreenCast alcanza; para sonido no. Ni siquiera está construido. +## 🔌 portal-probe: la SONDA, y hasta dónde llega ScreenCast de verdad (2026-08-05) + +`recipes/incoming-cosmic/portal-probe.toml` → **`b3:af49d32d`**. La única receta de la campaña cuyo +producto no es una pieza del escritorio sino **un instrumento para medirlo**. + +### Por qué no alcanzaba `dbus-send`, y por qué tampoco hacía falta `ashpd` + +Los portales no son RPC: son **asíncronos en dos tiempos**. Cada método devuelve al instante un +object path de `Request`, y el resultado llega DESPUÉS como señal `Request.Response` sobre ese path. +`dbus-send` ya salió para entonces. Y hay un segundo muro, más duro: **el portal ata la sesión al +SENDER**, así que `CreateSession` con un `dbus-send` y `SelectSources` con otro se rechazan por venir +de nombres únicos distintos. Hace falta UNA conexión viva durante todo el intercambio. + +`ashpd` era el camino obvio, pero el árbol fuente de una receta de código propio es el repo del +**propio hammer** (no hay modo `path` en `[source]`: sólo git y tarball) ⇒ habría sumado ~150 crates +al `Cargo.lock` de la herramienta de build por una sonda de diagnóstico. En C sobre `libdbus` cuesta +**cero deps nuevas**, sale **estática (0 NEEDED)** —un instrumento no debe depender de lo que mide— y +sobre todo: **el protocolo se ve**. Una sonda cuyo valor es documentar un handshake no debería +esconderlo tras una biblioteca que lo abstrae. + +Detalle que la especificación regala y hay que usar: **el path del `Request` se PREDICE** +(`/…/request//`, con `sender` = nombre único sin `:` y con `.`→`_`). Existe justo para +poder suscribirse ANTES de llamar; esperar al path devuelto para recién ahí hacer `AddMatch` es una +carrera real, no teórica. + +### Lo medido: el stream SE CREA, y el `Response` es lo único que falta + +``` +portal-probe version ScreenCast v5 · Screenshot v2 · FileChooser v3 · Settings v2 + Access y RemoteDesktop AUSENTES +portal-probe screencast + [1/4] CreateSession → Response 0, session_handle = /…/session/1_108/hammersess ✓ + [2/4] SelectSources → Response 0 ✓ + [3/4] Start → el backend ABRE su diálogo «Share your screen», con + miniatura EN VIVO del framebuffer y el output `Virtual-1`; + se elige, se pulsa Share… y NO llega Response en 60s ✗ +``` + +El log del backend (`RUST_LOG=debug`) da la línea exacta: + +``` +xdg_desktop_portal_cosmic::screencast_thread: state-changed 'Connecting' -> 'Paused' +``` + +Y `pw-cli ls Node` durante la espera da el veredicto independiente: + +``` +node.name = "cosmic-screencast" +media.class = "Video/Source" +``` + +**El nodo de video EXISTE en el grafo de pipewire.** O sea: la cadena entera —cliente → frontend → +backend → compositor → demonio de pipewire— funciona hasta **crear y negociar el stream**. Lo único +que no ocurre es que el backend emita el `Response` de vuelta al cliente tras quedar en `Paused`. + +Ese es un lugar muy distinto del que ocupaba el frente esta mañana («no hay demonio con quien +negociar»). El siguiente paso es el `Paused → Streaming`, y la sospecha razonable es +**`wireplumber`**: sin gestor de sesión nadie mueve el nodo de `Paused`, y el backend parece +esperarlo. Es una hipótesis, no una medición — construir `wireplumber` la confirma o la mata. + +### Dos gotchas que costaron corridas + +- **`NameHasOwner` no activa nada.** Los portales son servicios ACTIVABLES: el bus los arranca al + pedirlos. La primera versión de la sonda rechazaba con «no hay frontend de portal en el bus» sobre + un sistema donde el portal andaba perfecto, sólo que dormido. Se arregló con `StartServiceByName` + (commit `ea210ba`) — y distingue «arrancado ahora» de «ya estaba corriendo», que no es lo mismo + cuando lo que se investiga es una carrera. +- **Matar el backend se lleva puesto al frontend.** `kill` sobre `xdg-desktop-portal-cosmic` dejó + también sin dueño a `org.freedesktop.portal.Desktop`. Para diagnosticar con log hay que relanzar el + backend Y forzar la reactivación del frontend. +- **El lanzador busca por NOMBRE VISIBLE, no por binario**: `cosmic-term` no matchea nada, + `Terminal` abre COSMIC Terminal. Escribir el nombre del ejecutable abre otra cosa (settings). +- Y uno de shell, al automatizar por QMP: **`| head -N` bufferiza** y deja la terminal en blanco hasta + que el programa termina. Parece que la sonda colgó cuando en realidad está esperando. + +### El `-L/usr/lib` que pkg-config no da + +`pkg-config` **omite los `-L` de directorios que considera estándar del sistema**, asumiendo que el +linker ya los busca. Cierto para un `cc` nativo; **falso para `zig cc` cruzando a +`x86_64-linux-musl`**, que trae sus propias rutas. Resultado: `--libs --static` devuelve `-ldbus-1` +pelado y zig responde `unable to find static system library 'dbus-1' … searched paths: none` — un +error que suena a «falta la librería» cuando lo que falta es la ruta. + **Y de paso se corrigió un comentario desactualizado de `cosmic-start`** que decía que `cosmic-settings-daemon` «todavía no se puede construir acá (arrastra pipewire)». Es falso hace tiempo: ese daemon está sellado y corre. Un comentario viejo manda a buscar un bloqueo que ya no @@ -1024,10 +1105,11 @@ existe, y eso cuesta igual que un bug. ## Lo que falta, en orden -1. ~~Arrancar el demonio de pipewire desde `cosmic-start`~~ **✅ hecho (2026-08-05)**, y el portal ya - figura como cliente suyo. Queda el **cliente `ashpd` persistente** para ejercer el handshake de - ScreenCast y, de paso, capturar la URI del `FileChooser` que `dbus-send` no puede ver — es una - receta, no un one-liner, por lo del *sender* de D-Bus explicado arriba. Y `wireplumber` para audio. +1. ~~Arrancar el demonio de pipewire~~ ✅ y ~~el cliente persistente~~ ✅ (`portal-probe`, `b3:af49d32d`). + **Lo que queda es `wireplumber`**: el stream de ScreenCast se crea y llega a `Paused`, con nodo + `cosmic-screencast` visible en pipewire, pero nadie lo pasa a `Streaming` y el backend no emite el + `Response`. La hipótesis es que falta el gestor de sesión — construirlo la confirma o la mata. + Falta también correr `portal-probe filechooser`, que ya puede capturar la URI. 2. **Decidir `gvfs`** (ver la corrección de arriba: las piezas ya están selladas, lo que falta es la decisión sobre la segunda glib). Destrabaría los montajes remotos de cosmic-files y su applet. 3. **Enchufar la tienda a `.swm`**: servir `org.freedesktop.PackageKit` y encender la feature diff --git a/docs/state/targets.toml b/docs/state/targets.toml index 36ce1a3c..d59ce729 100644 --- a/docs/state/targets.toml +++ b/docs/state/targets.toml @@ -133,6 +133,10 @@ paquetes = [ # Access/FileChooser/Screenshot/Settings/ScreenCast. Sin ellos no hay captura, ni selector de # ficheros de portal, ni compartir pantalla. "xdg-desktop-portal", "xdg-desktop-portal-cosmic", + # Y la SONDA con que se mide esa cadena. No es escritorio: es el instrumento. Se lista como raíz + # porque nadie la declara como dep y sin ella el perfil no incluiría con qué verificarse a sí + # mismo — un handshake de portal sólo se puede ejercer DESDE la sesión, con bus y compositor vivos. + "portal-probe", # Datos, no binarios: el tema de iconos (y el hicolor del que hereda), las tablas de xkb y una # tipografía. Ninguno es dep de build de nadie y sin ellos el escritorio arranca roto — sin puntero, # sin teclado o con tofu. diff --git a/recipes/incoming-cosmic/portal-probe.toml b/recipes/incoming-cosmic/portal-probe.toml new file mode 100644 index 00000000..60f04466 --- /dev/null +++ b/recipes/incoming-cosmic/portal-probe.toml @@ -0,0 +1,86 @@ +# portal-probe — la SONDA del portal XDG. La única receta de la campaña cuyo producto no es una +# pieza del escritorio sino un INSTRUMENTO para medirlo. +# +# ── QUÉ MIDE, Y POR QUÉ NINGUNA HERRAMIENTA EXISTENTE SIRVE ───────────────────────────────────── +# Los portales no son RPC: son un protocolo asíncrono en dos tiempos. Cada método devuelve al +# instante un object path de `Request`, y el resultado de verdad llega DESPUÉS como señal +# `org.freedesktop.portal.Request.Response` sobre ese path. `dbus-send` ya salió para entonces ⇒ +# devuelve el path y nunca el resultado. Eso es lo que impidió capturar la URI del `FileChooser`. +# +# Y hay un segundo muro, más duro: **el portal ata la sesión al SENDER**. `CreateSession` con un +# `dbus-send` y `SelectSources` con otro llegan desde nombres únicos DISTINTOS y el portal rechaza +# el segundo. No hay forma de encadenar el handshake desde el shell; hace falta UNA conexión que +# viva todo el intercambio. Por eso esto es un binario y no un script. +# +# ── POR QUÉ EN C Y NO CON `ashpd` ─────────────────────────────────────────────────────────────── +# `ashpd` es el cliente de portales del ecosistema Rust —es lo que usan `cosmic-screenshot` y +# `cosmic-files`— y era el camino obvio. Pero el árbol fuente de esta receta es el repo del PROPIO +# hammer (no hay modo `path` en `[source]`: sólo git y tarball), así que usar ashpd significaría +# sumar ~150 crates al `Cargo.lock` de la herramienta de build por una sonda de diagnóstico. +# +# `libdbus` ya está en el corpus, cuesta cero deps nuevas, y `dbus` provee `libdbus-1.a` ⇒ la sonda +# sale **estática, sin un solo NEEDED**, que es justo lo que uno quiere de un instrumento: que no +# dependa de nada de aquello que va a medir. Y sobre todo: en C el protocolo SE VE. Una sonda cuyo +# valor es documentar un handshake no debería esconderlo tras una biblioteca que lo abstrae. +# +# ── EL VENDOREO QUE SE PAGA IGUAL ─────────────────────────────────────────────────────────────── +# El árbol fuente es el repo hammer entero, cuya raíz tiene `Cargo.toml` ⇒ `detect_build_system` +# dice Cargo y el fetch vendorea el workspace. No se puede apagar (`cargo_vendor` sólo FUERZA, no +# desactiva). Es un costo de tiempo en el fetch, no de corrección: la fase `compile` de acá abajo +# ignora cargo por completo y llama a `zig cc` sobre un único `.c`. Mismo peaje que paga `hammerd`. +name = "portal-probe" +version = "0.1.0" + +[source] +# El repo del propio hammer. El `commit` es el identificador inmutable (la URL es sólo locator y no +# entra al hash). Subir el commit cuando la sonda avance — y sólo entonces: fijar el commit es lo +# que hace que un instrumento de medición sea él mismo reproducible. +repo = "ssh://gitea@git.gioser.net:2345/sergio/hammer.git" +commit = "ea210ba3cd40f20325eae1b7023db280814e734d" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +# Estático de verdad, y acá SÍ es la decisión correcta en vez de la coherencia con la suite: el +# resto de los clientes van dinámicos porque `wayland-client` hace `dlopen` (ver el runbook). Esta +# sonda no toca wayland, y un instrumento que arrastra NEEDED puede fallar por una razón que no es +# la que está midiendo. +link = "static" + +[build.phases] +# Sin configure: es un fichero. +configure = "true" + +# `zig cc` directo. Los flags de dbus salen de su `.pc`, que vive en el artefacto del store y el +# sandbox proyecta en /usr — de ahí el PKG_CONFIG_PATH. Los dos `-I` de dbus son SIEMPRE dos y no +# uno: `dbus-arch-deps.h` es generado y vive bajo `lib/dbus-1.0/include`, no junto al resto de los +# headers. Un `-I` solo compila hasta que algo incluye `dbus.h` de verdad. +# +# ⚠ EL `-L/usr/lib` HAY QUE PONERLO A MANO, y el motivo es un choque de supuestos entre dos +# herramientas: **pkg-config OMITE los `-L` de directorios que considera estándar del sistema** +# (`/usr/lib` lo es), asumiendo que el linker ya los busca. Cierto para un `cc` nativo; FALSO para +# `zig cc` cruzando a `x86_64-linux-musl`, que trae sus propias rutas y no da nada por sentado. +# Resultado: `--libs --static` devuelve `-ldbus-1` pelado y zig responde +# `unable to find static system library 'dbus-1' … searched paths: none` — un error que suena a +# «falta la librería» cuando la librería está ahí y lo que falta es la ruta. +compile = ''' +export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig +CF=$(pkg-config --cflags dbus-1) +LF=$(pkg-config --libs --static dbus-1) +echo "cflags: $CF" +echo "libs : $LF" +zig cc -target x86_64-linux-musl -static -O2 -Wall -Wextra \ + -o portal-probe tools/portal-probe/portal-probe.c $CF -L/usr/lib $LF +''' + +install = ''' +mkdir -p /out/usr/bin +cp portal-probe /out/usr/bin/portal-probe +chmod 755 /out/usr/bin/portal-probe +''' + +[deps] +# `dbus` por la librería y los headers; `pkgconf` para que el `.pc` se pueda leer. Nada más: la +# sonda no dibuja, no abre ventana y no habla wayland — igual que `cosmic-screenshot`, que también +# es un cliente puro de portal. +build = ["dbus", "pkgconf"] diff --git a/scripts/cosmic/hydrate-cosmic.sh b/scripts/cosmic/hydrate-cosmic.sh index 30b90616..2e6ce37e 100755 --- a/scripts/cosmic/hydrate-cosmic.sh +++ b/scripts/cosmic/hydrate-cosmic.sh @@ -79,6 +79,11 @@ else # por D-Bus en runtime, así que el grafo no los ve — igual que los componentes de la sesión. recipes/incoming-cosmic/xdg-desktop-portal.toml recipes/incoming-cosmic/xdg-desktop-portal-cosmic.toml + # …y la SONDA con la que se mide esa cadena. No es parte del escritorio: es el instrumento. + # Entra a la imagen a propósito —un handshake de portal sólo se puede ejercer DESDE la sesión, + # con el bus y el compositor vivos— y sale estática, sin un NEEDED, justamente para que nunca + # falle por algo del sistema que está midiendo. + recipes/incoming-cosmic/portal-probe.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