** Patch added: "xdg-desktop-portal-wlr_0.8.1-1ubuntu0.1.debdiff" https://bugs.launchpad.net/ubuntu/+source/xdg-desktop-portal-wlr/+bug/2159516/+attachment/5980073/+files/xdg-desktop-portal-wlr_0.8.1-1ubuntu0.1.debdiff
** Description changed: [Impact] On Ubuntu 26.04, sharing a single window via the screencast portal fails silently in every consumer (Firefox, Chromium). Whole-monitor sharing works; picking a window never starts and the portal dies. 26.04 ships xdg-desktop-portal-wlr 0.8.1 with PipeWire 1.6.x. The per-window path (ext-image-copy-capture) negotiates a variable-framerate stream (framerate == 0); 0.8.1 then emits an invalid maxFramerate and divides by zero, so negotiation exhausts: core error res:-32 "no more output formats" → stream error → portal exits. [Fix] Two upstream commits, both released in 0.8.2, backported as minimal DEP-3 patches (no version bump): - 896cee82 — skip maxFramerate / guard division when framerate == 0 (the negotiation fix) - 459831374 — set READABLE/MAPPABLE buffer flags (prevents a client segfault after negotiation succeeds) Both touch only src/screencast/pipewire_screencast.c (+26 LoC). Debdiff attached. [Test] sway session, share a single window in Meet/Firefox. On 0.8.1 it never starts and journalctl --user -u xdg-desktop-portal-wlr shows pipewire: fatal error event from core; with the fix the window shares and the stream stays up. Whole-monitor sharing must keep working. + + [Where problems could occurr] + Confined to screencast format negotiation and buffer flags in the wlr portal; cannot affect other portal backends or non-screencast interfaces. The framerate change only wraps an existing maxFramerate constraint in if (framerate > + 0) and guards a division; worst case would be screencast framerate misreporting, visible in the same test. SPA_DATA_FLAG_MAPPABLE is #ifdef-guarded. Both patches are verbatim cherry-picks shipped in upstream 0.8.2 and Debian 0.8.3. ** Tags added: resolute ** Description changed: [Impact] On Ubuntu 26.04, sharing a single window via the screencast portal fails silently in every consumer (Firefox, Chromium). Whole-monitor sharing works; picking a window never starts and the portal dies. 26.04 ships xdg-desktop-portal-wlr 0.8.1 with PipeWire 1.6.x. The per-window path (ext-image-copy-capture) negotiates a variable-framerate stream (framerate == 0); 0.8.1 then emits an invalid maxFramerate and divides by zero, so negotiation exhausts: core error res:-32 "no more output formats" → stream error → portal exits. [Fix] Two upstream commits, both released in 0.8.2, backported as minimal DEP-3 patches (no version bump): - 896cee82 — skip maxFramerate / guard division when framerate == 0 (the negotiation fix) - 459831374 — set READABLE/MAPPABLE buffer flags (prevents a client segfault after negotiation succeeds) Both touch only src/screencast/pipewire_screencast.c (+26 LoC). Debdiff attached. - [Test] + [Test Plan] sway session, share a single window in Meet/Firefox. On 0.8.1 it never starts and journalctl --user -u xdg-desktop-portal-wlr shows pipewire: fatal error event from core; with the fix the window shares and the stream stays up. Whole-monitor sharing must keep working. [Where problems could occurr] - Confined to screencast format negotiation and buffer flags in the wlr portal; cannot affect other portal backends or non-screencast interfaces. The framerate change only wraps an existing maxFramerate constraint in if (framerate > + Confined to screencast format negotiation and buffer flags in the wlr portal; cannot affect other portal backends or non-screencast interfaces. The framerate change only wraps an existing maxFramerate constraint in if (framerate > 0) and guards a division; worst case would be screencast framerate misreporting, visible in the same test. SPA_DATA_FLAG_MAPPABLE is #ifdef-guarded. Both patches are verbatim cherry-picks shipped in upstream 0.8.2 and Debian 0.8.3. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2159516 Title: xdg-desktop-portal-wlr: single-window screencast fails on PipeWire 1.6.x ("no more output formats") To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/xdg-desktop-portal-wlr/+bug/2159516/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
