3

In pulseaudio I use to be able to completely disable an audio device using something like:

pactl list short modules | grep -E "Logitech_BRIO|platform-skl"
pactl unload-module 15 # ID of device I wanted to disable

Which would prevent the device from appearing in any applications or most audio configuration settings (Like Cinnamon desktop Sound Settings). Now using Pipewire the individual devices no longer appear as modules, and even after reading thru the Migrate PulseAudio wiki I don't see how to entirely disable a device. Even using pavucontrol to set the configuration profile to off doesn't remove the device.

Is there a way to completely disable an input or output device when using Pipewire?

Greg Bray
  • 379
  • 4
  • 14

1 Answers1

1

Shameless plug, but here goes.

I was facing the same issue, but didn't find a solution without touching the Lua configuration. I just created a pull request for this in this commit over at the official wireplumber repository. You might not be using that session manager yet, but if you do, you should be able to patch your configuration with it.

In case the url dies, here's a simple way to do what you want: In /etc/wireplumber/scripts/monitors/alsa.lua you can simply return from the prepareDevice function at any point:

if properties["device.name"] == "alsa_card.pci-0000_0e_00.4" then
  return
end

Note that my commit actually implements this through a device.disabled variable, making it slightly more user-friendly.

mazunki
  • 187
  • 1
  • 1
  • 9