Bug 104574 - better display of audio profiles for cards with many profiles
Summary: better display of audio profiles for cards with many profiles
Status: RESOLVED MOVED
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: pavucontrol (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-10 16:26 UTC by Peter F. Patel-Schneider
Modified: 2018-07-30 09:30 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Peter F. Patel-Schneider 2018-01-10 16:26:30 UTC
On my laptop pavucontrol lists the following profiles for built-in audio
(which is an Intel HD audio card) when no external monitor is connected.

Analog Stereo Duplex
Analog Stereo Output
Digital Stereo Output (HDMI) + Analog Stereo Input
Digital Stereo Output (HDMI) (unplugged)
Digital Stereo Output (HDMI 5) + Analog Stereo Input
Digital Stereo Output (HDMI 4) + Analog Stereo Input
Digital Stereo Output (HDMI 3) + Analog Stereo Input
Digital Stereo Output (HDMI 2) + Analog Stereo Input
Digital Stereo Output (HDMI 5) (unplugged)
Digital Stereo Output (HDMI 4) (unplugged)
Digital Stereo Output (HDMI 3) (unplugged)
Digital Stereo Output (HDMI 2) (unplugged)
Digital Surrpound 7.1 Output (HDMI) + Analog Stereo Input
Digital Surrpound 5.1 Output (HDMI) + Analog Stereo Input
Digital Surrpound 7.1 Output (HDMI) (unplugged)
Digital Surrpound 5.1 Output (HDMI) (unplugged)
Digital Surrpound 7.1 Output (HDMI 5) + Analog Stereo Input
Digital Surrpound 7.1 Output (HDMI 4) + Analog Stereo Input
Digital Surrpound 7.1 Output (HDMI 3) + Analog Stereo Input
Digital Surrpound 7.1 Output (HDMI 2) + Analog Stereo Input
Digital Surrpound 5.1 Output (HDMI 5) + Analog Stereo Input
Digital Surrpound 5.1 Output (HDMI 4) + Analog Stereo Input
Digital Surrpound 5.1 Output (HDMI 3) + Analog Stereo Input
Digital Surrpound 5.1 Output (HDMI 2) + Analog Stereo Input
Digital Surrpound 7.1 Output (HDMI 5) (unplugged)
Digital Surrpound 7.1 Output (HDMI 4) (unplugged)
Digital Surrpound 7.1 Output (HDMI 3) (unplugged)
Digital Surrpound 7.1 Output (HDMI 2) (unplugged)
Digital Surrpound 5.1 Output (HDMI 5) (unplugged)
Digital Surrpound 5.1 Output (HDMI 4) (unplugged)
Digital Surrpound 5.1 Output (HDMI 3) (unplugged)
Digital Surrpound 5.1 Output (HDMI 2) (unplugged)
Analog Stereo Input
Off

Most of these are useless because they involve an unplugged output.  Half of
the useless ones don't indicate that they involve an unplugged output.  When
an HDMI display is present the only indication that, for example, a good
profile to select is "Digital Stereo Output (HDMI 2) + Analog Stereo Input"
is that the "(unplugged)" is not present on "Digital Stereo Output (HDMI
2)".

It would be better if pavucontrol segregated the currently useless profiles
from the useful ones.  This would make it much easier to see which profile
to select.  An even better setup, if possible, would be to have separate
selections for the input and output parts of the audio device.

I don't think that pavucontrol is the real culprit here as it is just
showing what is provided to it so the fix would have to be elswhere within
pulse audio.
Comment 1 Tanu Kaskinen 2018-01-10 19:28:09 UTC
The problem of not indicating that some profiles are partially unplugged will hopefully be solved soon - I have already made a patch for this, I just need to revise it when I get time.

It would probably be a good idea to hide all unplugged profiles in pavucontrol. It should be pretty easy to implement, but I don't expect to do that myself any time soon, so patches welcome.

A better UI than a simple list of profiles should be possible to do, but it's not as simple as it may first seem. There are some difficult cases where e.g. selecting surround output makes any input impossible. It's not obvious how to present such conflicts in the UI.
Comment 2 Peter F. Patel-Schneider 2018-01-10 19:44:32 UTC
Excellent.  I'm willing to test from source, and do some coding.

Is the source still at git://anongit.freedesktop.org/pulseaudio/pavucontrol?  Are your patches there?

As far as a better UI goes, I think that for a card with both inputs and outputs (which is probably most of them) it would be nice to be able to select the input and the output independently.  If selecting an output requires that the input be turned off then if that output is selected then the input would be deselected.  There are some issues that would have to be ironed out here, including issues with how pulse audio handles headphone/mic jacks, but I think that this general idea would be better than the current one.
Comment 3 Tanu Kaskinen 2018-01-10 20:04:31 UTC
(In reply to Peter F. Patel-Schneider from comment #2)
> Is the source still at git://anongit.freedesktop.org/pulseaudio/pavucontrol?

Yes, that's the right repository.

> Are your patches there?

No, the patch that I mentioned is available here (it's for pulseaudio, not pavucontrol): https://patchwork.freedesktop.org/patch/178102/

> As far as a better UI goes, I think that for a card with both inputs and
> outputs (which is probably most of them) it would be nice to be able to
> select the input and the output independently.  If selecting an output
> requires that the input be turned off then if that output is selected then
> the input would be deselected.  There are some issues that would have to be
> ironed out here, including issues with how pulse audio handles headphone/mic
> jacks, but I think that this general idea would be better than the current
> one.

Just disabling the input when selecting an incompatible output would certainly be one viable way to handle the conflicts.

Note that it's possible to have profiles with multiple sinks and multiple sources, although the default configuration doesn't set up any such profiles. That's an additional source of complexity.
Comment 4 Peter F. Patel-Schneider 2018-01-10 20:34:13 UTC
That patch for pulseaudio looks good.  What's holding it up, or it it already pulled in the development version?

Then having pavucontrol be a bit more agressive about labelling profiles with no outputs would be useful.

I'm having trouble compiling pavucontrol because pkg-config isn't finding packages on my Fedora 27 system.
Comment 5 Tanu Kaskinen 2018-01-10 20:42:57 UTC
(In reply to Peter F. Patel-Schneider from comment #4)
> That patch for pulseaudio looks good.  What's holding it up, or it it
> already pulled in the development version?

As you can see in patchwork, there were improvement ideas from Georg. I never implemented those, because I got distracted by something else.

> I'm having trouble compiling pavucontrol because pkg-config isn't finding
> packages on my Fedora 27 system.

Do you have the -devel packages installed for the dependencies? On Debian you could use "apt-get build-dep pavucontrol" to install all the build dependencies, I don't know if Fedora has something similar.
Comment 6 GitLab Migration User 2018-07-30 09:30:53 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues/39.


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.