Pagina 1 di 1

Jack funzia solo da root

Inviato: sab 24 mag 2008, 18:49
da ragnetto
Slackware12, jackd 0.109.2, qjackctl 0.3.2. Tramite l' interfaccia grafica premo start e mi ritrovo due finestre:

Codice: Seleziona tutto

Could not connect to JACK server as client.
- Overall operation failed.
- Unable connect to server.
Please check the messages windows for more info.

Codice: Seleziona tutto

18:42:34.516 Patchbay deactivated.
18:42:34.527 Statistics reset.
18:42:34.563 ALSA connection graph change.
18:43:41.525 Startup script...
18:43:41.526 artsshell -q terminate
18:43:42.161 Startup script terminated with exit status=256.
18:43:42.162 JACK is starting...
18:43:42.162 /usr/bin/jackd -R -dalsa -dhw:0 -r48000 -p1024 -n2
18:43:42.166 JACK was started with PID=3110.
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
cannot use real-time scheduling (FIFO at priority 10) [for thread -1210157376, from thread -1210157376] (1: Operation not permitted)
cannot create engine
18:43:42.200 JACK was stopped successfully.
18:43:42.201 Post-shutdown script...
18:43:42.201 killall jackd
jackd: no process killed
18:43:42.616 Post-shutdown script terminated with exit status=256.
18:43:44.178 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
Se faccio tutto da root va bene ma dopo devo fare anche tutto il resto da root (come avviare Ardour) perchè sennò l' applicazione non riesce a connettersi a jack.

Re: Jack funzia solo da root

Inviato: sab 24 mag 2008, 23:26
da Zapotech
Prova a disabilitare l'opzione RealTime, per poter lanciare il server jack da user.
Guarda nel setup di Qjackctl.
Ciao! :)

Re: Jack funzia solo da root

Inviato: mar 27 mag 2008, 16:56
da it9exm
Ciao
Vorrei fare funzionare anche io jack da utente normale, ma non ci riesco... comunque non si dovrebbe disabilitare l'opzione realtime, è quella per cui jack è fatto. Avevo visto su un tutorial di aggiungere al file /etc/securiity/limits.conf le seguenti righe

Codice: Seleziona tutto

@audio - rtprio 80
@audio - nice -10
@audio - memlock 512
ma non funziona niente... qualcuno ci è riuscito?

Re: Jack funzia solo da root

Inviato: mar 27 mag 2008, 20:15
da anycolouryoulike
arny91 ha scritto:Ciao
Vorrei fare funzionare anche io jack da utente normale, ma non ci riesco... comunque non si dovrebbe disabilitare l'opzione realtime, è quella per cui jack è fatto. Avevo visto su un tutorial di aggiungere al file /etc/securiity/limits.conf le seguenti righe

Codice: Seleziona tutto

@audio - rtprio 80
@audio - nice -10
@audio - memlock 512
ma non funziona niente... qualcuno ci è riuscito?
Non puoi farlo su Slackware perché non ha PAM.
A me funziona benissimo comunque da utente normale, lo lancio con jackd -d alsa -p 512 -n 3.

Re: Jack funzia solo da root

Inviato: mar 27 mag 2008, 20:31
da Zapotech
Ciao!
Puoi lanciare "jackd" in RealTime con "set_rlimits" che puoi trovare qui:
http://www.physics.adelaide.edu.au/~jwoithe/
(occhio che non è un tgz per Slackware; lo decomprimi e poi procedi con make install).

Al riguardo è opportuno, però, che ricompilassi un Kernel a bassa latenza (con le patch realtime di Ingo Molnar). ;)

In ogni caso, jackd, è utile, anche se non lanciato in RealTime, come semplice server audio di un ambiente desktop (...no audio professionale in questo caso!)


Ciao! :)

Re: Jack funzia solo da root

Inviato: mar 27 mag 2008, 20:35
da ragnetto
Mi sembra di aver capito che di default il kernel Linux non permette all' utente di usare il "Real Time", se volessi farlo devo aggiungere un prog. Perchè? Poi cosa dovrei scrivere nel file "/etc/set_rlimits.conf" (di preciso perchè a grandi linee ho capito)? Sapreste anche consigliarmi una buona guida (magari in italiano) dove si spiega in maniera approfondita il sistema real time con jack, alsa e tutto quello che c' è da sapere nel campo dell' audioprofessionale sotto Linux? Mi piacerebbe capirci vermanente.

Re: Jack funzia solo da root

Inviato: mar 27 mag 2008, 21:36
da anycolouryoulike
No infatti, è necessaria una patch.
La trovi qui insieme a tanta documentazione http://rt.wiki.kernel.org/index.php/CON ... T_RT_Patch.
Inoltre per poter lanciare programmi in real-time devi essere root oppure impostare i permessi tramite PAM.
Ma visto che Slackware non ha PAM non so come possa fare...

Re: Jack funzia solo da root

Inviato: mar 27 mag 2008, 22:11
da ragnetto
In cosa consiste questa patch (a livello tecnico)? E quali sono le motivazioni che hanno portato gli sviluppatori a scegliere questa politica? Slackware non ha Pam non significa niente, si può mettere come in qualsiasi altra distro. Poi se riuscissi a far funziare quel "set_rlimits" che dice Zapotech sarebbe anche meglio Pam.

Re: Jack funzia solo da root

Inviato: mar 27 mag 2008, 23:30
da Zapotech
ragnetto ha scritto:Poi se riuscissi a far funziare quel "set_rlimits" che dice Zapotech sarebbe anche meglio Pam.
Eccomi ;)
Supponiamo di lanciare Jackd in RT e, come Jack-Client, il sintetizzatore ZynAddSubFx (disponibile su slacky.eu!)
1) In /etc/set_rlimits.conf inserisci:

Codice: Seleziona tutto

User  /usr/bin/jackd nice=-1 rtprio=99 memlock=1048756

Codice: Seleziona tutto

herman  /usr/bin/zynaddsubfx  nice=-1  rtprio=99  memlock=250000
dove, in entrambe le righe, al posto di User scrivi il tuo NomeUtente
2) Lanci il server jackd con:

Codice: Seleziona tutto

set_rlimits jackd -R -dalsa -dhw:0 -r48000 -p256 -n3
dove i valori per "-p" e "-n" possono differire nel tuo caso ... e dipendono da vari fattori. Metti i valori più bassi che ti consentono
di non avere XRun.
3) Lanci ZynAddSubFX con:

Codice: Seleziona tutto

set_rlimits zynaddsubfx
Ciao!

Re: Jack funzia solo da root

Inviato: mer 28 mag 2008, 10:09
da it9exm
Ciao
Ho provato set_rlimits, non c'è che dire, funziona ma ogni volta devi aggiungere al file di configurazione i programmi che vuoi fare funzionare in realtime mentre con le PAM puoi aggiungere il gruppo che ha i privilegi di realtime e usare tranquillamente i programmi... così ho provato a installare le pam compilandole da sorgente e ci sono riuscito. Ho aggiunto al file /etc/security/limits.conf quelle righe ma ancora non sono riuscito a farlo funzionare... boh... sarà qualche errore banale, qualche cosa che ho dimenticato di fare o che ancora devo fare... nel frattempo continuo con set_rlimits e aggiorno i link simbolici ai programmi così non devo digitare ogni volta quella roba dal terminale.

Re: Jack funzia solo da root

Inviato: mer 28 mag 2008, 19:32
da ragnetto
Il precompilato di Pam è disponibile su questo sito.
@Zapotech: Sono proprio necessarie quelle opzioni dopo il percorso del prog da avviare in realtime? Perchè se sbaglio qualcosa (cosa sicura) avrei problemi, non sarebbe meglio avere impostazioni dei permessi generiche in modo da muoversi più liberamente?

Re: Jack funzia solo da root

Inviato: gio 29 mag 2008, 2:35
da Zapotech
.... purtroppo nn credo ci sia la possibilità di impostare dei permessi generici...
Puoi impostare user singoli e/o gruppi ma le voci "nice" e "rtprio" vanno impostate.....

@arny91

Codice: Seleziona tutto

 Ho aggiunto al file /etc/security/limits.conf quelle righe ma ancora non sono riuscito a farlo funzionare... 
...allora siamo in due...! ;) Anch'io avevo provato sperando di riuscire ad attivare PAM ma non ci sono riuscito...! :?

Re: Jack funzia solo da root

Inviato: gio 29 mag 2008, 22:28
da ragnetto
"/etc/set_rlimits.conf"

Codice: Seleziona tutto

   m  /usr/local/bin/jackd nice=-1  rtprio=99
   m  /usr/bin/ardour2 nice=-1  rtprio=99

Codice: Seleziona tutto

bash-3.1$ set_rlimits  /usr/bin/jackd -R -dalsa -dhw:0 -r48000 -p1024 -n2
set_rlimits: no permission to run /usr/bin/jackd with elevated resource limits

Avvio jack da root tramite "qjackctl"...

bash-3.1$ set_rlimits ardour2                                            
WARNING: Your system has a limit for maximum amount of locked memory!
This might cause Ardour to run out of memory before your system runs out of memory. You can view the memory limit with 'ulimit -l', and it is normally controlled by /etc/security/limits.conf
Ardour/GTK 2.4.1
   (built using 3243 and GCC version 4.1.2)
Copyright (C) 1999-2008 Paul Davis
Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker

Ardour comes with ABSOLUTELY NO WARRANTY
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This is free software, and you are welcome to redistribute it 
under certain conditions; see the source for copying conditions.
/home/m/.themes/Dark Grey '72/gtk-2.0/gtkrc:180: Unable to locate image file in pixmap_path: "Arrows/arrow-up.png"
/home/m/.themes/Dark Grey '72/gtk-2.0/gtkrc:184: Overlay image options specified without filename
/home/m/.themes/Dark Grey '72/gtk-2.0/gtkrc:330: Unable to locate image file in pixmap_path: "Combo/combo-arrow-insens.png"
/home/m/.themes/Dark Grey '72/gtk-2.0/gtkrc:332: Overlay image options specified without filename
loading default ui configuration file /etc/ardour2/ardour2_ui_default.conf
loading user ui configuration file /home/m/.ardour2/ardour2_ui.conf
Loading ui configuration file /etc/ardour2/ardour2_ui_dark.rc
theme_init() called from internal clearlooks engine
ardour: [INFO]: Ardour will be limited to 1024 open files
loading system configuration file /etc/ardour2/ardour_system.rc
loading user configuration file /home/m/.ardour2/ardour.rc
ardour: [INFO]: Using SSE optimized routines
ardour: [INFO]: looking for control protocols in /home/m/.ardour2/surfaces/:/usr/lib/ardour2/surfaces/
ardour: [INFO]: Control protocol Tranzport not usable
powermate: Opening of powermate failed - No such file or directory
ardour: [INFO]: Control protocol powermate not usable
ardour: [INFO]: Control surface protocol discovered: "Mackie"
ardour: [INFO]: Control surface protocol discovered: "Generic MIDI"
JACK COMMAND: /usr/bin/jackd -p 128 -T -d alsa -n 2 -r 48000 -p 1024 -d hw:0,0 
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
apparent rate = 48000
creating alsa driver ... hw:0,0|hw:0,0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
the playback device "hw:0,0" is already in use. Please stop the application using it and run JACK again
cannot load driver module alsa
no message buffer overruns

Re: Jack funzia solo da root

Inviato: ven 30 mag 2008, 2:39
da Zapotech
Controlla la riga in "set_rlimits.conf" relativa a jack:

Codice: Seleziona tutto

m  /usr/local/bin/jackd nice=-1  rtprio=99
Il percorso è "/usr/bin/jackd" e non "/usr/local/bin/jackd".

Per quanto riguarda "ardour2" anche a me compare sempre quel "Warning" in fase di avvio.
Credo che dipenda dal fatto che i "resources limits" debbano essere gestiti da/con PAM.... sul forum di ardour.org quasi tutti usano PAM....
Con set_rlimits ho provato anche ad assegnare diversi valori di "memlock" ma ottengo sempre quel'avviso!

Al momento, comunque, ignoro quel Warning e riesco a lavorare ugualmente con stabilità e latenze molto basse. :)

Re: Jack funzia solo da root

Inviato: ven 30 mag 2008, 14:17
da ragnetto
Esatto, avevi ragione. Vorrei aggiungere che in sintesi, la soluzione al mio prob originale (avviare jackd da utente tramite qjackctl) è: Installare set_rlilits, inserire nel suo file di configurazione quanto segue:

Codice: Seleziona tutto

utente  /usr/bin/jackd nice=-1  rtprio=99
modificare le impostazioni di qjackctl nella sezione "Setings" impostando "Server Path" com segue:

Codice: Seleziona tutto

set_rlimits /usr/bin/jackd
.