[Wayland] We need to implement PipeWire support
Categories
(Core :: WebRTC, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: stransky, Assigned: dminor)
References
(Blocks 1 open bug, )
Details
Attachments
(7 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Comment 1•7 years ago
|
||
Reporter | ||
Comment 2•7 years ago
|
||
Comment 3•7 years ago
|
||
Reporter | ||
Comment 4•7 years ago
|
||
Reporter | ||
Updated•7 years ago
|
Comment 5•7 years ago
|
||
Reporter | ||
Updated•7 years ago
|
Reporter | ||
Comment 7•7 years ago
|
||
Assignee | ||
Comment 8•7 years ago
|
||
Reporter | ||
Comment 9•7 years ago
|
||
Reporter | ||
Comment 10•6 years ago
|
||
Dan, any update here? When we can expect next WebRTC merge from upstream? Or do you want rather moz-central patch? Thanks.
Assignee | ||
Comment 11•6 years ago
|
||
Hi Martin,
I spent a day looking at this a few weeks ago. The problem is not so much the patch itself, which I was able to get to apply with minimal changes, but how we implement gn support in our build system. We rely upon running gn on each supported system and then checking in the resulting json file which is in turn used to generate moz.build files that we use to build. For platforms we don't support directly, e.g. BSD, Linux on aarch64, we rely upon maintainers for those platforms to run gn and provide us with the resulting json files. Because this patch moves files around, it will break all of the other platforms until they re-run gn. It is also triggering bugs in our moz.build code generation which is making it difficult to build and test the patch on a supported Linux build.
At this point, I think the best bet would be to wait until the next webrtc.org update (which is not scheduled, but will block Bug 818631) or until we run gn directly as part of the build, rather than checking in json files (for which I just filed Bug 1534615).
Since I don't know when either of those will happen, I'm going to leave this bug assigned to myself for now. If it looks like it is going to be a long time, I will attempt to workaround the problems I mentioned rather than letting this wait indefinitely.
Sorry about the delay!
Assignee | ||
Comment 12•6 years ago
|
||
This define is not set in the current gn generated json and moz.build files.
If I rerun gn, this define ends up being set, and the build will fail with
a variety of link time errors.
My guess is that enable_iterator_debugging was not set when I last ran gn for
x64 Linux, and that it was subsequently enabled without regenerating the gn
files and noticing that it causes problems.
Assignee | ||
Comment 13•6 years ago
|
||
This is an import of upstream commit 318da51f99f91e3de1192f29d7f1824958f9f13e.
Depends on D27367
Assignee | ||
Comment 14•6 years ago
|
||
Depends on D27368
Assignee | ||
Comment 15•6 years ago
|
||
Since the only change for non-pipewire builds is moving some files, I
regenerated the x64_True_x64_linux.json file using gn, then generated
a patch file for the other configurations. This will hopefully remove
the need for non-Tier 1 platform maintainers to re-run gn for their
platforms.
Depends on D27369
Assignee | ||
Comment 16•6 years ago
|
||
Depends on D27371
Assignee | ||
Comment 17•6 years ago
|
||
Depends on D27372
Assignee | ||
Comment 18•6 years ago
|
||
This removes references to abseil which is not yet used by the version of
webrtc.org in tree. It also removes a duplicate definition of a kBytesPerPixel,
which is probably results from our use of unified builds.
With these changes and some hacking of moz.build files I was able to get the
pipewire support to compile but not link. I don't have an environment set up
to build and test this properly, so I didn't take it any further.
Depends on D27373
Comment 19•6 years ago
|
||
LGTM r+. I guess abseil is something we are going to see showing up in the next WebRTC.org update.
Assignee | ||
Comment 20•6 years ago
|
||
Hi Martin, I've backported the patch and it is ready to land. For our builds, I've left pipewire support disabled for now. I'll land this in a day or two, I just wanted to let you know that it was coming as I was under the impression you had local patches applied to get pipewire support building on your side. Thanks!
Comment 21•6 years ago
|
||
Comment 22•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ceed4e0b3373
https://hg.mozilla.org/mozilla-central/rev/3f0981f37c1c
https://hg.mozilla.org/mozilla-central/rev/f9a9da6129c0
https://hg.mozilla.org/mozilla-central/rev/4485e8e0f70e
https://hg.mozilla.org/mozilla-central/rev/7ff592d37e6c
https://hg.mozilla.org/mozilla-central/rev/ae4456baac24
https://hg.mozilla.org/mozilla-central/rev/6ca18bea93f9
Updated•6 years ago
|
Comment 24•6 years ago
|
||
I use wayland on an uptodate archlinux installation. I installed pipewire and xdg-desktop-portal{,-gtk}.
Mozilla Firefox 68.0b10 (firefox-developer-edition)
The python script provided in the following links works (so my pipewire installation works)
python3 gnome-screen-cast.py
But I still experience a black video when I try screen sharing (it's black but I can see my cursor moving).
https://mozilla.github.io/webrtc-landing/gum_test.html
I tried with an empty profile, with firefox nightly (flatpak), with or without GDK_BACKEND=wayland → same problem.
Nevertheless it's seems to work on Fedora :
I think it's due to this patch (just a guess from the filename):
So for what I know : this bug isn't resolved on unpatched firefox.
(maybe there is a firefox config to change to make firefox use pipewire ?)
Comment 25•6 years ago
|
||
Is there a new ticket/issue that exists for the implementation of pipewire support without manually patching so we can link it here? Else its confusing that this bug is marked as resolved when its not fully the case yet.
Comment 26•6 years ago
|
||
(In reply to Gunter Grodotzki from comment #25)
Is there a new ticket/issue that exists for the implementation of pipewire support without manually patching so we can link it here? Else its confusing that this bug is marked as resolved when its not fully the case yet.
Jan Horak [:jhorak] is still working on https://bugzilla.mozilla.org/show_bug.cgi?id=1430775 but that ticket/issue is also in a "RESOLVED" state.
Comment 29•5 years ago
|
||
Description
•