[alsa-devel] Handling of the DXS controls in the via82xx driver
Soeren D. Schulze
soeren.d.schulze at gmx.de
Sun Mar 28 00:04:23 CET 2010
before my latest upgrade to Linux 2.6.32 (yes, sorry, it's Debian), I
had four levers in my alsamixer: VIA DXS, VIA DXS 1, VIA DXS 2 and VIA
DXS 3. They controlled the hardware mixing when accessing the sound
device multiple times.
Now they have disappeared. I think I can pretty certainly trace this
down to commit 2fb930b53f513cbc4c102d415d2923a8a7091337 to Linux
which "move[s] DXS volume controls to PCM interface".
As I'm not an ALSA developer, I don't realize the intended effect of
this change, but the actual effect is that I cannot change the DXS
volumes any more. mplayer still controls the global PCM volume. Well,
in fact, there is one way. While an mplayer is running, I can do:
amixer cset numid=47,iface=PCM,name='PCM Playback Volume' 24,24
When restarting mplayer, the volume is reset to 31,31 (maximum). Commit
seems to be responsible for this.
The bad thing about it is that 31,31 is a really bad setting for my
poorly engineered sound card. It distorts a lot.
I suspect that the real *bug* is that mplayer does not use the
per-channel DXS controls even though it's supposed to (which seems to be
why the DXS controls are called "PCM Playback Volume").
Personally, rather than fixing this bug, I would just revert to the
former state. I was always happy with all the DXS levers set to 75%.
More information about the Alsa-devel