Configura y optimiza Linux para audio y MIDI
¿Qué tres cosas te llevarías a una isla desierta? Mi recomendación es; un ordenador con Linux, un teclado MIDI y este artículo. Florian Paul Schmidt Pensé en documentar la información que tengo sobre cómo utilizar un sistema Linux con un kernel apropiativo —N. del T.; Preemptive en el original— a tiempo real como sistema de trabajo con audio y MIDI. Así puedo referirme a esta documentación en lugar de repetirla una y otra vez en discusiones. :) Todo lo que sigue se aplica a los kernels -rt con el modelo apropiativo completo —N. del T.; complete preemption en el original—. En mi opinión es la mejor forma de operar con un kernel -rt si se quiere en control más estricto sobre prioridades y latencias. Procede un aviso y es que los drivers binarios y los módulos para nVidia podrían ser incompatibles con este tipo de kernel. Utilícese el driver nv de las X11 en su lugar. Aún si el módulo binario fuese compatible, no habría garantías de que encaje en el modelo particular de este kernel y podría destruir las bajas latencias que el resto del código del kernel nos garantiza. El sistema de audio y MIDI En un sistema de audio y MIDI típico basado en Linux encontramos varios componentes clave: * JACK, el kit de conexiones de audio. Facilita servicios de audio y por supuesto utiliza la tarjeta de sonido. La IRQ de la tarjeta de sonido requiere un tratamiemto especial —es decir, una alta prioridad— para no ser interrumpida por otras cargas del sistema —el disco duro o la red—. JACK es la opción favorita para este trabajo dado que permite conectar las aplicaciones de audio las unas con las otras. Además está diseñado para el trabajo a tiempo real desde el primer día. Con un sistema correctamente configurado pueden lograrse latencias ridículamente bajas, p.ej. tamaños de buffer de 8 ó 16 muestras a 48 KHz. * ALSA, facilitando servicios de audio a JACK y el acceso al MIDI vía alsa-seq. * Algún secuenciador MIDI como rosegarden, muse o seq24 que utilice JACK y alsa-seq. * Algunos sintetizadores software —al final, clientes JACK— manejados por el secuenciador MIDI * Más hardware que precisa de una IRQ para funcionar —red, disco duro, etc.— * El resto del software, como el gestor de ventanas, el escritorio y otras utilidades. Cualquier kernel -rt en combinación con realtime lsm o rt_limits facilita al usuario herramientas que le permiten un trabajo cómodo que asegura: * Operación de audio sin problemas, y con «sin problemas» me refiero a sin problemas. Por ejemplo, puedo fácilmente compilar un kernel mientras trabajo con audio a 32 muestras por buffer. * Sincronización MIDI exacta. Claro está que habrá que ajustar el sistema para obtener el mejor resultado. Podría ser necesario llegar a modificar algunas aplicaciones. Configuración de audio Podemos simplificar y decir que cuanto más alta sea la prioridad de una tarea más posible es que se ejecute sin molestias. Con un kernel -rt se tiene la posibilidad de que ciertos manejadores de IRQ tengan menos prioridad que aplicaciones que corren en el espacio de usuario. Es posible, por ejemplo, correr jackd con una prioridad mayor que la de cualquier manejador de IRQ que podría interrumpir el trabajo con audio, como el disco duro o la red. Es necesario el parámetro -P de jackd para esto. En un kernel -rt, por defecto todos los manejadores de IRQ tienen prioridades entre 40 y 60, así que hacer que jackd se ejecute con una prioridad de 70 parece una buena elección. jackd -R -P 70 -d alsa ... Sólo que si queremos que el manejador de la IRQ de la tarjeta de sonido tenga una prioridad más alta que jackd, dado que la IRQ de la tarjeta de sonido es al final la que gobierna el funcionamiento de JACK. Utilizamos así la utilidad chrt para cambiar esto. En mi sistema la tarjeta de sonido tiene la IRQ 4, comprueba /proc/interrupts en tu máquina para averiguar la tuya. chrt -f -p 82 `pidof "IRQ-4"` —N. del T.; Comprueba las distintas prioridades asignadas así:— top -b -H -n 1 | grep -i irq | sort -n -k3 Una prioridad de 82 está bien por encima de la concedida a jackd. Dado que jackd ejecuta hilos además de su bucle principal, es necesario vigilar esto. Por ejemplo, implementa un watchdog que se ejecuta a una prioridad 10 superior a la del bucle principal. Es decir, a 80 en nuestro caso. Los hilos de proceso de cliente, en cambio, corren con una prioridad 1 inferior a la del bucle principal, 69 en nuestro caso. La parte audio de nuestro sistema queda cubierta. Con esta configuración consigo operar con tamaños de buffer ridículamente bajos con JACK y mi M-Audio Delta 66 —hasta 8 muestras por periodo, reconociendo algún problema con el cambio de contextos forzando tanto mi sistema— Y ahora, ¿qué pasa con MIDI? ¿Cómo lo hacemos funcionar aquí? Configuración MIDI Tenemos que saber una cosa o dos sobre cómo la planificación a tiempo real funciona para afinar esta parte. La clase de planificación utilizada por la mayor parte de aplicaciones de
Re: i686 (32 bit) vs. amd64 (64 bit)
El dom, 18-01-2009 a las 17:14 -0500, haldrik escribió: > El día 18 de enero de 2009 13:49, Jeki Sinneo Leinos > escribió: > > > > Ubuntu está basado en Debian pero no es Debian. Al menos la mayoria de la > > gente que conozco no usa Debian Sid (que es lo que usa Ubuntu para sacar una > > version cada 6 meses) > > > > La gente normalmente usa Debian Stable o Testing, aunque es frecuente el uso > > de hibridos incluso con paquetes de la rama Unstable (Sid). > > > > Derivada no es sinonimo de "igual", y aún menos cuado comparamos el kernel > > de Ubuntu con el de Debian > > > > Sin desviar el hilo. Las pruebas están muy > interesantes pero solo entendí el primer cuadro :P > > Si por favor lo pudes pegar en http://rafb.net/paste, ojalá en > html para ver bien las columnas ;-) > > -- > "Al principio, el Hombre creó a Dios; y lo creó a su imagen y semejanza. > Y el Hombre dio a Dios multitud de nombres, y el poder de que fuera el > Señor de toda la tierra cuando al Hombre le conviniere." > > Listo. Cargado en http://rafb.net/p/Xk9rvC39.html = GNU/Linux - Usuario Registrado # 389414 http://i18n.counter.li.org
Re: i686 (32 bit) vs. amd64 (64 bit)
El día 18 de enero de 2009 13:49, Jeki Sinneo Leinos escribió: > > Ubuntu está basado en Debian pero no es Debian. Al menos la mayoria de la > gente que conozco no usa Debian Sid (que es lo que usa Ubuntu para sacar una > version cada 6 meses) > > La gente normalmente usa Debian Stable o Testing, aunque es frecuente el uso > de hibridos incluso con paquetes de la rama Unstable (Sid). > > Derivada no es sinonimo de "igual", y aún menos cuado comparamos el kernel > de Ubuntu con el de Debian > Sin desviar el hilo. Las pruebas están muy interesantes pero solo entendí el primer cuadro :P Si por favor lo pudes pegar en http://rafb.net/paste, ojalá en html para ver bien las columnas ;-) -- "Al principio, el Hombre creó a Dios; y lo creó a su imagen y semejanza. Y el Hombre dio a Dios multitud de nombres, y el poder de que fuera el Señor de toda la tierra cuando al Hombre le conviniere." -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Re: probando gnome..
On Sat, Jan 17, 2009 at 09:24:08PM -0300, Mario Martínez wrote: > On Sat, Jan 17, 2009 at 09:03:31PM -0200, angel wrote: > > El sáb, 17-01-2009 a las 13:10 -0300, Mario Martínez escribió: > > > On Tue, Jan 13, 2009 at 08:25:20PM +0100, aux wrote: > > [...] > > > EMHO (esta es una lista en español) ese es el consejo mas ridículo que > > he leido. Una de las ventajas de un entorno gráfico es justamente la de > > tener DISTINTAS ventanas y ventanas con pestañas. No califiques de ridiculo un consejo que no te sirva a ti mismo. No pienses que el entorno gráfico es lo mejor para todos. La ventaja del software libre es la libertad de eleccion. Y eso no es una ventaja de el entorno gráfico, porque no todos entornos gráficos la proveen. Eso es generalizar. > Pues creo que GNU Screen es mas flexible y consume menos recursos que > abrir varias pestañas en gnome-terminal o konsole y lo mejor, es > independiente del entorno de escritorio que estes usando. ;-) Y multimaquina, puedes ejecutarlo a traves de una session ssh. Ademas, si se te cierra el terminal por accidente, no pasa nada, no pierdes nada ;-) > > Siguiendo tu forma de > > pensar,para que usar entorno gráfico? para que la web? y asi hasta el > > monitor color Que radical y de mente cerrada es la gente alguna vez. Te digo, antes usaba ion3, un entorno gráfico basado en pestañas, sin ventanas, ligero, la reostia. el motivo de esto: rendimiento y ergonomia. Me permitía no utilizar el ratón, asi es, es completamente usable desde teclado, de echo, esta ideado para ello, y una joyita para portatiles. Ahora ya ni eso, con screen, un par de modificaciones (para ponerle screensaver, un medidor de bateria...), mutt (un mta tan completo como cualquier otro, tiene todas las funciones de icedove, carpetas, alias...), vim (corrección ortográfica, autocompletado para perl/php/html...), shell-fm y en la tty2, para gente como tu que se queja de los navegadores de texto... links-hacked -g usando framebuffer y gpm para el raton. bueno, ¿Que quiero decir con este texto tan enorme (y pesado)? Pues que para gustos los colores y lo mismo para necesidades, porque no uses algo no significa que sea arcaico o que no sea útil. > Je. No es que este tratando de volver era mesozoica, mas bien creo que > hay que darle cabida a esas joyitas de antaño que no son muy conocidas. Bueno, bueno, eso de "de antaño", screen esta en continuo desarrollo y es realmente util. > Tambien creo que las pestañas son una soberana estupidez teniendo > herramientas como la ya mencionada. Cada cosa es util para cada tipo de persona. > OJO, lo anterior lo digo dentro de este contexto. Las pestañas pueden > ser muy utiles en otras circunstancias. En realidad, screen al fin y al cabo provee pestañas... -- http://thexayon.wordpress.com Que la fuerza os acompañe. -BEGIN GEEK CODE BLOCK- Version: 3.12 GCS dpu s: a--- C UL P L+++ E--- W+++ N+++ o+ K- w--- O M+ V- PS+ PE+++ Y PGP++ t--- 5 X+++ R tv+++ b DI--- D+++ G+ e- h++ r+++ y --END GEEK CODE BLOCK-- --XayOn-- Linux registered user #446872 pgpWlKbaO5tST.pgp Description: PGP signature
Re: i686 (32 bit) vs. amd64 (64 bit)
Ubuntu está basado en Debian pero no es Debian. Al menos la mayoria de la gente que conozco no usa Debian Sid (que es lo que usa Ubuntu para sacar una version cada 6 meses) La gente normalmente usa Debian Stable o Testing, aunque es frecuente el uso de hibridos incluso con paquetes de la rama Unstable (Sid). Derivada no es sinonimo de "igual", y aún menos cuado comparamos el kernel de Ubuntu con el de Debian
Vmware Lenny se queda congelado
Hola amigos! Tengo un problema en lenny, kernel: 2.6.24-1-686 y vmware server 1.8. Me bajo el .tar.gz de la pagina web, lo isntalo y creo la máquina virtual sin problemas. Lo arranco y todo bien pero a los 10/15 segundos se queda completamente colgado. No se queda el procesador a tope ni nada, se queda toda la máquina como si el proceso hubiera terminado su ejecución. Con ps aux sige todo ejecutándose como si nada y al intentar reiniciar el servicio me dice que hay una instancia de vmware ejecutandose y que por tanto no lo puede detener. Pero por otro lado es imposible parar el proceso completo: vmware-vx puesto que se queda "zombie" . Intentando aislar el problema pruebo a liberar de la memoria los módulos vmmon y vmnet. El segundo se quita sin problema pero al intentar quitar el segundo se queda colgada la terminal y no puedo "parar" el proceso con CTRL+C He intentado encontrar solución buscando en google y en los foros de vmware pero aun no he obtenido respuesta. Si alguien le ha pasado lo mismo que a mí o tiene alguna idea de que puede ser... le agradecería enormemente que me diera algo de "luz". Un saludo y gracias -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
i686 (32 bit) vs. amd64 (64 bit)
Estimados: En el año que pasó, varias veces se planteó la disyuntiva del asunto de este mensaje, y todos los que hemos contestado, incluyéndome, lo hemos hecho con el concepto de experiencia personal subjetiva, más que con pruebas objetivas. Por esta razón he efectuado corridas del test nbench http://www.tux.org/~mayer/linux/bmark.html compilado en sendos Ubuntu 8.10-desktop para i686 y amd64 respectivamente. Justamente la gracia de la prueba es que el programa de testeo sea compilado en la arquitectura que se pretende probar. ¿Por qué Ubuntu? Porque por razones que escapan a mis conocimientos y sobre todo, tiempo, no pude compilar el programa bajo las "live-CD" de Debian. Menos estoy para instalarlo en una máquina que viene corriendo Debian lenny desde hace casi dos años, y debía hacerlo en dos "live-CD" que estuviesen armados exactamente igual, aunque en distinta arquitectura, para no ensuciar los resultados de la prueba. Y como Ubuntu es "derivada de Debian", la considero una herramienta más. Primero pongo las comparativas de ambas corridas en forma resumida, y luego los datos en bruto. Las pruebas quedan a las claras que en una misma máquina con arquitectura de 64 bit, utilizar la distribución que corresponde es lo inidcado. Hay sólo dos pruebas, transformada de fourier y "asignación", en que es un tanto más lenta. Si a alguno le interesa, se puede poner a investigar. === Comparación i686 vs amd64 TESTI/s 32 bit I/s 64 bit Comparación NUMERIC SORT752,28 854,08 13,53% STRING SORT 107,96 188,80 74,88% BITFIELD331.960.000,00 346.690.000,00 4,44% FP EMULATION112,04 185,80 65,83% FOURIER 20.951,00 18.921,00 -9,69% ASSIGNMENT 27.519,00 25.768,00 -6,36% IDEA4.898,005.197,906,12% HUFFMAN 1.612,901.757,908,99% NEURAL NET 32,07 38,32 19,50% LU DECOMPOSITION1.200,001.203,100,26% INTEGER INDEX 51.791,00 62.494,00 20,67% FLOATING-POINT INDEX42.414,00 43.544,00 2,66% MEMORY INDEX13.411,00 16.038,00 19,59% INTEGER INDEX 12.570,00 15.270,00 21,48% FLOATING-POINT INDEX23.525,00 24.151,00 2,66% === Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686 GNU/Linux BYTEmark* Native Mode Benchmark ver. 2 (10/95) Index-split by Andrew D. Balsa (11/97) Linux/Unix* port by Uwe F. Mayer (12/96,11/97) TEST: Iterations/sec. : Old Index : New Index : : Pentium 90* : AMD K6/233* :--:-: NUMERIC SORT: 752.28 : 19.29 : 6.34 STRING SORT : 107.96 : 48.24 : 7.47 BITFIELD: 3.3196e+08 : 56.94 : 11.89 FP EMULATION: 112.04 : 53.76 : 12.41 FOURIER : 20951 : 23.83 : 13.38 ASSIGNMENT : 27.519 : 104.71 : 27.16 IDEA:4898 : 74.91 : 22.24 HUFFMAN : 1612.9 : 44.73 : 14.28 NEURAL NET : 32.07 : 51.52 : 21.67 LU DECOMPOSITION:1200 : 62.17 : 44.89 ==ORIGINAL BYTEMARK RESULTS== INTEGER INDEX : 51.791 FLOATING-POINT INDEX: 42.414 Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0 ==LINUX DATA BELOW=== CPU : Dual GenuineIntel Genuine Intel(R) CPU 2160 @ 1.80GHz 1803MHz L2 Cache: 1024 KB OS : Linux 2.6.27-7-generic C compiler : Configurado con: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu11' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu libc: MEMORY INDEX: 13.411 INTEGER INDEX : 12.570 FLOATING-POINT INDEX: 23.525 Baseline (LINUX): AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38 * Trademarks are property of their respective holder. ===