Date: Wed, 31 Dec 2014 12:22:16 +0100 From: Rainer Hurling <rhurlin@gwdg.de> To: <freebsd-ports@freebsd.org> Subject: [SOLVED] Re: [audio/pulseaudio] no sound after update from 0.9.23 to 5.0 Message-ID: <54A3DC68.7060101@gwdg.de> In-Reply-To: <5472449D.6040208@gwdg.de> References: <54704E93.6090706@gwdg.de> <5472449D.6040208@gwdg.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 23.11.2014 um 21:33 schrieb Rainer Hurling: > 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. [Just for the record] After seeking for weeks to find the reason of the described problem above, it seems I finally found it :) The main problem was, that I was not able to use 'module-oss' with 6 channels (5.1). PulseAudio crashes. After commenting out 'load-module module-detect' in default.conf, 'load-module module-oss device="/dev/dsp" sink_name=output source_name=input' works as aspected, even with 6 channels and channel remixing. Happy New Year!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54A3DC68.7060101>