ayman20
(ayman)
1
I have a usb microphone and it’s detected by ALSA and works properly with PulseAudio, but when I use pipewire it stops working.
This is the output of arecord -l :
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Microphone [USB Condenser Microphone], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0

systemctl --user status pipewire :
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/pipewire.service.d
└─00-uresourced.conf
Active: active (running)
TriggeredBy: ● pipewire.socket
Main PID: 35784 (pipewire)
Tasks: 2 (limit: 9425)
Memory: 10.0M
CPU: 839ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─35784 /usr/bin/pipewire
systemctl --user status pipewire-pulse :
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: disabled)
Active: active (running)
TriggeredBy: ● pipewire-pulse.socket
Main PID: 1589 (pipewire-pulse)
Tasks: 2 (limit: 9425)
Memory: 9.4M
CPU: 418ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─1589 /usr/bin/pipewire-pulse
grumpey
(Joe Walker)
2
can you check:
wpctl status
and see what’s listed for the microphone?
Thanks
ayman20
(ayman)
3
Thanks for replying.
Here is the output of wpctl status
PipeWire 'pipewire-0' [0.3.59, ayman@fedora, cookie:4286566574]
└─ Clients:
31. WirePlumber [0.3.59, ayman@fedora, pid:1570]
32. WirePlumber [export] [0.3.59, ayman@fedora, pid:1570]
35. pipewire-pulse [0.3.59, ayman@fedora, pid:1571]
54. uresourced [0.3.59, ayman@fedora, pid:1790]
55. GNOME Volume Control Media Keys [0.3.59, ayman@fedora, pid:1987]
56. GNOME Shell Volume Control [0.3.59, ayman@fedora, pid:1814]
57. xdg-desktop-portal [0.3.59, ayman@fedora, pid:2220]
58. GNOME Settings [0.3.59, ayman@fedora, pid:2724]
70. wpctl [0.3.59, ayman@fedora, pid:2825]
Audio
├─ Devices:
│ 41. Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] [alsa]
│ 42. Built-in Audio [alsa]
│ 66. USB Condenser Microphone [alsa]
│
├─ Sinks:
│ 47. Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] Digital Stereo (HDMI) [vol: 0.74]
│ * 48. Built-in Audio Analog Stereo [vol: 0.54]
│
├─ Sink endpoints:
│
├─ Sources:
│ * 61. USB Condenser Microphone Mono [vol: 0.91]
│
├─ Source endpoints:
│
└─ Streams:
34. GNOME Settings
53. input_MONO < USB Condenser Microphone:capture_MONO [active]
67. monitor_MONO
60. GNOME Settings
59. input_FR < ALC887-VD Analog:monitor_FR [active]
64. monitor_FR
65. input_FL < ALC887-VD Analog:monitor_FL [active]
69. monitor_FL
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Settings
└─ Default Configured Node Names:
0. Audio/Sink alsa_output.pci-0000_00_1b.0.playback.0.0
1. Audio/Source alsa_input.usb-DCMT_Technology_USB_Condenser_Microphone_214b206000000178-00.mono-fallback```
grumpey
(Joe Walker)
4
Does it make any difference if you remove ~/.local/state/wireplumber ?
This will reset what ever you have set as default for sound.
ayman20
(ayman)
5
I’ve removed ~/.local/state/wireplumber folder, but the microphone still doesn’t work. This the result of wpctl status :
PipeWire 'pipewire-0' [0.3.59, ayman@fedora, cookie:4286566574]
└─ Clients:
34. WirePlumber [0.3.59, ayman@fedora, pid:17993]
35. pipewire-pulse [0.3.59, ayman@fedora, pid:1571]
53. WirePlumber [export] [0.3.59, ayman@fedora, pid:17993]
54. uresourced [0.3.59, ayman@fedora, pid:1790]
55. GNOME Volume Control Media Keys [0.3.59, ayman@fedora, pid:1987]
56. GNOME Shell Volume Control [0.3.59, ayman@fedora, pid:1814]
57. xdg-desktop-portal [0.3.59, ayman@fedora, pid:2220]
58. Mutter [0.3.59, ayman@fedora, pid:1814]
70. wpctl [0.3.59, ayman@fedora, pid:18081]
Audio
├─ Devices:
│ 48. USB Condenser Microphone [alsa]
│ 62. Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] [alsa]
│ 66. Built-in Audio [alsa]
│
├─ Sinks:
│ * 32. Built-in Audio Analog Stereo [vol: 0.74]
│ 47. Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] Digital Stereo (HDMI) [vol: 0.74]
│
├─ Sink endpoints:
│
├─ Sources:
│ * 49. USB Condenser Microphone Mono [vol: 0.74]
│
├─ Source endpoints:
│
└─ Streams:
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Settings
└─ Default Configured Node Names:
I should mention that the microphone works with arecord
and I can record my voice by running the following command :
[ayman@fedora ~]$ arecord --duration=10 --format=dat --device=hw:2,0 test.wav -c1
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
grumpey
(Joe Walker)
6
Can you check and see if it’s selecting a valid profile?
The simplest way will likely be to use pavucontrol.
You could also use pactl set-card-profile "I used tab complete to find the device & profile"
ayman20
(ayman)
7

Is there any other solution?
grumpey
(Joe Walker)
8
Does changing the profile make any difference or is that the only one available?
You may want to compare the output of:
pactl list cards
pactl list sources
with pulse working
and pipewire not working.
Did this work on older kernels?
This may just be a bug in pipewire.