You are not logged in.
The amplifier to my speakers is plugged into the lineout port on the back of my computer, and I've got headphones plugged into the headphone port on the front of the case.
Using pavucontrol, if I switch output to "Line Out," the speakers start playing and the headphones stop playing, as expected.
If I switch the port to "Headphones" instead, the headphones start playing, but the speakers don't stop playing.
In other words, the headphones behave as expected when I switch, but the speakers play no matter what.
using pacmd to change the sink ports has the same effect as using pavucontrol.
Here's the output of pacmd list-sinks:
1 sink(s) available.
* index: 0
name: <alsa_output.pci-0000_09_00.3.analog-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
state: IDLE
suspend cause: (none)
priority: 9039
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 100.86 ms
max request: 17 KiB
max rewind: 17 KiB
monitor source: 0
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 1
fixed latency: 100.14 ms
card: 2 <alsa_card.pci-0000_09_00.3>
module: 8
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC1220 Analog"
alsa.id = "ALC1220 Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xf7700000 irq 75"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:09:00.3"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:09:00.3/sound/card1"
device.bus = "pci"
device.vendor.id = "1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.product.id = "1457"
device.product.name = "Family 17h (Models 00h-0fh) HD Audio Controller"
device.string = "front:1"
device.buffering.buffer_size = "17664"
device.buffering.fragment_size = "2944"
device.access_mode = "mmap"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: yes)
properties:
analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes)
properties:
device.icon_name = "audio-headphones"
active port: <analog-output-lineout>Over the past two days I've read through about a dozen threads from as far back as 2013, but I can't seem to find a solution that isn't a hack. Is this a pulseaudio bug? There has got to be a way to make sure that a port is disabled when a new one is activated!
Last edited by josephemorgan91 (2020-10-07 16:17:48)
Offline
do you have an automute control? What's your
amixer -c1Offline
Thanks a ton for the reply, Videl
Here's the output you requested:
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 69 [79%] [-13.50dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB] [on]
Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Front',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB] [off]
Front Right: Playback 87 [100%] [0.00dB] [off]
Simple mixer control 'Front Mic',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 31 [100%] [12.00dB] [off]
Front Right: Playback 31 [100%] [12.00dB] [off]
Simple mixer control 'Front Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 3 [100%] [30.00dB]
Front Right: 3 [100%] [30.00dB]
Simple mixer control 'Surround',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 0 [0%] [-65.25dB] [off]
Front Right: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'Center',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'LFE',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'Line',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 0 [0%] [-34.50dB] [off]
Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Line Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958 Default PCM',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 63 [100%] [30.00dB] [on]
Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Capture',1
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 0 [0%] [-17.25dB] [off]
Front Right: Capture 0 [0%] [-17.25dB] [off]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Simple mixer control 'Input Source',0
Capabilities: cenum
Items: 'Front Mic' 'Rear Mic' 'Line'
Item0: 'Front Mic'
Simple mixer control 'Input Source',1
Capabilities: cenum
Items: 'Front Mic' 'Rear Mic' 'Line'
Item0: 'Front Mic'
Simple mixer control 'Loopback Mixing',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Simple mixer control 'Rear Mic',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 0 [0%] [-34.50dB] [off]
Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Rear Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]However, I found a solution that seems to be working for now, here. I had read that post before, but
/usr/share/pulseaudiodoesn't exist on my system. The Wiki seems to suggest that it should exist, too.
Anyway, I did a
find / -name analog-output-headphones.confand discovered that for some reason, the path on my system is
/usr/share/alsa-card-profile/mixer/paths/analog-output-headphones.confinstead of
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf. I can't find anywhere that that's documented. However, making the change that the user in the other post suggested now has headphones/speakers working mutually exclusively from each other, which is what I wanted.
It seems like this should be documented somewhere, or that there should be saner defaults, especially in light of the many posts that I found with this exact same issue (most of which went unsolved). Does anyone have any idea why my configuration files are located in a different folder than the documentation seems to suggest?
Offline
The new location is a very recent change of the just updated new version of pulseaudio, because there are multiple daemons that share these configuration files (pipewire wants to use these as well) so instead of having them duplicated it was decided to add a more general "alsa-card-profile" directory and configure both pulse and pipewire to use this directory.
This is literally just happened with the latest pulseaudio package and the version in use here is technically not released yet, so you'll have to mental map old documentation to this new path, for Arch systems at least.
Anyway glad to hear you've found a solution (though I would have first suggested to just toggle said auto mute control to on to check whether this is already sufficient) please mark as [SOLVED] by editing the title in your first post.
Offline
Anyway glad to hear you've found a solution (though I would have first suggested to just toggle said auto mute control to on to check whether this is already sufficient) please mark as [SOLVED] by editing the title in your first post.
Toggling auto-mute back on and switching the sink port to headphone to get exclusive headphone output, and then back off and switching the sink port to lineout to get exclusive speaker did seem to work. That honestly felt like a hack though, it doesn't seem like auto-mute should need to be switched on and off to be able to switch sink ports.
This is literally just happened with the latest pulseaudio package and the version in use here is technically not released yet, so you'll have to mental map old documentation to this new path, for Arch systems at least.
That's a very satisfying explanation, thanks a lot for pointing that out. I very much appreciate the help! I'll mark this as solved, but let me know if you'd like me to do any more troubleshooting.
Offline