How to Configure PipeWire Audio on Fedora
Practical steps to configure PipeWire audio on Fedora, check input and output devices, set levels, and fix common microphone or camera audio problems.
Before you start
Fedora Workstation normally runs PipeWire by default for audio, video, and camera-related streams. You can check the active server without changing anything by running pactl info in a terminal and looking for the Server Name field. If it says PipeWire or indicates the PipeWire PulseAudio service, the rest of this process applies locally on your computer.
Make sure the devices you want to use are connected before you open the sound settings. USB microphones, headsets, webcams with microphones, and HDMI audio devices usually appear only after the system has detected them. No separate remote service is required for basic configuration.
Step-by-step instructions
These steps use the standard GNOME sound settings, which is the most direct way to configure PipeWire audio on Fedora Workstation. For more detailed control, you can use the pw-cli, wpctl, or pavucontrol tools mentioned later.
- Open Settings and select Sound.
- Check that the correct output device is selected under Output Device.
- Speak into the microphone or play audio and watch the input level indicator under Input.
- Select the intended input device if Fedora has not chosen it automatically.
- Adjust the Input Volume slider until a normal speaking voice reaches a visible but not constantly peaking level.
- Use the Test buttons or play a short local audio file to confirm that sound is routed as expected.
GNOME Sound settings show friendly device names but only a small set of controls. For camera audio, a webcam microphone often appears as a separate input device with a name that includes the camera model. Choose that device explicitly before joining a video call if you want the camera microphone rather than the built-in laptop microphone.
For per-application routing and a clearer view of recording and playback streams, install or open PulseAudio Volume Control. It shows input devices, output devices, and the applications currently playing or recording. This is useful when a call app keeps using the wrong microphone or speaker.
Advanced properties such as the sample rate or device profile can be inspected with wpctl status in a terminal. This command lists numbered devices and nodes managed by PipeWire. Use wpctl inspect with the relevant number to view details. If you change a profile or default node, note the previous value so you can restore it.
Check the output
The simplest verification is to open Settings, go to Sound, and watch the input level while speaking. A working microphone should move the indicator without requiring you to shout. For playback, select each output device and play a short local sound or use the available test control.
In a video call or recording app, check that the app shows the same device you selected at the system level. If the app has its own input device menu, set it there as well. A common limitation is that an application can hold onto a previously selected device until it is restarted.
The result is not about absolute audio quality, but about correct routing and usable levels. A meter that stays flat during speech, or sound that comes from the wrong speaker, means the configuration needs the corrections described below.
Common problems and next steps
If the microphone level is too low, first check the input device selection and Input Volume slider. Some USB microphones also have a physical mute switch or gain control. Raise the system slider before changing advanced PipeWire settings; a muted device at the hardware level will stay silent regardless of software configuration.
If the volume is fine but background noise is intrusive, place the microphone closer to the speaker and reduce the input level until normal speech is clear. Basic PipeWire routing does not remove noise by itself, so the practical fixes are position, level, and selecting the intended microphone. Disable unused input devices or set them to Off when they are not needed for a call.
When an application cannot see a newly connected device, fully close and reopen the application. Some call and recording tools scan devices only at startup. If the device is absent from GNOME Settings as well, disconnect and reconnect it, then check whether it appears in the Sound panel.
If you want lower latency or a different device profile, use wpctl or pw-cli and record the original value before changing it. Profile options are device-dependent and are not a guaranteed quality improvement. After a change, repeat the input level check and a short recording test before relying on the device for a meeting.