Xruns, Ardour y Jack

#1 por tocatpelfoc el 21/12/2011
Compañeros. Hasta hoy había utilizado Jack y Ardour para gravar temas con 2, 3 o 4 pistas de audio. Todo genial, incluso trabajando con latencias bajas.

El problema es que ahora estoy trabajando con un tema de unas 12 pistas. Y intuyo que mi ordenador de 2GB de memoria se está colapsando demasiado. Jack no para de darme Xruns, se me cuelga Ardour y esto empieza a ser delirante, porqué ni subiendo la latencia consigo arreglar el problema.

Los Xruns son de este tipo:

subgraph starting at ardour timed out (subgraph_wait_fd=8, status = 0, state = Running, pollret = 0 revents = 0x0)
**** alsa_pcm: xrun of at least 1.224 msecs
20:39:34.183 JACK connection graph change.
20:39:34.204 XRUN callback (1).
20:39:34.320 JACK connection change.

Tengo pedido un nuevo ordenador, pero hasta que me llegue, me gustaria poder trabajar con el portátil de una forma más cómoda, sin Xruns...

¿Qué debo hacer? ¿Hay solución? ¿O la solución pasa por computadoras mejor preparadas, con varios nucleos y con más GB de memoria?

Gracias!
Subir
#2 por andriu el 21/12/2011
A partir de que numero de pistas empezaron los xruns? cuantos efectos estas usando? has probado a procesar las pistas con los efectos para que no consuman tanta cpu?

Mi consejo es que quites todos los efectos y pistas y vayas añadiendo pistas sin efectos 1 a 1 y observes el % de cpu en jack. Si con tus 12 pistas limpias (sin efectos) no te da xruns, sigue el mismo procedimiento añadiendo efectos de 1 en 1. Quiza algun efecto provoque los xruns. Usa busses para no cargar el mismo efecto 2 veces. Si tu cpu no tira con todas las pistas que necesitas y efectos, procesa las que ya tengan su sonido "definido" para así poder prescindir de esos efectos. Creo que ardour tiene una opción para congelar las pistas y si no haz un bounce con efectos.

Saludos ;)

Decibelios Linuxeros

Subir
#3 por tocatpelfoc el 22/12/2011
Gracias, andriu!

Estoy usando buses para reverbs y efectos varios. La cuestión es que Ardour se para y Jack da el primer Xrun siempre en el mismo sitio de la canción, cuando estan sonando solo 4 pistas...
Subir
#4 por Pablo_F el 22/12/2011
Hay muchos factores en juego y este hilo se puede alargar bastante, así que paciencia.

Yo creo que, antes de entrar en cosas específicas de ardour, hay que mirar a un nivel más bajo. Y lo primero sería recopilar información sobre tu sistema.

Creo que usas una tarjeta USB, no? Y ubuntustudio 11.10 XFCE, no? Bueno, en este caso confirma. Tienes que ver en qué bus está conectada la tarjeta y procurar que ese número de bus no comparta número de IRQ con otros dispositivos. Si eso no se puede evitar, el script rtirq puede ser la salvación. Este script vendrá muy bien en todo caso, pero poco a poco.

Para empezar, ¿Puedes dar la salida de estos comandos informativos?

uname -r (esto dice la versión del kernel que estás usando)
lsusb (lista buses y dispositivos usb)
cat /proc/interrupts (lista los IRQ's)
Subir
#5 por tocatpelfoc el 22/12/2011
Pablo, correcto!

Las salidas de la terminal (suena a peli porno, eh? jeje):

3.0.0-14-generic

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 007 Device 002: ID 0763:2012 Midiman M-Audio Fast Track Pro

CPU0 CPU1
0: 743801 918679 IO-APIC-edge timer
1: 945 793 IO-APIC-edge i8042
8: 0 1 IO-APIC-edge rtc0
9: 1265 196 IO-APIC-fasteoi acpi
10: 0 0 IO-APIC-edge ite-cir
12: 1046 70 IO-APIC-edge i8042
14: 5180 4423 IO-APIC-edge ata_piix
15: 0 0 IO-APIC-edge ata_piix
16: 56067 5982 IO-APIC-fasteoi uhci_hcd:usb3, radeon
18: 1563885 1142630 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb7
19: 0 0 IO-APIC-fasteoi uhci_hcd:usb6
21: 0 0 IO-APIC-fasteoi uhci_hcd:usb4
23: 52226 29986 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb5
45: 0 0 PCI-MSI-edge eth0
46: 14070 13552 PCI-MSI-edge ahci
47: 125232 593 PCI-MSI-edge iwl3945
48: 177 187 PCI-MSI-edge hda_intel
NMI: 0 0 Non-maskable interrupts
LOC: 628826 549564 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
IWI: 0 0 IRQ work interrupts
RES: 743770 793258 Rescheduling interrupts
CAL: 1915 2654 Function call interrupts
TLB: 3754 8436 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 12 12 Machine check polls
ERR: 0
MIS: 0
Subir
#6 por Pablo_F el 22/12/2011
Hola,

Tienes conectada la tarjeta en el bus 7, ves?
Alguien escribió:
Bus 007 Device 002: ID 0763:2012 Midiman M-Audio Fast Track Pro

Pero éste está compartiendo IRQ con otro bus usb, en concreto con el bus 1:
Alguien escribió:
18: 1563885 1142630 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb7


Mira a ver si cambiando de enchufe consigue que te vaya al bus 6 o al 4, que no comparten IRQ con otros controladores:
Alguien escribió:

19: 0 0 IO-APIC-fasteoi uhci_hcd:usb6
21: 0 0 IO-APIC-fasteoi uhci_hcd:usb4


Es posible que sólo con este cambio notes una mejora pero sigue leyendo. Si no consigues cambiar el número de bus, sigue leyendo de todas formas, porque entonces es aún más necesario lo que viene.

Un inciso:
Según dice la documentación de esa tarjeta:
16-bit/48kHz 2 x 4 operation is class-compliant. Driver installation required to access more I/O
Si no estoy equivocado, con el controlador uhci_hcd y el driver snd-usb-audio tienes los 16bit/48kHz, pero no más.


Bueno, pues voy a suponer que la cambias de enchufe y te aparece en el bus 6, que está en el IRQ19.
Pues ahora tienes que hacer un par de cosas.

Una es un usar el programa rtirq-init, gracias al cual levantas la prioridad de los dispositivos que te interesen automáticamente al arrancar el ordenador. Para ello:

1. Instala el paquete rtirq-init
2. Edita (como administrador) su archivo de configuracion: /etc/default/rtirq
3. Busca la línea:
RTIRQ_NAME_LIST="primero segundo tercero cuarto" (prioridades)
y cambia a:
RTIRQ_NAME_LIST="rtc usb6"

No estoy seguro si el rtc es importante o no. Pero el caso es que usb6 (o el número de bus en el que esté conectada la tarjeta) debe estar ( en tu caso) más alto que firewire, o que snd.

Lo otro es pasar la opción de arranque al kernel "threadirqs", necesaria para que rtirq pueda funcionar. Para ello editas el archivo de configuración de grub:

sudo mousepad /etc/default/grub (creo que el editor de texto que viene con xfce se llama mousepad, no?)

y cambias la línea:
GRUB_CMDLINE_LINUX=""

a:

GRUB_CMDLINE_LINUX="threadirqs"

Y reinicias el ordenador.

Para ver que realmente se ha levantado la prioridad del bus donde tienes la tarjeta, puedes pasar este comando:

ps -eLo rtprio,cls,pid,pri,nice,cmd | grep "FF" | sort -r

A ver qué te da.

Todavía hay más trucos, pero poco a poco. A ver si con esto notas mejora.

Saludos, Pablo
Subir
#7 por monon el 24/12/2011
Pablo_F escribió:

GRUB_CMDLINE_LINUX="threadirqs"

Y reinicias el ordenador.


Je... perdona Pablo, no se si es necesario pero es posible que antes de reiniciar se deba actualizar el grub

sudo update-grub
o
sudo update-grub2
Subir
#8 por Pablo_F el 24/12/2011
Si si, Hay que hacer update-grub. Se me había pasado. Gracias!
Subir
#9 por tocatpelfoc el 24/12/2011
Muchísimas gracias por todos estos conocimientos que colectivizáis. Tengo una máquina nueva más potente y con más memoria RAM que ya no me da los problemas que me daba en el portátil. Tenía toda la pinta de que el colapso estaba causado por el maquinario, porqué ahora ya corre todo de maravilla (en ardour).

Por cierto, me he instalado Tango Studio y creo que es mucho mejor distribución que Ubuntu Studio. Almenos, a mi me corre mucho mejor.
Subir
#10 por pdro74 el 24/12/2011
:)

http://pgfmusic.com/

Subir
#11 por Kernel/PA el 03/11/2013
Hola a todos , tengo el mismo problema de desbordamiento de xruns , actualize mi sistema a av linux 6.0.1 , ya intente la solucion con el paquete rtirq , el paquete ya viene instalado en la distro mi informacion de sistema es esta de los buses

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 1210:001d DigiTech
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 064e:a219 Suyin Corp. 1.3M WebCam (notebook emachines E730, Acer sub-brand)

y por ultimo el kernel 3.6.11.2-avl1

ya modifique el archivo /etc/default/rtirq con usb3 que es bus de mi interface digitech rp 355 pero sigo con xruns

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

CPU0 CPU1
0: 7281 252743 IO-APIC-edge timer
1: 26 856 IO-APIC-edge i8042
7: 1 0 IO-APIC-edge
8: 0 1 IO-APIC-edge rtc0
9: 247 12477 IO-APIC-fasteoi acpi
12: 817 31099 IO-APIC-edge i8042
14: 0 0 IO-APIC-edge pata_atiixp
15: 0 0 IO-APIC-edge pata_atiixp
16: 0 561 IO-APIC-fasteoi snd_hda_intel
17: 1103 44242 IO-APIC-fasteoi ehci_hcd:usb1, ehci_hcd:usb2, ath9k
18: 4697 856177 IO-APIC-fasteoi ohci_hcd:usb3, ohci_hcd:usb4, ohci_hcd:usb5, radeon@pci:0000:01:05.0
19: 0 25 IO-APIC-fasteoi snd_hda_intel
42: 490 24521 PCI-MSI-edge ahci
43: 0 3 PCI-MSI-edge eth0
NMI: 0 0 Non-maskable interrupts
LOC: 224873 115613 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
IWI: 0 0 IRQ work interrupts
RTR: 0 0 APIC ICR read retries
RES: 1163150 242512 Rescheduling interrupts
CAL: 7055 5937 Function call interrupts
TLB: 0 0 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 4 4 Machine check polls
ERR: 1
MIS: 0
Subir
#12 por Kernel/PA el 09/11/2013
Hola de nuevo , nomas para avisar que ya solucione mi problema con xruns y avlinux , hice los pasos que menciono pablo con el paqueque rtirq del gran Runo Capela , y despues pase a instalar el kernel 6.6.1 rt pae y se feron los Xruns de mi vida , trabajo con puredata y no he tenido ni uno mas , altamante recomendable esta distro, para trabajo a tiempo real en directo y con este kernel vuela , saludos !
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo