diff --git a/infra/specs/client.webrtc.json b/infra/specs/client.webrtc.json
index 5634073..93615be 100644
--- a/infra/specs/client.webrtc.json
+++ b/infra/specs/client.webrtc.json
@@ -3410,6 +3410,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -4709,6 +4730,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -5142,6 +5184,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -6359,32 +6422,6 @@
         "test_id_prefix": "ninja://pc:peerconnection_unittests/"
       },
       {
-        "args": [
-          ".",
-          "--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json"
-        ],
-        "isolate_name": "pipewire_shared_screencast_stream_test",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "pipewire_shared_screencast_stream_test",
-        "resultdb": {
-          "result_file": "${ISOLATED_OUTDIR}/gtest_output.json",
-          "result_format": "gtest_json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/desktop_capture:pipewire_shared_screencast_stream_test/"
-      },
-      {
         "isolate_name": "rtc_media_unittests",
         "merge": {
           "args": [],
@@ -6470,6 +6507,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -6819,32 +6877,6 @@
         "test_id_prefix": "ninja://pc:peerconnection_unittests/"
       },
       {
-        "args": [
-          ".",
-          "--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json"
-        ],
-        "isolate_name": "pipewire_shared_screencast_stream_test",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "pipewire_shared_screencast_stream_test",
-        "resultdb": {
-          "result_file": "${ISOLATED_OUTDIR}/gtest_output.json",
-          "result_format": "gtest_json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/desktop_capture:pipewire_shared_screencast_stream_test/"
-      },
-      {
         "isolate_name": "rtc_media_unittests",
         "merge": {
           "args": [],
@@ -6930,6 +6962,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
diff --git a/infra/specs/gn_isolate_map.pyl b/infra/specs/gn_isolate_map.pyl
index 598b15f..25ab4f2 100644
--- a/infra/specs/gn_isolate_map.pyl
+++ b/infra/specs/gn_isolate_map.pyl
@@ -80,13 +80,10 @@
     "label": "//pc:peerconnection_unittests",
     "type": "console_test_launcher",
   },
-  "pipewire_shared_screencast_stream_test": {
-    "label":
-    "//modules/desktop_capture:pipewire_shared_screencast_stream_test",
-    "type":
-    "script",
-    "script":
-    "//modules/desktop_capture/linux/wayland/test/shared_screencast_stream_test.py",
+  "shared_screencast_stream_test": {
+    "label": "//modules/desktop_capture:shared_screencast_stream_test",
+    "type": "console_test_launcher",
+    "use_pipewire": True,
   },
   "rtc_media_unittests": {
     "label": "//media:rtc_media_unittests",
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index 6037ba6..88de021 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -184,10 +184,7 @@
       'webrtc_nonparallel_tests': {},
     },
     'linux_desktop_specific_tests': {
-      'pipewire_shared_screencast_stream_test': {
-        'args': ['.'],
-        'mixins': ['resultdb-gtest-json-format'],
-      },
+      'shared_screencast_stream_test': {},
     },
     'more_configs_tests': {
       'peerconnection_unittests': {
diff --git a/infra/specs/tryserver.webrtc.json b/infra/specs/tryserver.webrtc.json
index 4ed88ea..a5dc5ae 100644
--- a/infra/specs/tryserver.webrtc.json
+++ b/infra/specs/tryserver.webrtc.json
@@ -6093,6 +6093,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -6447,32 +6468,6 @@
         "test_id_prefix": "ninja://pc:peerconnection_unittests/"
       },
       {
-        "args": [
-          ".",
-          "--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json"
-        ],
-        "isolate_name": "pipewire_shared_screencast_stream_test",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "pipewire_shared_screencast_stream_test",
-        "resultdb": {
-          "result_file": "${ISOLATED_OUTDIR}/gtest_output.json",
-          "result_format": "gtest_json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/desktop_capture:pipewire_shared_screencast_stream_test/"
-      },
-      {
         "isolate_name": "rtc_media_unittests",
         "merge": {
           "args": [],
@@ -6558,6 +6553,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -6907,32 +6923,6 @@
         "test_id_prefix": "ninja://pc:peerconnection_unittests/"
       },
       {
-        "args": [
-          ".",
-          "--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json"
-        ],
-        "isolate_name": "pipewire_shared_screencast_stream_test",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "pipewire_shared_screencast_stream_test",
-        "resultdb": {
-          "result_file": "${ISOLATED_OUTDIR}/gtest_output.json",
-          "result_format": "gtest_json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/desktop_capture:pipewire_shared_screencast_stream_test/"
-      },
-      {
         "isolate_name": "rtc_media_unittests",
         "merge": {
           "args": [],
@@ -7018,6 +7008,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -7825,32 +7836,6 @@
         "test_id_prefix": "ninja://pc:peerconnection_unittests/"
       },
       {
-        "args": [
-          ".",
-          "--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json"
-        ],
-        "isolate_name": "pipewire_shared_screencast_stream_test",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "pipewire_shared_screencast_stream_test",
-        "resultdb": {
-          "result_file": "${ISOLATED_OUTDIR}/gtest_output.json",
-          "result_format": "gtest_json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/desktop_capture:pipewire_shared_screencast_stream_test/"
-      },
-      {
         "isolate_name": "rtc_media_unittests",
         "merge": {
           "args": [],
@@ -7936,6 +7921,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -8851,6 +8857,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
@@ -9284,6 +9311,27 @@
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
+        "isolate_name": "shared_screencast_stream_test",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "shared_screencast_stream_test",
+        "resultdb": {
+          "result_format": "json"
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-18.04"
+            }
+          ]
+        },
+        "test_id_prefix": "ninja://modules/desktop_capture:shared_screencast_stream_test/"
+      },
+      {
         "isolate_name": "slow_peer_connection_unittests",
         "merge": {
           "args": [],
diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl
index 1df1a0c..1a9257e 100644
--- a/infra/specs/waterfalls.pyl
+++ b/infra/specs/waterfalls.pyl
@@ -83,9 +83,7 @@
         'os_type': 'linux',
         'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
         'test_suites': {
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
-          'isolated_scripts': 'desktop_tests',
+          'isolated_scripts': 'linux_tests',
         },
       },
       'Linux MSan': {
@@ -95,8 +93,6 @@
           # TODO(crbug.com/webrtc/14568): Using 'linux_tests'
           # fails on "MemorySanitizer: use-of-uninitialized-value in
           # libpipewire-0.3.so."
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
           'isolated_scripts': 'desktop_tests',
         },
       },
@@ -107,8 +103,6 @@
           # TODO(crbug.com/webrtc/14568): Using 'linux_tests'
           # fails on "ThreadSanitizer: data race on vptr (ctor/dtor vs
           # virtual call) in shared_screencast_stream_test."
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
           'isolated_scripts': 'desktop_tests',
         },
       },
@@ -116,18 +110,14 @@
         'os_type': 'linux',
         'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
         'test_suites': {
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
-          'isolated_scripts': 'desktop_tests',
+          'isolated_scripts': 'linux_tests',
         },
       },
       'Linux UBSan vptr': {
         'os_type': 'linux',
         'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
         'test_suites': {
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
-          'isolated_scripts': 'desktop_tests',
+          'isolated_scripts': 'linux_tests',
         },
       },
       'Linux32 Debug': {
@@ -509,9 +499,7 @@
         'os_type': 'linux',
         'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
         'test_suites': {
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
-          'isolated_scripts': 'desktop_tests',
+          'isolated_scripts': 'linux_tests',
         },
       },
       'linux_compile_arm64_dbg': {},
@@ -549,8 +537,6 @@
           # TODO(crbug.com/webrtc/14568): Using 'linux_tests'
           # fails on "MemorySanitizer: use-of-uninitialized-value in
           # libpipewire-0.3.so."
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
           'isolated_scripts': 'desktop_tests',
         },
       },
@@ -568,8 +554,6 @@
           # TODO(crbug.com/webrtc/14568): Using 'linux_tests'
           # fails on "ThreadSanitizer: data race on vptr (ctor/dtor vs
           # virtual call) in shared_screencast_stream_test."
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
           'isolated_scripts': 'desktop_tests',
         },
       },
@@ -577,18 +561,14 @@
         'os_type': 'linux',
         'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
         'test_suites': {
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
-          'isolated_scripts': 'desktop_tests',
+          'isolated_scripts': 'linux_tests',
         },
       },
       'linux_ubsan_vptr': {
         'os_type': 'linux',
         'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
         'test_suites': {
-          # TODO(crbug.com/webrtc/14644): Replace desktop_tests by linux_tests
-          # when the failing pipewire tests are ignored on sanitizers.
-          'isolated_scripts': 'desktop_tests',
+          'isolated_scripts': 'linux_tests',
         },
       },
       'linux_x86_dbg': {
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
index 34a5704..2deb71c 100644
--- a/modules/desktop_capture/BUILD.gn
+++ b/modules/desktop_capture/BUILD.gn
@@ -139,20 +139,9 @@
         deps += [ ":pipewire_stubs" ]
       }
 
+      data = [ "../../third_party/pipewire" ]
       public_configs = [ ":pipewire_config" ]
     }
-
-    group("pipewire_shared_screencast_stream_test") {
-      testonly = true
-
-      deps = [ ":shared_screencast_stream_test" ]
-
-      data = [
-        "../../third_party/pipewire",
-        "linux/wayland/test/shared_screencast_stream_test.py",
-        "${root_out_dir}/shared_screencast_stream_test",
-      ]
-    }
   }
 
   rtc_library("desktop_capture_unittests") {
diff --git a/modules/desktop_capture/linux/wayland/test/shared_screencast_stream_test.py b/modules/desktop_capture/linux/wayland/test/shared_screencast_stream_test.py
deleted file mode 100644
index bf97d0c..0000000
--- a/modules/desktop_capture/linux/wayland/test/shared_screencast_stream_test.py
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/env vpython3
-# Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
-#
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file in the root of the source
-# tree. An additional intellectual property rights grant can be found
-# in the file PATENTS.  All contributing project authors may
-# be found in the AUTHORS file in the root of the source tree.
-"""
-This script is the wrapper that runs the "shared_screencast_screen" test.
-"""
-
-import argparse
-import json
-import os
-import subprocess
-import sys
-
-SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
-# Get rid of "modules/desktop_capture/linux/wayland/test"
-ROOT_DIR = os.path.normpath(
-    os.path.join(SCRIPT_DIR, os.pardir, os.pardir, os.pardir, os.pardir,
-                 os.pardir))
-
-
-def _ParseArgs():
-  parser = argparse.ArgumentParser(
-      description='Run shared_screencast_screen test.')
-  parser.add_argument('build_dir',
-                      help='Path to the build directory (e.g. out/Release).')
-  parser.add_argument(
-      '--isolated-script-test-output',
-      default=None,
-      help='Path to output JSON file which Chromium infra requires.')
-  # Unused args
-  # We just need to avoid passing these to the test
-  parser.add_argument(
-      '--isolated-script-test-perf-output',
-      default=None,
-      help='Path to store perf results in histogram proto format.')
-
-  return parser.parse_known_args()
-
-
-def _GetPipeWireDir():
-  pipewire_dir = os.path.join(ROOT_DIR, 'third_party', 'pipewire',
-                              'linux-amd64')
-
-  if not os.path.isdir(pipewire_dir):
-    pipewire_dir = None
-
-  return pipewire_dir
-
-
-def _ConfigurePipeWirePaths(path):
-  library_dir = os.path.join(path, 'lib64')
-  pipewire_binary_dir = os.path.join(path, 'bin')
-  pipewire_config_prefix = os.path.join(path, 'share', 'pipewire')
-  pipewire_module_dir = os.path.join(library_dir, 'pipewire-0.3')
-  spa_plugin_dir = os.path.join(library_dir, 'spa-0.2')
-  media_session_config_dir = os.path.join(pipewire_config_prefix,
-                                          'media-session.d')
-
-  env_vars = os.environ
-  env_vars['LD_LIBRARY_PATH'] = library_dir
-  env_vars['PIPEWIRE_CONFIG_PREFIX'] = pipewire_config_prefix
-  env_vars['PIPEWIRE_MODULE_DIR'] = pipewire_module_dir
-  env_vars['SPA_PLUGIN_DIR'] = spa_plugin_dir
-  env_vars['MEDIA_SESSION_CONFIG_DIR'] = media_session_config_dir
-  env_vars['PIPEWIRE_RUNTIME_DIR'] = '/tmp'
-  env_vars['PATH'] = env_vars['PATH'] + ':' + pipewire_binary_dir
-
-
-def main():
-  args, extra_args = _ParseArgs()
-
-  pipewire_dir = _GetPipeWireDir()
-
-  if pipewire_dir is None:
-    return 1
-
-  _ConfigurePipeWirePaths(pipewire_dir)
-
-  pipewire_process = subprocess.Popen(["pipewire"], stdout=None)
-  pipewire_media_session_process = subprocess.Popen(["pipewire-media-session"],
-                                                    stdout=None)
-
-  test_command = os.path.join(args.build_dir, 'shared_screencast_stream_test')
-  pipewire_test_process = subprocess.run([test_command] + extra_args,
-                                         stdout=True,
-                                         check=False)
-
-  return_value = pipewire_test_process.returncode
-
-  pipewire_media_session_process.terminate()
-  pipewire_process.terminate()
-
-  if args.isolated_script_test_output:
-    with open(args.isolated_script_test_output, 'w') as f:
-      json.dump({"version": 3}, f)
-
-  return return_value
-
-
-if __name__ == '__main__':
-  sys.exit(main())
diff --git a/tools_webrtc/configure_pipewire.py b/tools_webrtc/configure_pipewire.py
new file mode 100644
index 0000000..79f8acc
--- /dev/null
+++ b/tools_webrtc/configure_pipewire.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env vpython3
+# Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS.  All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+"""
+This script is a wrapper that loads "pipewire" library.
+"""
+
+import os
+import subprocess
+import sys
+
+_SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
+_SRC_DIR = os.path.dirname(_SCRIPT_DIR)
+
+
+def _GetPipeWireDir():
+  pipewire_dir = os.path.join(_SRC_DIR, 'third_party', 'pipewire',
+                              'linux-amd64')
+
+  if not os.path.isdir(pipewire_dir):
+    pipewire_dir = None
+
+  return pipewire_dir
+
+
+def _ConfigurePipeWirePaths(path):
+  library_dir = os.path.join(path, 'lib64')
+  pipewire_binary_dir = os.path.join(path, 'bin')
+  pipewire_config_prefix = os.path.join(path, 'share', 'pipewire')
+  pipewire_module_dir = os.path.join(library_dir, 'pipewire-0.3')
+  spa_plugin_dir = os.path.join(library_dir, 'spa-0.2')
+  media_session_config_dir = os.path.join(pipewire_config_prefix,
+                                          'media-session.d')
+
+  env_vars = os.environ
+  env_vars['LD_LIBRARY_PATH'] = library_dir
+  env_vars['PIPEWIRE_CONFIG_PREFIX'] = pipewire_config_prefix
+  env_vars['PIPEWIRE_MODULE_DIR'] = pipewire_module_dir
+  env_vars['SPA_PLUGIN_DIR'] = spa_plugin_dir
+  env_vars['MEDIA_SESSION_CONFIG_DIR'] = media_session_config_dir
+  env_vars['PIPEWIRE_RUNTIME_DIR'] = '/tmp'
+  env_vars['PATH'] = env_vars['PATH'] + ':' + pipewire_binary_dir
+
+
+def main():
+  pipewire_dir = _GetPipeWireDir()
+
+  if pipewire_dir is None:
+    print('configure-pipewire: Couldn\'t find directory %s' % pipewire_dir)
+    return 1
+
+  _ConfigurePipeWirePaths(pipewire_dir)
+
+  pipewire_process = subprocess.Popen(["pipewire"], stdout=None)
+  pipewire_media_session_process = subprocess.Popen(["pipewire-media-session"],
+                                                    stdout=None)
+
+  return_value = subprocess.call(sys.argv[1:])
+
+  pipewire_media_session_process.terminate()
+  pipewire_process.terminate()
+
+  return return_value
+
+
+if __name__ == '__main__':
+  sys.exit(main())
diff --git a/tools_webrtc/mb/mb.py b/tools_webrtc/mb/mb.py
index 620a0c1..07cb14c 100755
--- a/tools_webrtc/mb/mb.py
+++ b/tools_webrtc/mb/mb.py
@@ -102,6 +102,9 @@
             vpython_exe, '../../tools_webrtc/ensure_webcam_is_running.py'
         ]
         extra_files.append('../../tools_webrtc/ensure_webcam_is_running.py')
+      if isolate_map[target].get('use_pipewire', False):
+        cmdline += [vpython_exe, '../../tools_webrtc/configure_pipewire.py']
+        extra_files.append('../../tools_webrtc/configure_pipewire.py')
 
       # is_linux uses use_ozone and x11 by default.
       use_x11 = is_linux
