$ pactl list short
$ mkdir -p $HOME/.config/wireplumber/main.lua.d
$ vi $HOME/.config/wireplumber/main.lua.d/51-disable-devices.lua
$ systemctl --user restart wireplumber
Tested on Fedora 38 with Wireplumber 0.4.14 and Pipewire 0.3.70
$ pactl list short
$ mkdir -p $HOME/.config/wireplumber/main.lua.d
$ vi $HOME/.config/wireplumber/main.lua.d/51-disable-devices.lua
$ systemctl --user restart wireplumber
Tested on Fedora 38 with Wireplumber 0.4.14 and Pipewire 0.3.70
| rule = { | |
| matches = { | |
| { | |
| { "device.name", "equals", "alsa_card.usb-046d_HD_Pro_Webcam_C920_44FFD86F-02" }, | |
| }, | |
| { | |
| { "device.name", "equals", "alsa_card.pci-0000_01_00.1" }, | |
| }, | |
| }, | |
| apply_properties = { | |
| ["device.disabled"] = true, | |
| }, | |
| } | |
| table.insert(alsa_monitor.rules,rule) |
You can use wpctl status, wpctl inspect <id> instead of pactl if you don't have it.
Thanks a lot for this. For anyone besides me who finds it, pay close attention to the device name found with pactl. In my case (as in the example given above), it's going to start with the string alsa_card. Don't get fooled by the lines that start with something else.
For Wireplumber 0.5+, use the following instead:
<yourEditor> $HOME/.config/wireplumber/wireplumber.conf.d/51-disable-devices.conf