🏁 ScreenCast CERRADO en metal — la cadena entera devuelve un stream real

Sube el pin de portal-probe a a5c959b (persist_mode + --wait + flush línea a línea).

MEDIDO en la OptiPlex 3060 (UHD 630, iris por hardware), handshake completo de 4 pasos:

    [3/4] Start → streams: node id 75, position (0,0), size (1920,1080), source_type 1
                  restore_token "d2b5b24f-2f2c-44e2-9a41-014f965b389b"
    [4/4] OpenPipeWireRemote → fd = 5 → socket:[84493]
    == portal-probe screencast: OK ==

Y PipeWire tiene el nodo `cosmic-screencast` como Video/Source con puertos capture_0/1.

El muro no era la GPU. La hipótesis del EGL por software queda falsificada: en metal, con
iris real, el síntoma era idéntico hasta que se mandó `persist_mode`. Era un strlen(NULL)
en xdg-desktop-portal 1.18.4 (ver el commit anterior), que mataba al portal justo antes de
emitir el Response.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-06 13:07:06 -04:00
co-authored by Claude Opus 5
parent a5c959b618
commit adbda20e30
+1 -1
View File
@@ -36,7 +36,7 @@ version = "0.1.0"
# entra al hash). Subir el commit cuando la sonda avance — y sólo entonces: fijar el commit es lo # 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. # que hace que un instrumento de medición sea él mismo reproducible.
repo = "ssh://gitea@git.gioser.net:2345/sergio/hammer.git" repo = "ssh://gitea@git.gioser.net:2345/sergio/hammer.git"
commit = "ea210ba3cd40f20325eae1b7023db280814e734d" commit = "a5c959b6186acef13260cf6b42aa1cbfc1d56f34"
[build] [build]
compiler = "zig-cc" compiler = "zig-cc"