Bug 102954

Summary: The line out port is marked unavailable if any of surround jacks are unplugged
Product: PulseAudio Reporter: Tanu Kaskinen <tanuk>
Component: alsaAssignee: pulseaudio-bugs
Status: RESOLVED INVALID QA Contact: pulseaudio-bugs
Severity: normal    
Priority: medium CC: lennart
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 102546    

Description Tanu Kaskinen 2017-09-23 15:00:59 UTC
I heard about a case where pulseaudio would refuse to make a surround sink the default, because alsa reported that the front speakers were unplugged (but other speakers were plugged in). In reality the front speakers were plugged in, so this was an alsa bug, but the incident revealed that pulseaudio marks the lineout port unavailable too eagerly. The lineout port is used for stereo as well as all surround profiles. Not all of the surround jacks are relevant for all profiles. For example, if the side speakers are unplugged, the stereo profile for lineout should still be marked as available.

Adding multiple availability statuses per port, one for each profile, would probably be ideal, but also complicated to implement. As a first aid I think it would make sense to mark a port unavailable only if all of its jacks are unplugged (or at least do this for the lineout port).

I'll mark this as a release blocker, because I imagine people will have big problems with stereo lineout if their sound card supports surround jack detection. This wasn't as serious before 11.0, because pulseaudio allowed sinks with unavailable active port to be the default, but now that is not possible (unless there are no other options for the default sink).
Comment 1 Tanu Kaskinen 2017-10-15 09:37:13 UTC
False alarm. We don't mark lineout unavailable if the rear channels are unplugged. Only the front channels affect the port availability.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.