Skip to content
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

pipewire: Fix screen sharing with Chromium #104504

Merged
merged 1 commit into from Nov 21, 2020

Conversation

primeos
Copy link
Member

@primeos primeos commented Nov 21, 2020

See https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/270.
E.g. Fedora and Arch have already backported that patch.

This avoids errors like:
Chromium: [E][module-protocol-native.c:562 on_remote_data()] protocol-native 0x33df5483c780: got connection error
pipewire[1168]: [E][000002106.051912][module-protocol-native.c:305 connection_data()] protocol-native 0x1b96900: client 0x1d084f0 error -22 (Invalid argument)

I've successfully tested screen sharing with Chromium 87.0.4280.66.

cc #91218

Motivation for this change

cc @jtojnar

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

See https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/270.
E.g. Fedora and Arch have already backported that patch.

This avoids errors like:
Chromium: [E][module-protocol-native.c:562 on_remote_data()] protocol-native 0x33df5483c780: got connection error
pipewire[1168]: [E][000002106.051912][module-protocol-native.c:305 connection_data()] protocol-native 0x1b96900: client 0x1d084f0 error -22 (Invalid argument)

I've successfully tested screen sharing with Chromium 87.0.4280.66.

cc NixOS#91218
@jansol
Copy link
Contributor

jansol commented Nov 21, 2020

Seems like this patch is part of 0.3.16 so I'd rather see the pipewire package updated to that instead of adding a temporary patch.

@primeos
Copy link
Member Author

primeos commented Nov 21, 2020

@jansol +1, I forgot to check for a new release :o

Will anyone open a PR for that (@jtojnar?) or should I take care of it?

@jansol
Copy link
Contributor

jansol commented Nov 21, 2020

Will anyone open a PR for that (@jtojnar?) or should I take care of it?

I was thinking of doing it myself but the release adds a new systemd service for enabling pulse-bridge and I have no idea how to handle that.

@jtojnar
Copy link
Contributor

jtojnar commented Nov 21, 2020

Cannot work on this at the moment.

For the systemd service, I would just move them to a separate derivation output and add it to the systemd option in the module optionally.

@primeos
Copy link
Member Author

primeos commented Nov 21, 2020

Ok, so given that:

  1. Updating to 0.3.16 might take us a bit longer than expected
  2. We can/should probably backport this to 20.09 (version 0.3.7 should have this problem too)
  3. We can easily remove this patch when updating to 0.3.16

I'll go ahead and just merge this for now. I hope no one minds (but please let me know if you do).

Tomorrow I'll try to investigate if NixOS 20.09 is really affected by this issue too and if I can backport this PR.
I can also try to update to 0.3.16 tomorrow, no promises though (@jansol please let me know in case you want to give it a shot so that we don't duplicate the work).

Update:

  1. Turns out this patch isn't required on NixOS 20.09 (but I only got the mouse cursor and a black background; could be due to the virtualization though)
  2. @jansol has opened pipewire: 0.3.15 -> 0.3.16 #104553 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants