Ubuntu Linux & realtime Jack

Categorie: Audio, Linux
Tag: Nessun Tag
Commenti: 2 Commenti
Pubblicato il: 14 Agosto 2007

Questo è un post per addetti ai lavori.

Mi sto rendendo conto che, con Ubuntu 7.xx (Feisty Faune), molti hanno difficoltà nel lanciare jackd (un server audio professionale su linux) con l’opzione realtime (-R, necessaria per avere bassa latenza) come utente normale, ma riescono invece a farlo solo come superuser (con sudo), con la rogna di dover lanciare nello stesso modo anche tutti i client.
Alcuni lamentano anche che con la versione precedente si poteva farlo (ed è vero).
La soluzione è molto semplice:

  1. Controllate che il vostro utente sia inserito nel gruppo audio. Se l’utente è quello creato durante l’installazione, dovrebbe già esserlo. Comunque aprite una console (terminale) e scrivete

    id

    che mostra user id, group id e tutti i gruppi a cui l’utente appartiene. La risposta dovrebbe essere qualcosa come

    uid=1000(nome_utente) gid=1000(nome_utente)
    groups=4(adm), 20(dialout), 24(cdrom), 25(floppy),
    29(audio), 30(dip), 44(video), 46(plugdev), 104(scanner),
    112(netdev), 113(lpadmin), 115(powerdev), 117(admin),
    1000(nome_utente)

    [al posto di 1000 potreste vedere un altro numero]

    Se c’è già il gruppo 29(audio), allora tutto ok, altrimenti aggiungete l’utente al gruppo audio.

  2. Editate il file /etc/security/limits.conf come superuser con il comando

    sudo gedit /etc/security/limits.conf
    [al posto di gedit potete mettere il vostro text editor preferito]

  3. Alla fine del file, prima della riga
    # End of file
    aggiungete quanto segue:

    @audio - rtprio 99
    @audio - nice -10
    @audio - memlock 256000

    [il valore 256000 è adatto a una RAM di 512K; è la memoria da bloccare e dovrebbe essere circa la metà della vostra RAM; mettete 512000 se avete 1 Gb e così via]
    [il valore nella seconda linea (nice) è proprio -10 (meno 10); imposta la priorità e senza il meno avrete una proprità schifosa]

  4. A questo punto è necessario riavviare il computer.

    Ora potete anche lanciare jackd in realtime come utente con il comando

    /usr/bin/jackd -R -dalsa -dhw:0 -r44100 -p1024 -n2
    [ovviamente potete aggiungere anche altre opzioni]oppure con un front-end grafico come qjackctl o simili.

  5. Naturalmente è meglio installare anche il kernel low-latency.
2 Commenti
  1. Ricky ha detto:

    Grazie molto utile

  2. xela92 ha detto:

    Lo leggo solo ora ma è ancora molto utile! Grazie! 😉

Lascia un Commento

Benvenuto , oggi è giovedì, 28 Marzo 2024