🎥 cosmic: ScreenCast — dos bloqueos, y el que importa es que NADIE ARRANCA PIPEWIRE
BLOQUEO 1: dbus-send no puede manejarlo, al revés que FileChooser. El
selector se abre con UNA llamada; ScreenCast necesita un handshake de tres
pasos con estado (CreateSession → SelectSources → Start) y la sesión queda
atada a la CONEXIÓN que la creó — cada dbus-send es una conexión distinta
que muere al terminar, así que el paso 2 nunca encuentra la sesión del paso
1. Es límite de la herramienta, no del portal.
Lo que sí se midió: CreateSession FUNCIONA. El frontend devuelve
/org/freedesktop/portal/desktop/request/1_106/sc1 con nuestro handle_token.
BLOQUEO 2, y éste no lo arregla ningún cliente: NO HAY DEMONIO DE PIPEWIRE.
ls /usr/bin/ | grep -i pipewire → pipewire, pipewire-aes67,
pipewire-avb, pipewire-pulse
ps ax | grep -c pipewire → 1 (el propio grep)
Los binarios están —el backend del portal enlaza libpipewire-0.3.so— pero el
demonio no corre: cosmic-start no lo lanza y no hay systemd de usuario. O
sea que aunque se escribiera el cliente ashpd, Start no tendría con quién
negociar el stream. Arreglo: lanzarlo desde cosmic-start. Para AUDIO además
falta wireplumber, que ni está construido.
Y 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 existe, y eso cuesta
igual que un bug.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -171,10 +171,21 @@ if [ ! -f "$HOME/.config/qalculate/qalc.cfg" ]; then
|
||||
fi
|
||||
|
||||
# ── MODO: bare (default) o session ──────────────────────────────────────────────────────────────
|
||||
# `cosmic-session` es el camino de producción, pero HOY no se puede usar: llama a
|
||||
# `cosmic-settings-daemon` con `.expect("failed to start settings daemon")` (src/main.rs:255) y
|
||||
# PANICKEA si no está — no es opcional ni está detrás de una feature. Y ese daemon todavía no se
|
||||
# puede construir acá (arrastra pipewire; ver el runbook).
|
||||
# `cosmic-session` llama a `cosmic-settings-daemon` con
|
||||
# `.expect("failed to start settings daemon")` (src/main.rs:255) y PANICKEA si no está — no es
|
||||
# opcional ni está detrás de una feature.
|
||||
#
|
||||
# ⚠ **DESACTUALIZADO Y CORREGIDO (2026-08-05)**: acá decía que ese daemon «todavía no se puede
|
||||
# construir acá (arrastra pipewire)». Es falso desde hace tiempo — `cosmic-settings-daemon` está
|
||||
# sellado y corre, y `pipewire` está en la imagen. Se deja el rastro porque el comentario viejo
|
||||
# mandaba a buscar un bloqueo que ya no existe.
|
||||
#
|
||||
# Lo que SÍ falta, y es otra cosa: **nadie ARRANCA el demonio de pipewire**. `/usr/bin/pipewire` y
|
||||
# `pipewire-pulse` están instalados, pero `ps ax | grep pipewire` en la sesión no devuelve nada, y
|
||||
# este script no lo lanza. Consecuencia medida: el portal acepta
|
||||
# `org.freedesktop.portal.ScreenCast.CreateSession` y devuelve su objeto Request, pero **no puede
|
||||
# haber stream** porque no hay demonio con quien negociarlo. Sin systemd de usuario, lanzarlo es
|
||||
# tarea de este script. (Para audio además falta `wireplumber`, que ni siquiera está construido.)
|
||||
#
|
||||
# El modo `bare` es la otra mitad que upstream ya soporta (`make install-bare-session`): el
|
||||
# compositor se lanza SOLO y los clientes se levantan a mano contra su WAYLAND_DISPLAY. Sirve para lo
|
||||
|
||||
Reference in New Issue
Block a user