At Sat, 10 Mar 2007 00:50:55 -0300,
Henrique de Moraes Holschuh wrote:
>
> On Fri, 09 Mar 2007, Takashi Iwai wrote:
> > > On Wed, 07 Mar 2007, Tobin Davis wrote:
> > > > Another question comes to mind. Why would the volume need to be
> > > > controlled if there is no sound driver to generate sound? I'm trying
> > > > to understand the usage model here for that aspect.
> > >
> > > Because the firmware will happly beep away, and you may want to control the
> > > volume of those beeps. And it also controls the volume of the PC buzzer
> > > (the BIOS makes sure whatever sound hardware is in the machine lets that one
> > > through by default).
> >
> > OTOH, from the usability POV, it's really annoying to have two
> > individual "devices" for the very same output. That's why I'm in
> > favor of either built-in-sound-driver or add-on style.
>
> Well, I have five choices:
>
> 1. No Linux support to change the thinkpad mixer at all unless the soundcard
> drivers are loaded;
>
> 2. ThinkPad mixer support always available as a separate, mixer-only card;
>
> 3. ThinkPad mixer support available as a separate mixer-only card AND in the
> real soundcard driver;
>
> 4. ThinkPad mixer support available as a separate mixer-only card while the
> real soundcard driver is not loaded, and *only* in the real soundcard driver
> after it is loaded;
>
> 5. ThinkPad mixer support available in the real soundcard driver, and as a
> bunch of non-generic attributes on sysfs.
>
> > And, if you'll ALSA API for controlling volumes, it assumes that any
> > sound system is running. So, it appears logical to me that the
>
> It seems to work just fine with the soundsystem running with a card that
> only has a single monoaural volume control, and nothing else.
>
> > beep-control driver also belongs to a sound driver.
>
> Does ALSA have an interface that is sane for a hardware/firmware synthesizer
> with a fixed set of tones? The MIDI sequencer doesn't count, it is unusable
> for scripts. Otherwise, I will keep the non-generic ibm-acpi interface (a
> sysfs attribute where you write the ID of the pattern you want it to beep).
>
> > Anyway, if you'd like a stand-alone implementation, we can introduce a
> > Kconfig, too. But, note that one merit to use the add-on style
> > (referring to the exported symbol of snd-intel8x0 driver) is that this
> > dependency will resolve the module loading order, too.
>
> We still need to handle hotplug anyway, as modules can be removed and
> readded.
The problem I state here is only the usability. The implementation is
no matter at all. When you look at KDE/GNOME, you'll find that the
mixer applets really suck if you have multiple devices. It's
especially confusing if the outputs from two different devices are
identical...
Takashi
|