Old:Low-latency 2.6 kernel per applicazioni audio realtime: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
(corretta gerarchia titoli)
 
(12 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Tutte le versioni di Debian}}
{{Old}}
== Introduzione ==
== Introduzione ==
Questa è una breve guida su come configurare il sistema per poter eseguire applicazioni audio realtime.
Questa è una breve guida su come configurare il sistema per poter eseguire applicazioni audio realtime.
Riga 60: Riga 60:


== Modalità realtime e realtime scheduling ==
== Modalità realtime e realtime scheduling ==
 
La modalità realtime è un particolare privilegio di esecuzione che un'applicazione può avere. Questa modalità permette ad una applicazione di avere accesso alla CPU con la massima priorità (rispetto ad ogni altra applicazione in attesa) ogni volta che venga richiesto, impedendo inoltre che un'altra applicazione possa a sua volta interrompere l'esecuzione (a meno che non sia anch'essa realtime).  
La modalità realtime è un particolare privilegio di esecuzione che un'applicazione può avere . Questa modalità permette ad una applicazione di avere accesso alla CPU con la massima priorità (rispetto ad ogni altra applicazione in attesa) ogni volta che venga richiesto, impedendo inoltre che un'altra applicazione possa a sua volta interrompere l'esecuzione (a meno che non sia anch'essa realtime).  


Questo permette di tenere in esecuzione applicazioni a bassa latenza, senza il rischio che altre applicazioni non-realtime possano disturbarle. Si capisce come questa modalità sia importantissima nelle applicazioni audio professionali (ad esempio una sessione di registrazione non verrà mai interrotta anche se molte applicazioni non realtime saturano la CPU!).
Questo permette di tenere in esecuzione applicazioni a bassa latenza, senza il rischio che altre applicazioni non-realtime possano disturbarle. Si capisce come questa modalità sia importantissima nelle applicazioni audio professionali (ad esempio una sessione di registrazione non verrà mai interrotta anche se molte applicazioni non realtime saturano la CPU!).
Riga 78: Riga 77:


=== Usare gli rlimits ===
=== Usare gli rlimits ===
È presente nel kernel un nuovo meccanismo più sicuro per concedere i privilegi di realtime chiamato rlimits. Rlimits sostituisce completamente il vecchio e insicuro modulo <code>realtime-lsm</code>.
È presente nel kernel un nuovo meccanismo più sicuro per concedere i privilegi di realtime chiamato rlimits. Rlimits sostituisce completamente il vecchio e insicuro modulo <code>realtime-lsm</code>.


Riga 84: Riga 82:
Fortunatamente la versione di PAM in Debian Etch, pur essendo una 0.79, include la già questa patch. Per la [[oldstable]] Sarge la patch deve essere applicata manualmente (vedi dopo).
Fortunatamente la versione di PAM in Debian Etch, pur essendo una 0.79, include la già questa patch. Per la [[oldstable]] Sarge la patch deve essere applicata manualmente (vedi dopo).


Quindi l'unica cosa da fare in Debian per abilitare il gruppo '''<code>audio</code>''' all'esecuzione di processi in modalità realtime è aggiungere al file <code>/etc/security/limits.con</code> le seguenti righe:
Quindi l'unica cosa da fare in Debian per abilitare il gruppo '''<code>audio</code>''' all'esecuzione di processi in modalità realtime è aggiungere al file <code>/etc/security/limits.conf</code> le seguenti righe:


  @audio          -      nice            -10
  @audio          -      nice            -10
Riga 101: Riga 99:
  (1: Operation not permitted)
  (1: Operation not permitted)


'''Nota''': Per la [[oldstable]] '''Debian Sarge''' si può installare il pacchetto PAM patchato installando <tt>libpam-modules</tt> da [http://techweb.rfa.org/debrfa/dists/sarge/main/binary-i386/ qui].
'''Nota''': Per la [[oldstable]] '''Debian Sarge''' si può installare il pacchetto PAM patchato installando <code>libpam-modules</code> da [http://techweb.rfa.org/debrfa/dists/sarge/main/binary-i386/ qui].


=== Il modulo <code>realtime-lsm</code> ===
=== Il modulo <code>realtime-lsm</code> ===
Riga 144: Riga 142:
* [http://demudi.agnula.org/wiki/Low-latencyKernelBuildingHowto Low-latency Kernel Building How-to]
* [http://demudi.agnula.org/wiki/Low-latencyKernelBuildingHowto Low-latency Kernel Building How-to]
* [http://alsa.opensrc.org/RealtimeKernelAndPAM Alsa Wiki: Realtime Kernel And PAM]
* [http://alsa.opensrc.org/RealtimeKernelAndPAM Alsa Wiki: Realtime Kernel And PAM]
----
Autore: [[Utente:TheNoise|~ The Noise]]
[[Categoria:Kernel]]
[[Categoria:Audio]]
3 581

contributi

Menu di navigazione