[PlanetCCRMA] FC7+CCRMA+Toshiba_Laptop xruns problem

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Tue Sep 18 11:59:01 2007


On Tue, 2007-09-18 at 11:04 +0200, Patrick Ladam wrote:
> Hi all,
> Two weeks now I try turning my laptop into the next sound studio on earth...no 
> way.
> Here is the story:
> Laptop Toshiba Satellite A100-768. Sound card hda-intel, ALC861 (not the best, 
> I know...).

Hmmm, hda-intel... try to start jack with 3 periods or more, 2 usually
does not cut it with those cards. The size of the buffer itself can be
shorter, the critical things is number of periods. 

-- Fernando


> Uname -a gives:
> 2.6.22.6-1.rt9.3.fc7.ccrmart #1 SMP PREEMPT RT Tue Sep 4 18:53:14 EDT 2007 
> i686 i686 i386 GNU/Linux
> - Freshly installed Fedora 7 + CCRMA (core+a few softs). Installations went 
> smoothly, got the rt-kernel up with RTIRQ showing up at boot.
> 
> - Best performances I could get out of Jackd were:
> In Qjackctl setup window, latency is 92,9 msec. What I get in the Qjackctl 
> messages window is a lot of xruns (thought they seem of a good value to me, 
> around 0.05 ms):
> ----------------------------------------------------------------------------
> 10:24:15.197 jackd -R -P89 -p128 -dalsa -dhw:0 -r44100 -p2048 -n2
> 10:24:15.198 JACK was started with PID=3584 (0xe00).
> jackd 0.103.0
> Copyright 2001-2005 Paul Davis and others.
> jackd comes with ABSOLUTELY NO WARRANTY
> This is free software, and you are welcome to redistribute it
> under certain conditions; see the file COPYING for details
> JACK compiled with System V SHM support.
> loading driver ..
> SSE2 detected
> apparent rate = 44100
> creating alsa driver ... hw:0|hw:0|2048|2|44100|0|0|nomon|swmeter|-|32bit
> control device hw:0
> configuring for 44100Hz, period = 2048 frames, buffer = 2 periods
> ALSA: final selected sample format for capture: 16bit little-endian
> ALSA: use 2 periods for capture
> ALSA: final selected sample format for playback: 32bit little-endian
> ALSA: use 2 periods for playback
> **** alsa_pcm: xrun of at least 0.044 msecs
> **** alsa_pcm: xrun of at least 0.055 msecs
> 10:24:17.325 Server configuration saved to "/home/pl/.jackdrc".
> 10:24:17.326 Statistics reset.
> 10:24:17.615 Client activated.
> 10:24:17.616 Audio connection change.
> 10:24:17.620 Audio connection graph change.
> JACK tmpdir identified as [/dev/shm]
> SSE2 detected
> **** alsa_pcm: xrun of at least 0.051 msecs
> 10:24:17.697 XRUN callback (1).
> **** alsa_pcm: xrun of at least 0.043 msecs
> **** alsa_pcm: xrun of at least 0.043 msecs
> **** alsa_pcm: xrun of at least 0.044 msecs
> **** alsa_pcm: xrun of at least 0.023 msecs
> **** alsa_pcm: xrun of at least 0.041 msecs
> 10:24:19.626 XRUN callback (5 skipped).
> **** alsa_pcm: xrun of at least 0.042 msecs
> **** alsa_pcm: xrun of at least 0.044 msecs
> ----------------------------------------------------------------------------
> 
> - If I run hydrogen 0.9.3-1 with jackd as audio pilote, xruns are really 
> terrible (lot of interrupts). 
> - If I run hydrogen with Alsa as audio pilote, it is almost OK but still I 
> have xruns with the following message:
> [ERROR]     AlsaAudioDriver     [alsaAudioDriver_processCaller] XRUN
> [ERROR]     AlsaAudioDriver     [alsaAudioDriver_processCaller] XRUN
> xruns with alsa doesn't sound good huuu?
> 
> - Here is my /proc/interrupts:
>            CPU0       CPU1
>   0:     813538         23   IO-APIC-edge      timer
>   1:       5156          0   IO-APIC-edge      i8042
>   8:          0          0   IO-APIC-edge      rtc0
>   9:       1104          2   IO-APIC-fasteoi   acpi
>  12:       4956          0   IO-APIC-edge      i8042
>  14:      38786          0   IO-APIC-edge      libata
>  15:       7640          0   IO-APIC-edge      libata
>  16:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
>  17:          1          0   IO-APIC-fasteoi   ohci1394
>  18:      30160          0   IO-APIC-fasteoi   yenta, uhci_hcd:usb3, 
> sdhci:slot0, tifm_7xx1
>  19:          2          0   IO-APIC-fasteoi   uhci_hcd:usb1, ehci_hcd:usb5
>  20:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
>  21:         74      28744   IO-APIC-fasteoi   eth0
>  22:      17838          2   IO-APIC-fasteoi   HDA Intel
> NMI:          0          0
> LOC:     370628     747136
> ERR:          0
> MIS:          0
> 
> - I tried to improve things playing on latency_timer (which is 0!!) for my 
> sound card with chrt but bus 00:* seems locked, I can't change the 
> latency_timer value while chrt works on other buses (01:* and others).  The 
> Bios I have does not allow to change PCI buses...
> lspci -v gives:
> 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition 
> Audio Controller (rev 02)
>         Subsystem: Toshiba America Info Systems Unknown device ff10
>         Flags: bus master, fast devsel, latency 0, IRQ 22
>         Memory at dc400000 (64-bit, non-prefetchable) [size=16K]
>         Capabilities: [50] Power Management version 2
>         Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ 
> Queue=0/0 Enable-
>         Capabilities: [70] Express Unknown type IRQ 0
>         Capabilities: [100] Virtual Channel
>         Capabilities: [130] Unknown (5)
> 
> I tried the LD_ASSUME_KERNEL=2.4.22 workaround thought I am not sure it is 
> still necessary for kernel 2.6.22, but anyway it did not work (libraries were 
> not found anymore and simple commands did not work).
> To sum up, I suspect I have a problem with alsa first plus some jack tuning to 
> do thought after reading around a lot I can't seem to track my problem 
> precisely. The fact I can't change the latency_timer on bus 00 is no good 
> sign either...
> 
> If someone can help I'd really appreciate, I have been as far as I could by 
> myself but here I'm stuck and dying to plug my guitar in with ardour...