-
Notifications
You must be signed in to change notification settings - Fork 17
Support XDG Desktop Portal / Pipewire screencasting #16
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
This is the "standard" screencasting method for wayland. It's less convenient than the two sway-specific protocols in that you cannot specify the monitor or region directly, but it is the only method that will work on all compositors.
Tasks related to less direct selection of capture targets:
- allow specifying no monitor if xdg-portal backend is chosen
- research how region selection could work with xdg-portal
- allow selecting a window to capture if supported by the portal implementation
Implementation Tasks:
- Add DBus library (sd-bus / basu)
- Add Screencast portal client code
- add libpipewire
- add PipeWire client code for creating a stream
- implement PipeWire format negotiation
- partially implemented, advertised formats are no longer hardcoded, but the number of advertised formats still is hardcoded due to issues with spa_pod_builder
- add dmabuf code for taking stream frames and passing them to EGL
- code for dmabuf is there, basic PoC works
- add SHM code for taking screen frames and passing them to EGL (as fallback)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request