Skip site navigation (1)Skip section navigation (2)
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>