Jump to content

Archived

This topic is now archived and is closed to further replies.

lorinc

[tuto][initié]La MAO sous Linux! (maj le 09/04/05)

Recommended Posts

Processor type and features --->

Preemption Mode (Complete Preemption (Real-Time)) --->

( ) No Forced Preemption (Server)

( ) Voluntary Kernel Preemption (Desktop)

( ) Preemptible Kernel (Low-Latency Desktop)

(X) Complete Preemption (Real-Time) // l'option à choisir

Dans mon kernel 2.6.14.5 je ne trouve dans la dite rubrique l'option "(X) Complete Preemption (Real-Time)" ;)

Share this post


Link to post
Share on other sites

c'est normal, il faut que tu récupères un kernel patché "mm"

soit tu le patches toi-même, soit tu récupère la version patchée.

la branche mm est officielle et dispo sur kernel.org ;)

Share this post


Link to post
Share on other sites

c'est normal, il faut que tu récupères un kernel patché "mm"

soit tu le patches toi-même, soit tu récupère la version patchée.

la branche mm est officielle et dispo sur kernel.org ;)

Est ce que ca signifie que linux serait un vrai OS temps réel avec ce patch ? Ou c'est encore limité par certaines partie du scheduler mais que ca se rapproche de beaucoup du temps réel ?

Share this post


Link to post
Share on other sites

non, ce patch ne fait pas de linux un "vrai" OS temps comme peut l'être vxworks par exemple...

tout simplement à cause du manque de prédictibilité de l'ordonancement :fumer:

Share this post


Link to post
Share on other sites

soit tu récupère la version patchée.

J'ai bien été sur le site www.kernel.org mais je pas trouver le lien pour la version complete ? :fumer::ouioui:

Share this post


Link to post
Share on other sites

ah tiens, il ont du virer les dl de kernel patchés pour économiser de la bande passante...

c'est pas grave, c'est assez facile de patcher un kernel. tu récupères les sources correspondantes aux dernier patch mm "stable" ( http://kernel.org/pub/linux/kernel/people/....14/2.6.14-mm2/ donc 2.6.14)

et un coup de patch -p0 < patchfile et c'est parti :D

sous gentoo il y a un ebuild mm, peut être que les autres distrib fournissent aussi un paquet dans leur branche developpement

Share this post


Link to post
Share on other sites

Est ce génant si je me sers du kernel 2.6.14.5 et ensuite patché en mm ?

Car le patch est marqué 2.6.14 et non 2.6.14.5 ?

Edit : sur ton lien, je sais pas trop quel lien prendre, car les versions mm, pour etre franc, je les ai jamais utilisé ...

Share this post


Link to post
Share on other sites

Je le réup un tout petit coup ... merci Lorinc pour ce beau boulot ! :transpi:

me suis mis à la compo la semaine dernière ... (opportunité d'avoir trouvé une chanteuse alors que je bricole à la basse avec mon pote guitariste depuis x années) et rien qu'avec hydrogen j'ai trouvé mon bonheur :) !

maintenant, à voir si je m'occupe du mixage tout seul ou bien je confie ça à un pro de ma connaissance ... on verra !

edit> LMMS a l'air de déchirer, on va comparer à Storm et je vous tiens au jus. Merci noobietux :D

Share this post


Link to post
Share on other sites

merci Sandeman ;)

yep, faudra vraiment que je rajoute un bout sur LMMS un de ces 4 ;)

par contre, j'ai l'impression que la doc est quasi inexistante

Share this post


Link to post
Share on other sites

edit> LMMS a l'air de déchirer, on va comparer à Storm et je vous tiens au jus. Merci noobietux :D

:mdr: de rien. Apparmment y a moyen de faire fonctionner les plugins VST en passant par wine. quand j'aurais le temps j'essaierai.

Si quelqu'un avait de la doc au passage ;)

Share this post


Link to post
Share on other sites

:up:

Ayant décider d' aller jouer la sérénade sous le balcon de Scaramouche,

me suis préparé à la musique avec ordinateur, pour accompagner ma simple bouche

parccequ' il me sera plus simple d' embarquer un ordi portable plutôt qu' un piano! :yes:

de plus je suis un peu flemmard, et oui les petiots ! :oops:

pour respecter le slogan de ce forum,

me suis dit que j' allais partager avec vous mon écrit, cette tite pomme

http://www.linuxmao.org/tikiwiki/tiki-inde...p?page=Mandriva :eeek2:

tiens lorinc, ça pourrait complêter niveau liens ^^

bon, c'est la page mandriva ( :love: ) (la plus belle :p) mais y'a tout le site que j'ai pas vu de linké en première page :yes:

Share this post


Link to post
Share on other sites

oula, je pensais l'avoir ajouté depuis belle lurette, celui-là... mais en fait, j'ai du être trop faineant à l'époque...

Étant donné que ça fait quelques temps déjà que je hante ce site :-D

;)

Share this post


Link to post
Share on other sites

Super sujet, je le relirai attentivement quand j'aurais le temps.

Une remarque cependant. Il faudrait mettre à jour au moins les liens sur les distros audio pro.

-Agnula: pas de développement depuis un bail. Le principal développeur travaille maintenant sur 64 studio

Autres audio pro distros:

-Dynebolic, la distribution pour média activistes. Un live CD qui contient tout ce qu'il faut pour, par exemple, retransmettre en direct un évènement sur internet depuis son portable.

-Le jacklab, rajoute à suse des fonctions plus ou moins équivalentes à Agnula (pas testé)

Le meilleur pour la fin (Je dis ça, mais 64studio est super aussi):

-Proaudio overlay L'overlay pro-audio de gentoo. Vous ne rêvez pas, cet overlay rajoute à portage tout ce qu'il faut pour transformer votre boite gentoo en une station de travail audio professionnelle. Overlay très dynamique, si votre programme favori n'y figure pas encore, une demande polie sur la liste d'email de l'overlay suffit généralement pour qu'il soit inclut dans le heures/jours qui suivent.

Share this post


Link to post
Share on other sites

Autre remarque, le tuteur sur la compilation du kernel est bien, mais il ne dit rien sur la compilation d'un kernel temps réel. Un excellent tuteur se trouve sur le site français Linux MAO: Compiler un noyau temps réel.

Il faut aussi voir que disposer d'un noyau temps réel est une chose, mais qu'il faut aussi configurer le système pour qu'il fasse le meilleur usage possible de ces possibilités. Le truc consiste à assigner une priorité plus élevée à la carte son qu'aux autres composants de l'ordinateur, et aussi à utiliser une priorité plus élevée pour les applications audio. Cela peut être réalisé de plusieurs façon: avec le module realtime-lsm (realcap dans les derniers kernel). avec pam-rlimits ou avec set-rlimit.

Une seule méthode doit être choisie. Voir L'accès temps réel pour les applications

Du premier tuteur, on voit que les patches de référence pour un kernel multimédia sont ceux d'Ingo Molnar. Comme exemple de résultat, il est possible d'obtenir une latence de 1,2 msec avec une soundblaster live, voir inférieur à la msec (lire /usr/src/linux/Documentation/sound/alsa/emu10k1-jack.txt pour savoir comment). Pour un usage sérieux, un pc puissant est nécessaire, car les programmes n'ont à disposition pour faire ce qu'ils ont à faire sur le son que le temps laissé par cette latence. Plus la latence est faible, plus le pc va ramer et le taux processeur augmenter. Ceci implique qu'un pc donné peut fonctionner très bien avec une latence faible quand on ne fait qu'écouter sa musique préférée, mais qu'après avoir lancé ardour, des plugins ladspa, des vst et quelques synthés logiciels, le son est inécoutable. Il faut alors augmenter la latence pour laisser au processeur le temps nécessaire à faire son travail, ou acheter un pc plus puissant.

Share this post


Link to post
Share on other sites

Il a été fait une remarque sur la stabilité des patches d'Ingo Molnar. Il faut voir deux choses:

- Ceux-ci sont bien testés mais comme leur développement est très rapide, il faut toujours choisir le dernier correspondant au kernel que l'on veut patcher et il ne faut pas patcher le kernel du jour. Par exemple, sur http://www.kernel.org/pub/linux/kernel/projects/rt/ on ne voit que des patches pour du 2.6.23. Le 2.6.23 est aujourd'hui en plein développement et il n'est pas encore stable. Ce n'est pas en le patchant avec des patches temps-réel que nous allons augmenter sa stabilité.

Donc, rendez-vous sur http://www.kernel.org/pub/linux/kernel/projects/rt/older/ et téléchargez patch-2.6.22.1-rt9 pour patcher un kernel 2.6.22.

Ou utiliser une distribution audio. Celles-ci ont choisi des versions de kernel réputées pour leurs performances et leur stabilité. L'overlay audiopro de gentoo propose plusieurs kernel temps réels, Un seul est marqué stable, les autres sont marqués testing. Cela implique que pour des performances live, il est impératif de choisir le kernel marqué stable même si ce n'est pas le plus récent.

- Le hardware: la raison principale d'un manque de stabilité avec les kernels temps réel est que ceux-ci sont très agressifs avec la gestion des IRQs. Un pc qui fonctionne très bien avec un kernel "standard" peut se révéler instable avec un kernel temps réel. La cause est presque toujours des IRQs mal partagées.

Un kernel temps réel assigne une plus haute priorité à la carte son. Il utilise pour ce faire l'IRQ de cette carte. Mais si cette carte partage son IRQ avec un autre hardware, le résultat est toujours le même: plantée du système! :ouioui:

Pour y remédier, lire /proc/interrupts:

# cat /proc/interrupts

	   CPU0	   
 0:	5971088	XT-PIC-XT		timer
 1:	  12832	XT-PIC-XT		i8042
 2:		  0	XT-PIC-XT		cascade
 3:	  18674	XT-PIC-XT		ohci1394, eth0
 4:	8761348	XT-PIC-XT		EMU10K1
 5:	 126408	XT-PIC-XT		ohci_hcd:usb1
 6:		 94	XT-PIC-XT		ohci_hcd:usb2
 7:		  1	XT-PIC-XT		parport0
 8:		  2	XT-PIC-XT		rtc
 9:	3929837	XT-PIC-XT		acpi, ohci_hcd:usb3, ehci_hcd:usb4
10:		  4	XT-PIC-XT		bttv0
11:	 522548	XT-PIC-XT		nvidia
12:		  4	XT-PIC-XT		i8042
14:	 512137	XT-PIC-XT		ide0
15:	  71085	XT-PIC-XT		ide1
NMI:   33858307 
LOC:	5971177 
ERR:		  0
MIS:		  0

Le plus important est que la carte son soit seule sur son IRQ. Pour assigner les IRQ, il faut voir si le bios permet de le faire. Autrement ou si cela ne suffit pas, il faut ouvrir le pc et changer les cartes de place. Dans certains cas comme le mien, il est même nécessaire de démarrer le système avec le paramètre de boot "noapic". De toute façon, l'apic est du bricolage rajouté sur le pic, et un pc stable au niveau pic fonctionnera à merveille, alors qu'il pourra réserver des mauvaises surprises au niveau apic s'il n'est pas stable au niveau pic. (Noter que la plupart des portables ne fonctionnent tout simplement pas ou mal sans l'apic, de même que les PC avec plusieurs processeurs ou coeurs) Voir Hardware stabilty guide part 2.

En conclusion, ne vous plaignez pas que votre système temps réel plante si vous avez des IRQs partagées, c'est normal.

Share this post


Link to post
Share on other sites

C'edst vrai que j'ai pas trop le temps de le mettre à jour.

Pour cette histoire de noyau temps réel, disons que ça devient une nécéssitée à partir d'une certaine complexité dans le travail à effectuer. S'il s'agit d'un projet < 8 pistes, le noyau vanilla s'en sport très honorablement avec des latences tout à fait acceptables (~10-20ms sur ma machine, un vieil athlon 2400+), par contre, si le projet est plus gros, il peut être nécéssaire de s'y atteler.

Vu la polémique qui fait rage en ce moment sur la LKML autour du prochain scheduler du noyau (SD, CFS, RFS ?) et les performances qui sont attendues ainsi que les archi multicore qui se développent de plus en plus, cela risque encore de changer l'utiliter des patchs RT pour l'audio. :resolu:

Share this post


Link to post
Share on other sites

soit tu récupère la version patchée.

J'ai bien été sur le site www.kernel.org mais je pas trouver le lien pour la version complete ? :transpi::transpi:

il faut cliquer ser le "F" de la ligne du dernier noyau stable.

Share this post


Link to post
Share on other sites

×
×
  • Create New...