Comment 5 for bug 1201739

Revision history for this message
Bill Kirkpatrick (wkirkpa1) wrote :

Geez... And Grandma really supposed to be able to use Linux on her desktop?

I found this...

http://www.sabi.co.uk/Notes/linuxSoundLatency.html

It is really old (2004) and claims to be incomplete at that. But, it is what fixed the problem...

>>>>>
System: tweaking the PCI latency timers
    PCI devices share the bus, and the “latency timer” for each device determines for how many consecutive cycles the device can use the bus. Devices with a high value for the latency timer can and do cause gaps in sound. Often enough it is video cards that have high default latency timer values, to look better in benchmarks. It is possible to reset the default value of the latency timer with the command:

    setpci -v -s '*:*' latency_timer=20
    setpci -v -s '0:0' latency_timer=0

    which sets it to 32 cycles and resets the latency timer to 0 for the host bridge, usually with id 00:00.0 (to prevent bad performance for DMA). It is possible and perhaps useful to give a larger value to a sound device, for example with one of:

    setpci -v -d '1102:0002' latency_timer=80
    setpci -v -s '00:09.0' latency_timer=80

    where 1102:0002 is the manufacturer and model id of your sound card, or 00:09.0 is the PCI bus id of the same card. It will be different on your system, so use lspci and/or lspci -n to discover them.
    Usually it is better to use the manufacturer and model id instead of the bus id, as moving the card from one slot to another is more common than replacing the a sound card with another in the same slot.
    Note that sometimes setting too low a value for the latency of the video card might make video card operations less visually smooth; setting the latency timer of the host bridge to greater than zero can significantly impact the transfer rate of DMA.
    There is more information on this issue in this general introduction to PCI latency, or this PCI latency HOWTO, and this Linux specific PCI latency article.
<<<<

Yep, Gramps, it's really quite simple, you see. You just get your sound device;s bus id and set latency timers for everything else to some lowish value you pulled right out of your butt. Then you set the sound device to some higher-ish value you also pulled out of your butt. Oh, and don't forget to configure your boot process...

Sorry for the sarcasm, but really guys?