-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
feat(linux): Support streaming through XDG portals and Pipewire #4417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This is not present in the glad version imported in Sunshine, plug the holes so that these functions may be used.
Add a new portal "grab" implementation that will request the necessary permissions over XDG portals and use Pipewire for video data streaming. This supports DMA-Buf buffer exchange for hardware accelerated encoding (VAAPI, nvenc), software encoding will only work with memory buffers.
Bundle ReportBundle size has no change ✅ |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4417 +/- ##
==========================================
- Coverage 14.23% 13.15% -1.08%
==========================================
Files 89 92 +3
Lines 18936 18172 -764
Branches 8677 8349 -328
==========================================
- Hits 2696 2391 -305
- Misses 12963 14936 +1973
+ Partials 3277 845 -2432
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Require GIO and PIPEWIRE packages for portal support and use SYSTEM include directories. Also, clarify the fatal error message order for missing dependencies.
Pipewire has been added to the dependency lists for FreeBSD, Arch, Fedora, Homebrew, and Debian-based packaging and build scripts. This ensures proper support and integration for systems using Pipewire.
f7173e3 to
d65baf5
Compare
A value of 2 indicates "Remember this Selection". Co-authored-by: Carson Katri <[email protected]>
|
|
I've been playing with this branch a bit and I can't seem to get the pipewire screen selection pop up to work on KDE Plasma. I know this was previously mentioned in the superceded pull request. After unsetting the required cap for KMS, the following occurs Not sure if there's something that I need to configure. |
I haven't done much with this branch other than rebasing and getting it up to our new linting standards. Does it work if you keep the setcap enabled? |
Understood! Just excited for the feature I suppose.
It does not, however it throws a different error:
|
|
cc @garnacho @ReenigneArcher i changed only one file so if you dont mind you can review/fix it and make one more step closer to implement this in master branch |




Description
This PR replaces #2507 ... Thanks to @garnacho for the initial work on this!
This PR adds a new "grab" implementation to use XDG desktop portals and Pipewire.
TODO:
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage