In Gnome volume control I see 2 entries for each device (Digital & Analog) - can I hide them?

I have a desktop with 2 connected audio devices.

  1. A pair of cheap speakers plugged in to my line out analog socket.
  2. An audiophile grade async USB DAC

When I adjust volume control I see the following entries…

  • Digital Output (S/PDIF) - Azur DacMagic 100 [This is the correct entry for my DAC]
  • Analog Output - Azur DacMagic 100 [This makes no sense as there is no Analog output to the DAC]
  • Digital Output (S/PDIF) - Built-in Audio
  • Line Out - Built-in Audio

I would like to hide the 2nd and 3rd entries in the list. If I open them up through PulseAudio volume control they are not there and only the ‘correct’ entry for the device is active.

Is there a way to hide these outputs?

I use a extension to disable some HDMI output ports to speakers in monitors that could do this:

Example:
image

2 Likes

pavucontrol --tab=3 would usually only show controls for active Output Devices
selected from PulseAudio Profiles in pavucontrol --tab=5 Configuration

If the ‘volume control’ options listed are from another PulseAudio GUI, you could either:

Create custom PulseAudio profiles in /usr/share/pulseaudio/alsa-mixer/profile-sets/ using only the profiles you want, with a udev rule to link the custom profile to the device
Writing pulseaudio profiles | freedesktop.org/wiki/Software/PulseAudio
PulseAudio: Create profile to add surround channels to RME Fireface 802 - #3 by Schroedingers-Cat

Or hack the PulseAudio modules to load only the sink outputs and source inputs you want

  1. copy module configuration file to home folder and edit the new file

    cp /etc/pulse/default.pa ~/.config/pulse/default.pa && nano ~/.config/pulse/default.pa
    
  2. comment out the whole section ### Automatically load driver modules
    to prevent module-udev-detect or module-detect loading

  3. in the section ### Load audio drivers statically uncomment #load-module alsa-sink
    and add sinks like this (but with correct device ID numbers from aplay -l)

    load-module module-alsa-sink device=hw:0,0 sink_name=line sink_properties=device.description='Line Out'
    load-module module-alsa-sink device=hw:2,1 sink_name=digital sink_properties=device.description='DacMagic 100'
    
  4. uncomment load-module-alsa-source to add audio inputs if required

  5. restart Pulseaudio to load new configuration – systemctl --user restart pulseaudio

I prefer this method because there are lots of additional options to configure the sinks
module-alsa-sink – PulseAudio

BUT

If the other GUI is showing ALSA controls, the Analog output for the DAC cannot be disabled within ALSA. I do not know of a Linux tool that can hack USB device configurations

There is a tool that can disable The Digital S/PDIF output for the onboard audio device
alsa-tools package has hdajackretask GUI to reconfigure audio connections
That can be used to reconfigure the onboard S/PDIF output jack** as ‘Not Connected’ with a Boot Override

3 Likes

@Hanzel hit the nail on the head.

I am also using the same extension, so I was able to go into the Settings for the Extension via the Extensions app and disable the outputs and inputs that I didn’t want to see.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.