diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 34bac9716cc6..5b77551640e8 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -17,6 +17,7 @@ , protobuf, speechd, libXdamage, cups , ffmpeg, libxslt, libxml2, at-spi2-core , jre +, pipewire_0_2 # optional dependencies , libgcrypt ? null # gnomeSupport || cupsSupport @@ -132,6 +133,7 @@ let libXScrnSaver libXcursor libXtst libGLU libGL pciutils protobuf speechd libXdamage at-spi2-core jre + pipewire_0_2 ] ++ optional useVaapi libva ++ optional gnomeKeyringSupport libgnome-keyring3 ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] @@ -244,6 +246,8 @@ let # added later in the wrapped -wv build or downloaded from Google. enable_widevine = true; use_cups = cupsSupport; + # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture. + rtc_use_pipewire = true; treat_warnings_as_errors = false; is_clang = stdenv.cc.isClang; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 9e46d061a308..2fea779a8f83 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -2,6 +2,7 @@ , makeWrapper, ed , glib, gtk3, gnome3, gsettings-desktop-schemas, gn, fetchgit , libva ? null +, pipewire_0_2 , gcc, nspr, nss, patchelfUnstable, runCommand , lib @@ -161,7 +162,7 @@ in stdenv.mkDerivation { buildCommand = let browserBinary = "${chromiumWV}/libexec/chromium/chromium"; getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")"; - libPath = stdenv.lib.makeLibraryPath [ libva ]; + libPath = stdenv.lib.makeLibraryPath [ libva pipewire_0_2 ]; in with stdenv.lib; '' mkdir -p "$out/bin"