** 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

Reply via email to