-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Bundle ReportBundle size has no change ✅ |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4417 +/- ##
==========================================
- Coverage 15.52% 13.30% -2.23%
==========================================
Files 94 94
Lines 19025 18127 -898
Branches 8772 8402 -370
==========================================
- Hits 2953 2411 -542
+ Misses 14934 14841 -93
+ Partials 1138 875 -263
Flags with carried forward coverage won't be shown. Click here to find out more.
|
f7173e3 to
d65baf5
Compare
|
|
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 |
I had this problem running with systemd. If I compile this branch an run in a terminal, everything works. |
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.
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.
A value of 2 indicates "Remember this Selection". Co-authored-by: Carson Katri <[email protected]>
70a1b64 to
9f0aefb
Compare
|




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