Jack funzia solo da root

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Jack funzia solo da root

Messaggio 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.

Avatar utente
Zapotech
Packager
Packager
Messaggi: 155
Iscritto il: gio 7 set 2006, 22:58
Slackware: -current
Kernel: 2.6.32.5-smp
Desktop: kde 4.3.4
Località: Roma

Re: Jack funzia solo da root

Messaggio da Zapotech »

Prova a disabilitare l'opzione RealTime, per poter lanciare il server jack da user.
Guarda nel setup di Qjackctl.
Ciao! :)

it9exm
Linux 0.x
Linux 0.x
Messaggi: 48
Iscritto il: mar 25 mar 2008, 7:39

Re: Jack funzia solo da root

Messaggio 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?

Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Re: Jack funzia solo da root

Messaggio 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.

Avatar utente
Zapotech
Packager
Packager
Messaggi: 155
Iscritto il: gio 7 set 2006, 22:58
Slackware: -current
Kernel: 2.6.32.5-smp
Desktop: kde 4.3.4
Località: Roma

Re: Jack funzia solo da root

Messaggio 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! :)

ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Re: Jack funzia solo da root

Messaggio 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.

Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Re: Jack funzia solo da root

Messaggio 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...

ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Re: Jack funzia solo da root

Messaggio 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.

Avatar utente
Zapotech
Packager
Packager
Messaggi: 155
Iscritto il: gio 7 set 2006, 22:58
Slackware: -current
Kernel: 2.6.32.5-smp
Desktop: kde 4.3.4
Località: Roma

Re: Jack funzia solo da root

Messaggio 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!

it9exm
Linux 0.x
Linux 0.x
Messaggi: 48
Iscritto il: mar 25 mar 2008, 7:39

Re: Jack funzia solo da root

Messaggio 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.

ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Re: Jack funzia solo da root

Messaggio 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?

Avatar utente
Zapotech
Packager
Packager
Messaggi: 155
Iscritto il: gio 7 set 2006, 22:58
Slackware: -current
Kernel: 2.6.32.5-smp
Desktop: kde 4.3.4
Località: Roma

Re: Jack funzia solo da root

Messaggio 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...! :?

ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Re: Jack funzia solo da root

Messaggio 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

Avatar utente
Zapotech
Packager
Packager
Messaggi: 155
Iscritto il: gio 7 set 2006, 22:58
Slackware: -current
Kernel: 2.6.32.5-smp
Desktop: kde 4.3.4
Località: Roma

Re: Jack funzia solo da root

Messaggio 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. :)

ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Re: Jack funzia solo da root

Messaggio 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
.

Rispondi