PipeWire CLI tools
This test case tests that PipeWire can be controlled using CLI commands.
- This test case should be performed on bare-metal machines. To be able to test with virtual machines, consider a USB device pass-through. Leave a note in the comments if you have performed this test using the VM with the USB Passthrough strategy.
- The computer must be equipped with a sound device and a microphone (or another input source of audio).
- Install a desktop version of Fedora 35 (or later).
- Check that the
wireplumberpackages are installed. If not, report it and install them.
- Connect your speakers (headphones) to the default sound device.
- Have an audio file in the wav format at your disposal. If you do not have one, you can download a suitable audio file. Some default files can also be found in the
- Perform the following test case as a regular user.
How to test
List all available devices (targets) and check that all your output sound devices are listed.
$ wpctl status
Note that each target has an identification number assigned. The default target is marked with an asterisk (
*). Check that it matches your default audio device.
Play a wav sound file over the default target and check that it is correctly played over the default sound device.
$ pw-cat -p <audiofile.wav>
Play a wav sound file while setting the volume to a low level. Check that the playback is quieter when compared to the previous step.
$ pw-cat -p --volume=0.1 <audiofile.wav>
List all available devices (targets) and check that all your input sound devices are listed.
$ wpctl status
Connect your microphone (or another input source of audio) to the default input sound device.
Record a sample recording using your default sound device. Check that it has been correctly recorded. Use the playback command used in Step 2.
$ pw-cat -r audiotest.wav
Record a sample recording using a different volume level. Check that it has been correctly recorded. Compare the volume level with the first recordings and make sure this one is much quieter.
$ pw-cat -r --volume=0.1 quiet.wav
Record a sample recording using a different rate. Check that it has been correctly recorded. Compare the quality with the first recording and check that this recording sounds less clean and has an overall "lower" quality.
$ pw-cat -r --rate=6000 lowrate.wav
If you have more than one audio devices, you can repeat the previous steps with another device using the
--targetoption, such as
$ pw-cat -p --target=XX <audiofile>or
$ pw-cat -r --target=XX <audiofile>
XXstands for the device number obtained by the
Alternatively, you can use dedicated commands to play and record audio, i.e.
- Playback targets are listed and they correspond to your audio devices.
- Audio files can be played and recorded using the
pw-catcommand or its dedicated variants.
- Connected output and input sound devices work.