On Fri, 2015-10-16 at 09:49 -0500, Pierre-Louis Bossart wrote:
We actively enable and advocate that people with limited knowledge can 'mess around mixer controls'. That's why we have an alsamixer application in the first place, and teach people how to use it.
What you are describing is the traditional approach where the number of controls is limited, a couple of switches here and a set of volume controls there. With new devices having mixers all over the place, be it in codecs or DSPs, it's not uncommon to have several hundred controls. There is no way users will be able to find out on their own what values they should use and it would be misleading to think developers are able to identify all lethal combinations of settings. We've also moved all these control settings from kernel to userspace to avoid hardcoding values that are platform specific. Bottom line we have to move to profiles, stop guessing values based on control names or avoid letting users poke random values in alsamixer. This just doesn't scale any more. thinking that the alsamixer command-line remains the default user-facing interface moving forward is just not right, it's a developer tool.
I believe that you are misunderstanding David's point. Yes, there can be a large number of controls (the Wolfson WM8280 has over 400 controls, some Cirrus Logic codecs have nearly 900). The point was not whether the users should understand the meaning of all these controls but that they should be able to "play around and see what happens" without any risk of bricking their hardware. Regardless of whether what they are doing is meaningful or whether it's really feasible to set hundreds of controls correctly from the command line, they shouldn't damage the hardware. Not even root should have the ability to actually damage the hardware.