[LAU] Re: Pops and clicks but no xruns

James Stone jamesmstone at gmail.com
Sun Apr 8 12:51:04 EDT 2007


On Sun, Apr 08, 2007 at 01:38:34PM +0200, Karl Hammar wrote:
> Andrew Burgess <aab at cichlid.com>:
> > Paul Davis wrote:
> > >> What could cause clicks without xruns? I'm baffled.
> > >PCI bus hogging, for one thing. consider running a script like this
> ...
> > Here one that works automatically for all multimedia devices:
> > # find multimedia devices
> > pcis=$(lspci -v | grep Multimedia | awk '{ print $1; }')
> > if test -z "$pcis"; then
> >   echo WARNING: no multimedia devices found on pci bus
> > else
> >   for p in $pcis; do
> >     echo set maximum latency timer for $p
> >     setpci -s $p latency_timer=ff
> >   done
> > fi
> 
> It does not work for me:
> 
>   $ lspci  | grep Multi | head -1 | cut -b-75
>   0000:00:05.0 Multimedia audio controller: nVidia Corporation nForce MultiMe
>   $ setpci -s 0000:00:05.0 latency_timer
>   lspci: -s: Invalid slot number
>   $ setpci -s 00:05.0 latency_timer
>   00
> 
> I have to remove the first 0000: from lspci, as in:
> 
>   $ cat /usr/local/sbin/pci.set.audio
>   #!/bin/sh
> 
>   val=${1:-ff}
>   # find multimedia devices
>   pcis=$( lspci -n | grep ' 0401: ' | cut -f1 -d\  | cut -f2- -d: )
>   if test -z "$pcis"; then
>     echo WARNING: no multimedia devices found on pci bus
>   else
>     for p in $pcis; do
>       lspci -s $p
>       echo -en \\tmaximum latency timer:\ 
>       setpci -s $p latency_timer | tr -s ' \n' ' '
>       setpci -s $p latency_timer=$val > /dev/null
>       echo -n '-> '
>       setpci -s $p latency_timer
>     done
>   fi
>   $
>

I am slightly confused. Is it necessary to increase the latency
timer for a pci sound card? This seems slightly
counter-intuitive. Wouldn't this reduce the performance of the
sound system through that card?

The only thing the above script changes on my system is the
latency of the SB Live.

James



More information about the Linux-audio-user mailing list