[audio/pulseaudio] no sound after update from 0.9.23 to 5.0

Rainer Hurling rhurlin at gwdg.de
Sun Nov 23 20:33:48 UTC 2014


Am 22.11.2014 um 09:51 schrieb Rainer Hurling:
> Together with the big gnome3 update also audio/pulseaudio was updated.
> Unfortunately, after that update, I have no sound anymore. Before, with
> PulseAudio 0.9.23, sound was excellent.
> 
> Because I am using an ASUS mainboard 'M4A88TD-V EVO-USB3' and a NVIDIA
> GeForce GTX 750Ti with a recent HEAD (amd64), my sound devices are like
> this:
> 
> #cat /dev/sndstat
> FreeBSD Audio Driver (64bit 2009061500/amd64)
> Installed devices:
> pcm0: <NVIDIA (0x0060) (HDMI/DP 8ch)> on hdaa0 kld snd_hda (1p:1v/0r:0v)
> pcm1: <NVIDIA (0x0060) (HDMI/DP 8ch)> on hdaa0 kld snd_hda (1p:6v/0r:0v)
> pcm2: <NVIDIA (0x0060) (HDMI/DP 8ch)> on hdaa0 kld snd_hda (1p:1v/0r:0v)
> pcm3: <Realtek ALC892 (Analog 7.1+HP/2.0)> on hdaa1 kld snd_hda
> (1p:6v/1r:2v) default
> pcm4: <Realtek ALC892 (Rear Digital)> on hdaa1 kld snd_hda (1p:1v/0r:0v)
> pcm5: <Realtek ALC892 (Onboard Digital)> on hdaa1 kld snd_hda (1p:1v/0r:0v)
> pcm6: <Realtek ALC892 (Front Analog Mic)> on hdaa1 kld snd_hda (0p:0v/1r:1v)
> 
> Because my surround sound system is found on pcm3, I have to change the
> default device to /dev/dsp3 for a 5.1 system. I successfully use these
> settings for years now:
> 
> # /etc/sysctl.conf:
> hw.snd.compat_linux_mmap=1
> hw.snd.default_unit=3
> hw.snd.verbose=1
> dev.pcm.3.play.vchanformat=s16le:5.1
> dev.pcm.3.play.vchans=6
> dev.pcm.3.eq_preamp=+4
> hw.snd.latency=10
> 
> # /boot/device.hints:
> # Change 'black' und 'grey'
> # green:  front      nid 20 as 1 seq 0
> # black:  rear       nid 21 as 1 seq 2
> # orange: subwoofer  nid 22 as 1 seq 1
> # grey:   sides      nid 23 as 1 seq 4
> hint.hdac.1.cad0.nid21.config="as=1 seq=4 device=Line-Out color=Grey"
> hint.hdac.1.cad0.nid23.config="as=1 seq=2 device=Line-Out color=Black"
> hint.hdac.1.cad0.nid27.config="as=1 seq=15 device=Headphones color=Green"
> hint.pcm.3.vol=80
> hint.pcm.3.eq=1
> hint.pcm.3.vpc=1
> 
> 
> The four main PulseAudio configuration files at /usr/local/etc/pulse are
> changed as following:
> 
> diff daemon.conf.sample daemon.conf
> 79c79
> < ; default-sample-channels = 2
> ---
>> default-sample-channels = 6
> 80a81
>> default-channel-map =
> front-left,front-center,front-right,rear-right,rear-left,lfe
> 82c83
> < ; default-fragments = 4
> ---
>> default-fragments = 8
> 
> 
> #diff default.pa.sample default.pa
> 47c47
> < #load-module module-oss device="/dev/dsp" sink_name=output
> source_name=input
> ---
>> load-module module-oss device="/dev/dsp3" sink_name=output
> source_name=input
> 61c61
> < load-module module-jackdbus-detect channels=2
> ---
>> load-module module-jackdbus-detect channels=6
> 
> 
> #diff client.conf.sample client.conf
> 22,23c22,23
> < ; default-sink =
> < ; default-source =
> ---
>> default-sink = output
>> default-source = input
> 27c27
> < ; autospawn = yes
> ---
>> autospawn = no
> 31c31
> < ; cookie-file =
> ---
>> cookie-file = .config/pulse/cookie
> 
> 
> #diff system.pa.sample system.pa
> 52c52
> < load-module module-suspend-on-idle
> ---
>> #load-module module-suspend-on-idle
> 
> 
> When I try to start PulseAudio, it breaks like that:
> 
> # pulseaudio --start
> W: [(null)] caps.c: Normally all extra capabilites would be dropped now,
> but that's impossible because PulseAudio was build without capabilities
> support.
> E: [(null)] main.c: Start des Daemons fehlgeschlagen.
> 
> # pulseaudio
> W: [(null)] caps.c: Normally all extra capabilities would be dropped
> now, but that's impossible because PulseAudio was built without
> capabilities support.
> W: [(null)] pid.c: Stale PID file, overwriting.
> W: [(null)] module-oss.c: mmap(PROT_READ) failed, reverting to non-mmap
> mode: Invalid argument
> W: [(null)] oss-util.c: '/dev/dsp0' doesn't support full duplex
> W: [(null)] module-oss.c: mmap(PROT_WRITE) failed, reverting to non-mmap
> mode: Invalid argument
> W: [(null)] oss-util.c: '/dev/dsp1' doesn't support full duplex
> W: [(null)] module-oss.c: mmap(PROT_WRITE) failed, reverting to non-mmap
> mode: Invalid argument
> W: [(null)] oss-util.c: '/dev/dsp1' doesn't support full duplex
> W: [(null)] module-oss.c: mmap(PROT_WRITE) failed, reverting to non-mmap
> mode: Invalid argument
> W: [(null)] oss-util.c: '/dev/dsp6' doesn't support full duplex
> W: [(null)] module-oss.c: mmap(PROT_READ) failed, reverting to non-mmap
> mode: Invalid argument
> E: [oss] module-oss.c: pa_read() failed: Resource temporarily unavailable
> E: [(null)] source.c: Assertion 'source_set_state(s, PA_SOURCE_IDLE) ==
> 0' failed at pulsecore/source.c:612, function void
> pa_source_put(pa_source *)(). Aborting.
> Abbruch
> 
> 
> A more detailed report, generated by 'pulseaudio --log-level=4 -vvvv',
> is attached as a file. In this log, there is a hint about a key problem.
> I have no idea, if this is of any importance in this context:
> 
> [..snip..]
> D: [(null)] module-device-restore.c: Database contains invalid data for
> key: source:output.monitor (probably pre-v1.0 data)
> D: [(null)] module-device-restore.c: Attempting to load legacy
> (pre-v1.0) data for key: source:output.monitor
> D: [(null)] module-device-restore.c: Size does not match.
> D: [(null)] module-device-restore.c: Unable to load legacy (pre-v1.0)
> data for key: source:output.monitor. Ignoring.
> D: [(null)] module-device-restore.c: Database contains invalid data for
> key: source:output.monitor:null
> [..snip..]
> 
> 
> I hope, there is some knowledge on the list to overcome these problems
> with PulseAudio. As I said, before the update it works like a charm for
> years on my boxes.
> 
> Any help is really appreciated. An please let me know, if I should
> provide more information. Thanks in advance.

By trial and error I found, that PulseAudio only stops with an error,
when 'default-sample-channels' in /usr/local/etc/pulse/daemon.conf is
changed:

default-sample-channels = 2  # works
default-sample-channels = 6  # crashes


With more than 2 channels it breaks with this message:

E: [oss] module-oss.c: pa_read() failed: Resource temporarily unavailable
E: [(null)] source.c: Assertion 'source_set_state(s, PA_SOURCE_IDLE) ==
0' failed at pulsecore/source.c:612, function void
pa_source_put(pa_source *)(). Aborting.


I assume, this is not intended? At least, in 0.9.23 it works.

> 
> Greetings,
> Rainer Hurling



More information about the freebsd-ports mailing list