Support Pipewire RemoteDesktop API for capturing on Wayland#1566
Open
maksimkurb wants to merge 1 commit into
Open
Support Pipewire RemoteDesktop API for capturing on Wayland#1566maksimkurb wants to merge 1 commit into
maksimkurb wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This adds optional support for org.freedesktop.portal.RemoteDesktop as an alternative PipeWire portal path for Wayland screen capture.
The main motivation is KDE behavior. With the existing ScreenCast portal flow, KDE treats HyperHDR capture as active screen sharing and can automatically enable “Do not disturb” mode while HyperHDR is running. I do not want to disable this KDE privacy feature globally, because it is useful when I actually share my screen in Zoom, Google Meet, or similar apps. HyperHDR is a background ambient-light capture service, so it should not force the desktop into the same notification behavior as an interactive screen-sharing session.
The RemoteDesktop portal path avoids that KDE “screen sharing” DnD behavior for this use case, while still going through the desktop portal permission system.
There is also a secondary benefit for unattended Wayland startup and resume. With KDE and
flatpak-kcm, users can explicitly remember HyperHDR’s desktop access permanently and this would prevent "Select Screen" dialogs after sleep.RemoteDesktopProxy.org.freedesktop.portal.RemoteDesktopsupport by checking protocol version >= 2.Pipewire All Screens (RemoteDesktop API)capture option when available.This should prevent HyperHDR from triggering KDE Do Not Disturb due to “Screen Sharing”, while also improving unattended Wayland capture behavior after startup and some sleep/resume cases.
What kind of change does this PR introduce? (check at least one)
If changing the UI of web configuration, please provide the before/after screenshot:
In KDE, users can install the
flatpak-kcmpackage and explicitly allow HyperHDR to capture the screen without asking for permission each time:Does this PR introduce a breaking change? (check one)
If yes, please describe the impact and migration path for existing setups:
The PR fulfills these requirements:
Fixes: #xxx[,#xxx], where "xxx" is the issue number)Other information:
Pipewire system dialog selectionentry was renamed toPipewire system dialog selection (ScreenCast API), I can revert this change if it is undesirable