You are not logged in.

#1 2014-08-15 16:10:32

Faeris
Member
Registered: 2014-08-15
Posts: 20

[SOLVED] '(snd_pcm_recover) underrun occurred'

Hi,
First, sorry for my english, I'm French. tongue

When I try to launch a game using Wine and Primus (with primusrun), I get a very very bad sound and many errors in the terminal (every 200ms) like this :

ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred

The sound doesn't really bother me, however the CPU is a little overloaded (60 % instead of 25% normally) because of that.
I've already tried many things like that :

I've seen "pasuspender -- performous" and try this, I got many errors and the sound was KO. (But no longer errors... lol)
(When i launch performous, i have the same error, so I conclude that Wine and Primus are not responsible for this.)

I've tried to add 'tsched=0' in the /etc/pulse/default.pa file at the line : "load module module-udev-detect"
I've tried this : http://tux-is-gaming.blogspot.fr/2014/0 … cover.html
But I think pulseaudio doesn't start because i have no longer sound and VLC says that it can not load the default sound card.

What should I do ?
Thank's.
Faeris

Last edited by Faeris (2014-08-16 03:47:58)

Offline

#2 2014-08-15 17:07:45

affenkaraffe
Member
Registered: 2009-05-19
Posts: 5

Re: [SOLVED] '(snd_pcm_recover) underrun occurred'

You can try

aconnect -x 

before starting pulseaudio. This disconnects programs directly connected to ALSA, blocking pulseaudio.

Offline

#3 2014-08-15 19:25:00

Faeris
Member
Registered: 2014-08-15
Posts: 20

Re: [SOLVED] '(snd_pcm_recover) underrun occurred'

I don't understand what you mean ? Pulseaudio start automatically with the system ?

Offline

#4 2014-08-15 23:31:00

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [SOLVED] '(snd_pcm_recover) underrun occurred'

Pulseaudio has settings similar to alsas buffer_size, increase those.

Refrain from using outside guides without understanding what you are actually doing, you probably should default your configuration for pulseaudio first, before attempting anything else.

@affenkaraffe What would the alsa sequencer connection manager have to do with this issue?

Offline

#5 2014-08-16 00:42:14

Faeris
Member
Registered: 2014-08-15
Posts: 20

Re: [SOLVED] '(snd_pcm_recover) underrun occurred'

Thank's for your answer !

I'm not sure what I should do, I verify the default settings with your link and it looks normal.

I have this in the terminal :

I: [pulseaudio] sink.c:     alsa.driver_name = "snd_hda_intel"
I: [pulseaudio] sink.c:     device.bus_path = "pci-0000:00:03.0"
I: [pulseaudio] sink.c:     sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
I: [pulseaudio] sink.c:     device.bus = "pci"
I: [pulseaudio] sink.c:     device.vendor.id = "8086"
I: [pulseaudio] sink.c:     device.vendor.name = "Intel Corporation"
I: [pulseaudio] sink.c:     device.product.id = "0c0c"
I: [pulseaudio] sink.c:     device.product.name = "Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller"
I: [pulseaudio] sink.c:     device.form_factor = "internal"
I: [pulseaudio] sink.c:     device.string = "hdmi:0"
I: [pulseaudio] sink.c:     device.buffering.buffer_size = "17664"
I: [pulseaudio] sink.c:     device.buffering.fragment_size = "2944"
--
I: [pulseaudio] sink.c:     alsa.driver_name = "snd_hda_intel"
I: [pulseaudio] sink.c:     device.bus_path = "pci-0000:00:1b.0"
I: [pulseaudio] sink.c:     sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
I: [pulseaudio] sink.c:     device.bus = "pci"
I: [pulseaudio] sink.c:     device.vendor.id = "8086"
I: [pulseaudio] sink.c:     device.vendor.name = "Intel Corporation"
I: [pulseaudio] sink.c:     device.product.id = "8c20"
I: [pulseaudio] sink.c:     device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
I: [pulseaudio] sink.c:     device.form_factor = "internal"
I: [pulseaudio] sink.c:     device.string = "front:1"
I: [pulseaudio] sink.c:     device.buffering.buffer_size = "17632"
I: [pulseaudio] sink.c:     device.buffering.fragment_size = "4408"
--
I: [pulseaudio] source.c:     alsa.driver_name = "snd_hda_intel"
I: [pulseaudio] source.c:     device.bus_path = "pci-0000:00:1b.0"
I: [pulseaudio] source.c:     sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
I: [pulseaudio] source.c:     device.bus = "pci"
I: [pulseaudio] source.c:     device.vendor.id = "8086"
I: [pulseaudio] source.c:     device.vendor.name = "Intel Corporation"
I: [pulseaudio] source.c:     device.product.id = "8c20"
I: [pulseaudio] source.c:     device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
I: [pulseaudio] source.c:     device.form_factor = "internal"
I: [pulseaudio] source.c:     device.string = "front:1"
I: [pulseaudio] source.c:     device.buffering.buffer_size = "17632"
I: [pulseaudio] source.c:     device.buffering.fragment_size = "4408"

And this (/etc/pulse/daemon.conf) :

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.

## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no

; high-priority = yes
; nice-level = -11

; realtime-scheduling = yes
; realtime-priority = 5

exit-idle-time=0
; exit-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa

; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0

; resample-method = speex-float-1
; enable-remixing = yes
; enable-lfe-remixing = no

flat-volumes = no

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 1000000

; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right

; default-fragments = 4
; default-fragment-size-msec = 25

; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0

How can I increase the buffer size ?

Last edited by Faeris (2014-08-16 00:42:38)

Offline

#6 2014-08-16 03:12:43

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [SOLVED] '(snd_pcm_recover) underrun occurred'

Did you miss the link I posted? It looks like a step by step guide to me. Strip the configuration out of comments with `egrep -v '^#|^;' configuration-file`.

Offline

#7 2014-08-16 03:35:00

Faeris
Member
Registered: 2014-08-15
Posts: 20

Re: [SOLVED] '(snd_pcm_recover) underrun occurred'

Okkk i didn't understand. So,

default-fragments = 5
default-fragment-size-msec = 2

Solve my problem !!
Thank you very much !

Offline

#8 2014-08-16 03:44:43

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [SOLVED] '(snd_pcm_recover) underrun occurred'

You are welcome, please mark this thread as solved.

Offline

Board footer

Powered by FluxBB