When I plug in a headphone into the headphone port on my laptop, ALSA immediately sets the volume of the speaker channel to 0 and mutes it. When I unplug the headphone, it also zeroes and mutes the headphone channel, and unmutes the speaker channel, but doesn't set the volume back above zero. (The same problem occurs in reverse). I've tried disabling the auto-mute feaure, but it will still zero and mute channels when I change from using a headphone or vice versa. I tried deleting the alsa saved state, but the problem persisted. (I also tried creating a new one with both channels maxed out and unmuted). Any suggestions to get it to set the volume properly on switching outputs?
This use to happen to me in a sense. I had some instance of pulse installed, then pulse would constantly interfere with alsa.
Check if you have anything pulse-related installed. For me having libpulse is okay, but anything else would mess with alsa.
pacman -Q | grep pulse
I have pulseaudio running. Mostly because of a bunch of programs I use that stopped working reliably together without pulse a year or two back, and for ease of use of a USB headset that was an eternal pain under ALSA alone. The audio symptoms are relatively recent, though.
On examination, when I kill Pulseaudio the behavior stops, and resumes as soon as I restart pulse. So I'm looking to fix pulse, I guess...
EDIT: Fixed the behavior by commenting out in /etc/pulse/default.pa the line
by adding a # to the front. ALSA was handling the muting on its own anyway.
Man, this is the third thing I've had to alter in default.pa to keep my audio working properly... My favorite was the one that randomly stopped VLC every time I got a Skype message until I commented out the module.
Last edited by GourdCaptain (2013-11-27 23:21:59)
Yeah, I found pulse isn't very reliable, but that's just preference. I only use alsa and I have no problems with audio (except for allowing skype to control it, but who does that..). Haven't had to configure anything too, alsa has just been working oob.
The main reason I use pulse is that swapping from using a USB headset to the internal sound card and back wasn't something I could find an easy way to do under ALSA, while I can do it pretty effortlessly with pavucontrol. Plus, it lets me set different volumes for different programs, which is really useful for me when I tend to run video players and skype calls simultaneously a good chunk of the time. Anyway, in case someone else (like me) needs the fix I found, I posted it on the PulseAudio wiki page.