On Sun, Apr 08, 2007 at 01:38:34PM +0200, Karl Hammar wrote:
Andrew Burgess <aab(a)cichlid.com>om>:
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