MY WEBCAM TEST GUIDE

How to Set Up WirePlumber on Fedora

Practical steps to set up and check WirePlumber on Fedora for camera and microphone use in audio or video tools.

WirePlumber manages audio and video routing under PipeWire on Fedora. Setting it up can help when a microphone, camera, headset or video-call application is not seeing the device you expect. The process runs locally on the installed Fedora system; there is no separate external service to configure.

Before you start

On a standard Fedora Workstation installation, WirePlumber is normally already present and started as the session policy manager for PipeWire. Before changing anything, check whether the package is installed and whether the user-level service is active.

  • Use the command rpm -q wireplumber to check whether the WirePlumber package is installed.
  • Use systemctl --user status wireplumber to see whether the user service is active.
  • Close audio or video applications while changing routing so they can reconnect after the change.
  • Have a second terminal ready if you need to restart the user service.

WirePlumber is a user-level process, not a system-wide daemon. Commands should be run as your normal desktop user unless the documentation for your environment specifically says otherwise.

Step-by-step instructions

The exact path depends on what you are trying to solve. If a device is missing, first restart the manager and let it rebuild the device list. If you need a stable choice for a particular camera or microphone, use a WirePlumber rule file.

Confirm that PipeWire and WirePlumber are running

  • Open a terminal as your normal user.
  • Run systemctl --user status wireplumber and look for an active state.
  • If the service is not active, run systemctl --user enable --now wireplumber.
  • Close and reopen the application that uses the camera or microphone.

If the service cannot start, PipeWire itself may not be running. Check it with systemctl --user status pipewire and start it with systemctl --user enable --now pipewire pipewire-pulse if needed.

Inspect devices with wpctl

Wpctl is the command-line companion to WirePlumber. It can help confirm whether the system actually detects the camera or microphone.

  • Run wpctl status to list audio and video endpoints.
  • Look for your device name in the Audio or Video section.
  • Note the numeric ID or default markers shown for devices.
  • If the device is present but not the default, use wpctl set-default with its ID.

The available commands may vary between Fedora releases. Run wpctl help to see the commands supported by the installed version instead of relying on screenshots from another release.

Create a wiring rule for a preferred device

A rule file lets WirePlumber select a matching device repeatedly. Rules live in the user configuration directory. Create the directory if it is missing.

  • Create or open the directory ~/.config/wireplumber/wireplumber.conf.d/.
  • Add a file with a descriptive name such as 50-preferred-mic.conf.
  • Define the rule against the node the application sees, not just the device description shown in settings.
  • Save the file.
  • Restart WirePlumber with systemctl --user restart wireplumber.
monitor.alsa.rules = [
  {
    matches = [
      {
        node.name = "alsa_input.usb-*"
      }
    ]
    actions = {
      update-props = {
        priority.driver = 100
      }
    }
  }
]

Replace the match with a value from your own system. Use wpctl status or wpctl inspect to see the node name and available properties before writing the rule.

Check the output

After restarting WirePlumber, confirm the expected result from several sides: the service state, the device list and the application behavior.

  • Run systemctl --user status wireplumber and check that the service is active.
  • Run wpctl status and confirm that the target camera or microphone is listed.
  • Open the application used for the call or recording.
  • Select the intended device in the application and make a short test call or recording.
  • Check that audio or video appears only when you expect it, with no unexpected mute or loopback.

WirePlumber controls routing and defaults, but it does not guarantee quality settings such as resolution, frame rate or sample rate. Those may still be limited by the application, driver or device.

Common problems and next steps

A common issue on Fedora is that an application looks at a PulseAudio-compatible default and shows a device that WirePlumber manages under a different name. In that case, inspect both the PulseAudio sink or source and the PipeWire node to find the matching ID.

  • If a device disappears after a suspend or connection change, disconnect it, reconnect it and rerun wpctl status.
  • If the service restarts correctly but the default is wrong, test the rule with a more specific node.name match.
  • If video-call routing changes after a reboot, confirm that the rule file is still present in the user configuration directory.
  • If an application keeps its old device, quit and reopen the application after the WirePlumber change.
  • If the camera works in one program but not another, check the application permission settings in the desktop environment.

Rename or remove the rule file to reverse a user-level wiring change, then restart WirePlumber. Keep the rule limited to a specific match so it affects only the intended camera or microphone.