[P2] Implement Wayland capture through desktop portals #35

Open
opened 2026-07-18 00:03:42 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-07-18 00:03:42 +00:00 (Migrated from github.com)

Goal

Add Wayland support without weakening its permission model or coupling the core pipeline to one compositor.

Requirements

  • Use supported desktop portal and PipeWire flows for screenshots or screen streams.
  • Require explicit user authorization through the portal.
  • Capture backend remains behind the existing strategy interface.
  • Add compositor-specific metadata adapters only where stable APIs exist.
  • Clearly surface permission revocation, unsupported features, and persistent-session behavior.
  • Never fall back to unsafe compositor internals or privileged workarounds automatically.

Acceptance criteria

  • Works on at least one representative wlroots compositor and one major desktop environment, subject to portal capability.
  • Revoked permission immediately stops capture and invalidates queued work.
  • Wayland-specific limitations are visible in status and documentation.
  • Existing Xorg behavior and tests remain unchanged.

Depends on

## Goal Add Wayland support without weakening its permission model or coupling the core pipeline to one compositor. ## Requirements - Use supported desktop portal and PipeWire flows for screenshots or screen streams. - Require explicit user authorization through the portal. - Capture backend remains behind the existing strategy interface. - Add compositor-specific metadata adapters only where stable APIs exist. - Clearly surface permission revocation, unsupported features, and persistent-session behavior. - Never fall back to unsafe compositor internals or privileged workarounds automatically. ## Acceptance criteria - Works on at least one representative wlroots compositor and one major desktop environment, subject to portal capability. - Revoked permission immediately stops capture and invalidates queued work. - Wayland-specific limitations are visible in status and documentation. - Existing Xorg behavior and tests remain unchanged. ## Depends on - #13 - #17 - #19 - #29
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/local-recall#35
No description provided.