'Twas brillig, and Clemens Ladisch at 27/05/10 14:48 did gyre and gimble:
Colin Guthrie wrote:
state.Intel { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -4650 comment.dbmax 0 iface MIXER name 'Master Playback Volume' value.0 30 value.1 30 }
This is the hardware volume control.
control.11 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 255' comment.tlv '0000000100000008ffffec1400000014' comment.dbmin -5100 comment.dbmax 0 iface MIXER name 'PCM Playback Volume' value.0 253 value.1 253 }
This is the emulated software volume control that is created by the softvol plugin. This control gets recreated by "alsactl restore" even when the plugin is not running.
Might it be possible that PA is trying to use this, but that it doesn't have any effect because PA is using PCM device hw:0? (Try unloading snd-hda-intel and then deleting that entry from /etc/asound.state.)
PA should play nice with the softvol plugin so I don't think this is the bit that is at fault.
I strongly suspect that the reason has already been correctly identified a while ago, which is that this card considers -48dB silent where as PA assumes this level is -200dB. I believe it was Raymond who pointed out the -48dB level in the HDA spec before on this list.
I'm not sure of the internals, but things do indeed go silent when the volume reaches the magic -48dB mark (which is around the 14% mark with the current cubic mapping).
I suspect that if I were to define infinity to be 48.0 in PA, everything would work nicely.
What I think is then ultimately needed is a way to ensure that everyone sings from the same hymn sheet regarding the real world value of -inf dB.
I was hoping Lennart would have commented on this thread by now, so I'll try and prod him to get some proper input as I'm very much flailing around wildly in the dark!
Col