[pulseaudio-discuss] Volume control with hda_intel

Steve Greenland steveg at moregruel.net
Thu Mar 27 15:12:32 PDT 2008


On 27-Mar-08, 16:51 (CDT), Lennart Poettering <lennart at poettering.net> wrote: 
> On Thu, 27.03.08 16:36, Steve Greenland (steveg at moregruel.net) wrote:
> > And now the weird bit: pavucontrol lists the output device as
> > 
> >    ALSA PCM on hw:0 (ALC662 Analog) via DMA
> > 
> > and moving the slider does affect the volume, but it doesn't show in
> > the alsamixer MASTER control, or on any other control. OTOH, the Input
> > Device sliders *do* modulate the "CAPTURE" control.
> 
> PA probably refused to use your volume control due to some
> reason. Please paste what "pulseaudio -vv" has to say about the volume
> slider.

Actually, it is using *some* volume control, just not one that shows up
in alsamixer. Anyway, here's the output:

# pulseaudio -vv --system
I: core-util.c: Successfully gained nice level -11.
I: main.c: Found user 'pulse' (UID 104) and group 'pulse' (GID 108).
I: main.c: Successfully dropped root privileges.
W: pid.c: Stale PID file, overwriting.
W: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
W: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
I: main.c: Page size is 4096 bytes
I: main.c: Fresh high-resolution timers available! Bon appetit!
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9/modules//module-hal-detect.so': failure
I: module-alsa-sink.c: Successfully opened device hw:0.
I: module-alsa-sink.c: Successfully enabled mmap() mode.
I: alsa-util.c: Successfully attached to mixer 'hw:0'
I: alsa-util.c: Using mixer control "Master".
I: sink.c: Created sink 0 "alsa_output.hw_0" with sample spec "s16le 2ch 44100Hz"
I: source.c: Created source 0 "alsa_output.hw_0.monitor" with sample spec "s16le 2ch 44100Hz"
I: module-alsa-sink.c: Using 4 fragments of size 4352 bytes.
I: alsa-util.c: ALSA device lacks independant volume controls for each channel, falling back to software volume control.
D: module-alsa-sink.c: Thread starting up
D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+29
I: module-alsa-sink.c: Starting playback.
I: module.c: Loaded "module-alsa-sink" (index: #0; argument: "device=hw:0").
I: module-alsa-source.c: Successfully opened device hw:0.
I: module-alsa-source.c: Successfully enabled mmap() mode.
I: alsa-util.c: Successfully attached to mixer 'hw:0'
I: alsa-util.c: Using mixer control "Capture".
I: source.c: Created source 1 "alsa_input.hw_0" with sample spec "s16le 2ch 44100Hz"
I: module-alsa-source.c: Using 4 fragments of size 4352 bytes.
I: alsa-util.c: All 2 channels can be mapped to mixer channels. Using hardware volume control.
D: module-alsa-source.c: Thread starting up
D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+28
I: module.c: Loaded "module-alsa-source" (index: #1; argument: "device=hw:0").
I: module-detect.c: loaded 2 modules.
I: module.c: Loaded "module-detect" (index: #2; argument: "").
I: protocol-native.c: Allowing access to group 'pulse-access'.
I: protocol-native.c: loading cookie from disk.
I: module.c: Loaded "module-native-protocol-unix" (index: #3; argument: "").
I: protocol-native.c: Allowing access to group 'pulse-access'.
I: protocol-native.c: using already loaded auth cookie.
I: protocol-native.c: Allowing access to group 'pulse-access'.
I: protocol-native.c: using already loaded auth cookie.
I: module.c: Loaded "module-native-protocol-tcp" (index: #4; argument: "auth-anonymous=1").
I: module.c: Loaded "module-volume-restore" (index: #5; argument: "").
I: module.c: Loaded "module-default-device-restore" (index: #6; argument: "").
I: module.c: Loaded "module-rescue-streams" (index: #7; argument: "").
D: module-suspend-on-idle.c: Sink alsa_output.hw_0 becomes idle.
D: module-suspend-on-idle.c: Source alsa_output.hw_0.monitor becomes idle.
D: module-suspend-on-idle.c: Source alsa_input.hw_0 becomes idle.
I: module.c: Loaded "module-suspend-on-idle" (index: #8; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9/modules//module-x11-publish.so': failure
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9/modules//module-gconf.so': failure
I: main.c: Daemon startup complete.
I: module.c: Unloading "module-detect" (index: #2).
I: module.c: Unloaded "module-detect" (index: #2).
I: module-suspend-on-idle.c: Source alsa_input.hw_0 idle for too long, suspending ...
I: module-alsa-source.c: Device suspended...
I: module-suspend-on-idle.c: Source alsa_output.hw_0.monitor idle for too long, suspending ...
I: module-suspend-on-idle.c: Sink alsa_output.hw_0 idle for too long, suspending ...
I: module-alsa-sink.c: Device suspended...


It looks like the three key lines are:

I: alsa-util.c: Successfully attached to mixer 'hw:0'
I: alsa-util.c: Using mixer control "Master".
[*snip*]
I: alsa-util.c: ALSA device lacks independant volume controls for each channel, falling back to software volume control.


So PA is doing the volume in software, which is why the changes work,
but aren't't reflected in the hardware mixer. BTW, alsamixer agrees that
the MASTER can't manipulate the channels independently. FRONT can, but...

Thanks,
Steve

-- 
Steve Greenland
    The irony is that Bill Gates claims to be making a stable operating
    system and Linus Torvalds claims to be trying to take over the
    world.       -- seen on the net



More information about the pulseaudio-discuss mailing list