28

At each reboot, PulseAudio sets a sink (in my case, "HDMI Audio Output") as the default.

So, at each reboot, I don't hear any sound, and need to reconfigure the default sink each time to "Analog Output".

How do I remove/disable a specific sink such as HDMI, or set a default sink that overrides the existing sink?

2
  • 2
    Even if someone answers with a workaround please file a bug report for your issue as described at help.ubuntu.com/community/ReportingBugs. Thanks Nov 30 '10 at 13:21
  • This is the second ranked question on Google for 'pulseaudio disable sink' and seems to be entirely within scope of using and administering official flavors of Ubuntu and doesn't fall into any of the avoided scope areas. Please reopen. Feb 18 '17 at 20:04
11

Just set the soundcard's profile to "off", for example:

pactl set-card-profile alsa_card.usb-Generic_ThinkPad_Dock_USB_Audio-00 off

pavucontrol can do this is well in its "Configuration" tab:

enter image description here

An alternative is to completely disable any auto connect functionality in pulseaudio, however I like this functionality in the case of my bluetooth headset. With the above solution you can disable soundcards in a fine-grained manner.

4
  • 1
    What if your audio device doesn't have a profile? My on-board HDMI and analog sound don't have one.
    – einpoklum
    Feb 27 at 9:17
  • Never encountered that, can you show a screenshot of the screen used in the answer?
    – hbogert
    Feb 28 at 10:09
  • This would be a nice solution if it was remembered. I'm setting the profile on my HDMI Output and it just keeps resetting itself :( Extremely annoying. Kubuntu 21.04
    – piit79
    Sep 17 at 9:17
  • @piit79 it is definitely remembered in my case.
    – hbogert
    Sep 20 at 14:40
9

in 18.10 i was able to fix it

file /etc/modprobe.d/blacklist.conf
add

blacklist snd_hda_codec_hdmi
7

1. Delete User Settings

Another approach prior to editing the default.pa would be to rename the hidden directory ~/.pulseaudio to something like ~/.pulseaudio.000 in your /home directory. This is where your user defined setup is stored. If deleted or renamed it will immediately be recreated from the /etc/pulse/default.pa settings.

2. Edit Defaults

Only if this has no effect for your system then maybe udev loads the HDMI interface as default sink. Then one approach could be as already mentioned by HagenaarsDotNu to edit the default.pa. Mind to make a backup of the current default.pa. Look for this section which is pretty self-explaining (mind that hal-detect will not work in Ubuntu >10.04).

### Load audio drivers statically (it's probably better to not load
### these drivers manually, but instead use module-hal-detect --
### see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
#
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
load-module module-detect
.endif

3. The Elegant Way

Another more elegant way to get audio working is to enable "Simultaneous Output" from paprefs as depicted here:

paprefs

This enables audio output on both, the internal audio, and the HDMI-Interface. Make this virtual output device your default and you have all options at your hands.

3
  • "Simultaneous Output" tend to be cpu intensive
    – Tomot
    Feb 18 '18 at 17:27
  • "Simultaneous Output" also can potentially make audio quality terrible on at least one of the outputs. By terrible I mean it's really bad, arguably worse than no sound at all. Aug 25 '20 at 14:13
  • 1
    For people with zero experience with pulseaudio, the section is NOT self-explaining. What do I actually change, to disable audio-via-HDMI? Mar 29 at 9:41
3

I found this suggestion on Launchpad

which states you should edit the pulseaudio settings

sudo nano /etc/pulse/default.pa

and replace #set-default-sink output with: set-default-sink {name of your device}

Name of the device can be found by looking at pactl list output in the Card sections name field.

I checked and the approach should still be valid in 10.10

1
  • How do you know exactly which device name to use?
    – einpoklum
    Feb 27 at 9:16
0

As a workaround please disable that feature by editing /etc/pulse/default.pa and comment out (with #) or remove:

load-module module-switch-on-port-available

and reboot the system.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.