Fedora 11 nerfed my mixer

Lennart Poettering mzerqung at 0pointer.de
Thu Apr 23 15:31:31 UTC 2009


On Thu, 23.04.09 08:41, David Woodhouse (dwmw2 at infradead.org) wrote:

> 
> On Thu, 2009-04-23 at 11:50 +0530, Rahul Sundaram wrote:
> > On 04/23/2009 07:09 AM, Orcan Ogetbil wrote:
> > > On Wed, Apr 22, 2009 at 8:38 PM, Will Woods  wrote:
> > >> On Wed, 2009-04-22 at 19:18 -0400, Orcan Ogetbil wrote:
> > >>
> > >>> What do you mean? Having full control of your soundcard with all the
> > >>> sliders and stuff is useless?
> > >>> Not displaying everything 1-1 and hiding sliders is an improvement?
> > >> Holy hell yes:
> > >> http://people.redhat.com/alexl/files/why-alsa-sucks.png
> > >>
> > > 
> > > Wow that's great. I wish my soundcard (Audigy4) had that many
> > > controls. It's only about half of it.
> > 
> > Thank $deity. Very few people really want to fiddle with that many
> > controls. That UI is clearly not a sane one.
> 
> Probably true -- and there's a very good case for simplifying it by
> _default_.
> 
> But just breaking certain features, including "play audio through line
> in", or "set the speaker volumes as the user wants them" is really not
> the way to do it.

Still I think that playing audio through line-in a pretty exotic
feature. If you want to do weird stuff like this, go to the ALSA
mixer. It's not that PA takes that away from you. You can always
bypass PA if you really feel that you need 555 different controls.

> I can't play DVDs through my TV from my laptop at the moment either --
> the only way I could get sufficient volume before was to plug in some
> external speakers (which automatically turns off the internal speakers)
> and then use gnome-volume-control to turn the internal speakers back
> _on_ again. I can't do that any more.

You can, just bypass PA.

If you want to do weird stuff, use weird tools. Don't expect us to
support all the exotic use cases minds could come up with to support
in a single simple UI.

> The proposals I've seen to work around PulseAudio's problems have been
> ridiculous -- running audio over the network using PulseAudio,
> introducing a bunch of latency which wouldn't otherwise be there, was a
> stupid suggestion even if the other box wasn't running Windows. The
> hardware has a line-in socket for a reason -- are we just going to
> advise Fedora users to tape over it and pretend it isn't there?

The point of line-in is that you can record from it.

Doing line-in/mic feedback to line-out is something I deliberetaly don't
plan to support in PA. A sound card is not an amp.

> And the response to Stephen's need to control bass and treble speakers
> individually was stupid too -- you _don't_ want to just tie them
> together. Depending on what he's playing, he might need to adjust the
> relative volume of bass vs. treble. That's not an unreasonable
> desire.

That was no response. That's what Stephen suggested himself (I
assume are referring to 496981).

A laptop with integrated bass speakers is certainly not the type of
machine I have on my list as the most common piece of
hardware. Actaully I still cannot believe that such a thing exists.

What complicates the matter is that we cannot properly deduce if some
weird system has bass speakers connected to "Master mono" or not. It
could be something completely different. tbh I have not the slightest
clue how this should be exposed.

> It's not good enough to just say "No. I know your hardware can do that
> really well and it used to work, but we have decreed that your use case
> isn't important so you're not allowed to do it that way any more".
> 
> That just sucks.

I mean, you guys complain over over-simplification. Now you are
over-simplifying this entire story. Just because PA hides many exotic
'features' it doesn't mean you cannot access them. You can always
bypass PA and get the complex ALSA mixer. Try 'alsamixer -c0'

This whole thread is so pointless. The same people just keep repeating
the same issues over and over.

Let me summarize this:

1) PA doesn't support switching of different inputs (i.e. Mic
vs. Line-In) and outputs (Headphones vs internal Speakers) of a sound
card. There are two bugs filed about this. Yes, we need to support
this in PA, and we will. But it is a major PITA. ALSA has no usable
API for enumerating inputs and outputs. While the ALSA folks
acknoweledge that this is broken in ALSA this is not going to be fixed
anytime soon on their side. Now, I agree that this is actually a
bigger problem. So for F12 I will hack up input/output enumeration
that makes the best of the situation and that will hopefully work for
many cases, but most likely not all of them. This won't happen for
F11. Until then, do as the release notes suggest and drop to a tool
like alsamixer. In most cases the default mixer initialization
database of alsa should set up the right thing for you anyway and not
make this necessary. In many cases it doesn't, some of them because
there is no 'right thing', in others because the db is
incomplete. Thing is, without patches to the db this won't get fixed.

The main reason why this issue actually has become a problem recently
is that modern cards don't do the jack switching in hw anymore but leave
that for the software and provide jack sesning. Jack sensing is now
supported for two chips or so in ALSA but there is no code that would
actually make use of the jack sensing interfaces. PA should of course
make use of it. Unfortunately none of the sound cards I posess
currently is supported by ALSA jack sensing, so I cannot really work
on js right now.

2) People are not aware that pavucontrol allows you to switch between
several profiles during runtime. A profile is 'analog stereo',
'analog 5.1', 'digital spdif' and so on. Unfortunately this is not
exposed in g-v-c. I am pretty sure it will in F12. Install pavucontrol
and you can even switch these profiles during playback without having
your music stop in F11 already. It's actually pretty hot.

3) People want to do exotic things like (mis-)using their sound cards
as analog mixer for multiple analog sources. Or for driving internal
and external speakers from the same sound card at the same time. I
think this doesn't make much sense and won't support it in PA. If you
want to use it, drop to the raw alsa mixer.

4) People want 568 different elements in the mixer. They probably
should go visit a doctor, or just bypass PA by using a tool like
alsamixer. No chance in the world I will ever support this in PA.

5) People want PA to use a different mixer control than 'Master'. I
don't think this is a good thing to do. There is a workaround for this
as mentioned, but this is one of the most basic things a driver should
get right. Hence, fix it in the driver. I am not planning to support
this beyond allowing you to edit some config files to set this up.

6) There are some exotic pieces of hw around. Like that monster laptop
with integrated bass speakers connected to 'Master Mono'. Not sure how
we should support this at all and if we even could identify these
cases. Given how rare these devices are, this is not a top-priority to
fix for me, but I have it on my list. In the meantime, drop to the raw
alsa mixer please.

7) There are default mixer initialization problems. alsa-utils now
ships with a database of 'sensible' default mixer initialization
settings, i.e. settings where playback PCM is routed at a 'reasonable'
level to the outputs, and input PCM from the mic. That db is not
complete. Some HDa cards have weird switches that need to be set
correctly for any output happen at all. That db is the right place to
do that. So don't complain that PA doesn't expose tht switch! Instead,
just add the correct setting to the db.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4




More information about the fedora-devel-list mailing list