[RISOLTO] jack-audio-connection-kit e realtime scheduling

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

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 Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
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.
Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

rik70 ha scritto:P.s.Rientro a casa, faccio il downgrade alla versione 1.17.1, e... stavolta nessun errore!!

Boh, misteri di kde.
a me le ultime due volte che l'ho aperto non mi ha più dato quel problema...boh...

ad ogni modo phonon con xine su jackd non è forse troppo stabile, mi spiego: skype con gstreamer riconosceva solo la scheda audio interna e parlava solo con quella, ora riconosce anche quella e funziona anche con quella, sia per l"'out" che per per l"'in", ma va a momenti. Stamattina per esempio leggeva di nuovo solo quella vecchia... :-k

una cosa ch ho riscontrato è che senza avere degli xrun sento come dell screziature nell'audio, come dei buchi della durata inferiore aldecimo di secondo, forse anche meno... Ora voglio provare ad utilizzare il metodo per il realtime che hai consigliato tu più sopra...

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Procopio ha scritto:
una cosa ch ho riscontrato è che senza avere degli xrun sento come dell screziature nell'audio, come dei buchi della durata inferiore aldecimo di secondo, forse anche meno... Ora voglio provare ad utilizzare il metodo per il realtime che hai consigliato tu più sopra...
Dipende da quali applicazioni stai utilizzando: parli di Ardour o di altro? Se è Ardour, è normale fino a quando non passi al realtime (e per Ardour, ripeto, nel mio caso è necessario set_rlimits)

Tieni presente una cosa:

Phonon ora utilizza jack, e se nella home dell'utente c'è il file .jackdrc, lo utilizza per impostare i parametri del server audio. Quindi per prima cosa devi sistemare quel file - che poi viene sovrascritto da qjackctl quando modifichi le opzioni. Il contenuto di .jackdrc che hai postato prima non andava bene.
Primo perché stavi usando oss - come mai? Poi perché se la tua scheda audio lo supporta, usa almeno la frequanza di campionamento a 48000Hz - più sali più diminuisce la latenza dell'audio.

(Discorso analogo vale se usi qjackctl per avviare jackd. Infatti è lo lo stesso qjackctl a creare il file ~/.jackdrc).

Infine, Skype. A me non risulta che Skype utilizzi phonon, e di conseguenza nemmeno gstreamer o xine. Piuttosto usa alsa. Quindi se una periferica scompare e riappare di continuo, non è un problema che dipende dal backend utilizzato da phonon. O almeno così credo. Perciò prova se puoi a incollare qui il contenuto di quel file che hai messo in /etc/modprobe.d/ e che contiene le opzioni dei driver che hai inserito per "ordinare" le schede audio.

Spero di essermi 'capito' :)

Ciao

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

Dipende da quali applicazioni stai utilizzando: parli di Ardour o di altro? Se è Ardour, è normale fino a quando non passi al realtime
è youtube su chrome, quindi flashplayer..ma sono già real time!

(e per Ardour, ripeto, nel mio caso è necessario set_rlimits)
ma ho settato il set_cap, il set_rlimits non è superfluo con il set_cap impostato?

Phonon ora utilizza jack, e se nella home dell'utente c'è il file .jackdrc, lo utilizza per impostare i parametri del server audio. Quindi per prima cosa devi sistemare quel file - che poi viene sovrascritto da qjackctl quando modifichi le opzioni. Il contenuto di .jackdrc che hai postato prima non andava bene.
Primo perché stavi usando oss - come mai? Poi perché se la tua scheda audio lo supporta, usa almeno la frequanza di campionamento a 48000Hz - più sali più diminuisce la latenza dell'audio.


(Discorso analogo vale se usi qjackctl per avviare jackd. Infatti è lo lo stesso qjackctl a creare il file ~/.jackdrc).
nono, oss era solo una prova temporanea, uso alsa, queste sono le mie impostazioni di jack... Come vedi ho il real time abilitato, e non ho xrun..
1ac8.png
1ac8.png (81.34 KiB) Visto 7503 volte
Infine, Skype. A me non risulta che Skype utilizzi phonon, e di conseguenza nemmeno gstreamer o xine. Piuttosto usa alsa. Quindi se una periferica scompare e riappare di continuo, non è un problema che dipende dal backend utilizzato da phonon. O almeno così credo. Perciò prova se puoi a incollare qui il contenuto di quel file che hai messo in /etc/modprobe.d/ e che contiene le opzioni dei driver che hai inserito per "ordinare" le schede audio.

Spero di essermi 'capito'
sisi, ti sei "capito" bene :D ma in quel file non c'è niente di particolare, abbasso solo la priorità alla scheda audio interna in modo che il modulo del kernel mi carichi prima quella esterna, come si vede dal /proc/sound/card

Codice: Seleziona tutto

matteo@darkstar:~>cat /etc/modprobe.d/sound.conf 
options snd_hda_intel index=1
matteo@darkstar:~>cat /proc/asound/cards
 0 [CODEC          ]: USB-Audio - USB Audio CODEC
                      Burr-Brown from TI USB Audio CODEC at usb-0000:00:1d.7-3.2, full speed
 1 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xfc300000 irq 47
matteo@darkstar:~>

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Chrome dunque... col plugin mozilla - quindi non con quello nativo - passando per jack. Non può essere affidabile come test.

E con firefox invece come va?

Ardour ti parte con setcap? Bene, come non detto. Stessa cosa per /etc/modprobe.d/sound.conf.

Jack va bene (96000HZ non sono un po troppi? La scheda usb li supporta? Sì? Anche qui come non detto, ma prova anche a fermarti a 48000). Edit Periods/Buffer = 3: perché? Prova a mettere 2. Più è alto quel valore, più genera ritardi/latenze.

Skype: a questo punto non ho capito bene. Non vede la scheda audio interna? E quando non la vede, in /proc/asound/cards è tutto nella norma?

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

E con firefox invece come va?
stessa cosa. Ma forse ho scoperto una cosa: se lascio solo youtube aperto si sente bene e non succede niente, se comincio ad aprire programmi, schede etc mi fa quei rumori...dici che può essere la cpu che toglie "engine" al plugin firefox per fare il resto, equindi quello suona male?

Codice: Seleziona tutto

Jack va bene (96000HZ non sono un po troppi? La scheda usb li supporta? Sì? Anche qui come non detto, ma prova anche a fermarti a 48000).
sisi, avevo già intenzione di farlo:)
Skype: a questo punto non ho capito bene. Non vede la scheda audio interna? E quando non la vede, in /proc/asound/cards è tutto nella norma?
in /proc/asound/cards è tutto inalterato, è solo skype, che a volte mi vede e utilizza la scheda audio esterna e a volte no, non ho ancora capito con quale criterio...

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Ancara sui settaggi jhack/qjackctl.

Hai la spunta su No Memory Lock. Il tuo hardware supporta il monitoraggio in hardware delle porte di "cattura"? Vedi 'man jackd' alla voce -H, --hwmon

Se la risposta è no, togli la spunta.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

eh bella domanda, io l'ho messo perchè per la scheda precedente ci andava, ma qua come lo scopro?faccio qualche ricerca e ti faccio sapere!!

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Procopio ha scritto:
E con firefox invece come va?
stessa cosa. Ma forse ho scoperto una cosa: se lascio solo youtube aperto si sente bene e non succede niente, se comincio ad aprire programmi, schede etc mi fa quei rumori...dici che può essere la cpu che toglie "engine" al plugin firefox per fare il resto, equindi quello suona male?
Potrebbe: a quanto sta la cpu su youtube?
in /proc/asound/cards è tutto inalterato, è solo skype, che a volte mi vede e utilizza la scheda audio esterna e a volte no, non ho ancora capito con quale criterio...
Questo sinceramente è strano e non so risponderti.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Procopio ha scritto:eh bella domanda, io l'ho messo perchè per la scheda precedente ci andava, ma qua come lo scopro?faccio qualche ricerca e ti faccio sapere!!
Cerca sul sito del produttore: di solito è specificato. Se non dicono nulla, al 90% non lo supporta.

P.s.
Periods/Buffer: mettilo a 2.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

Potrebbe: a quanto sta la cpu su youtube?
eh piuttosto alta, in quel frangente avevo solo chrome aperto con una sola scheda aperta su youtube....e jack ovviamente aperto, quindi in effetti potrebbe essere quello...segno che il setcap funziona e il real time (anche se l'ho settato su latenza alta) è un vero real time;)

Codice: Seleziona tutto

matteo@darkstar:~>top
top - 02:13:26 up 15:43,  4 users,  load average: 1.12, 0.80, 0.75
Tasks: 161 total,   2 running, 159 sleeping,   0 stopped,   0 zombie
Cpu(s): 33.7%us, 10.6%sy,  0.0%ni, 55.1%id,  0.3%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   4070072k total,  2095284k used,  1974788k free,   139296k buffers
Swap:        0k total,        0k used,        0k free,  1143924k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                  
15085 matteo    20   0  464m  94m  21m R   55  2.4   1:50.55 chrome                                                                                                                   
 1971 root      20   0 83208  36m  25m S    9  0.9  15:26.82 X                                                                                                                        
14904 matteo    20   0  591m 127m  36m S    7  3.2   0:27.43 chrome                                                                                                                   
15069 matteo    20   0  229m  65m  23m S    5  1.7   0:12.42 chrome                                                                                                                   
 2323 matteo    20   0  103m  27m  21m S    4  0.7   0:32.73 yakuake                                                                                                                  
 2179 matteo    20   0  344m  38m  30m S    3  1.0   4:43.03 kwin                                                                                                                     
14805 matteo    20   0  396m 103m  45m S    2  2.6   0:15.11 skype                                                                                                                    
14971 matteo    20   0  249m 102m  18m S    1  2.6   0:06.03 chrome                                                                                                                   
 3750 root      20   0  2832 1088  808 S    1  0.0   1:30.34 top                                                                                                                      
15047 matteo    20   0  106m 104m  83m S    1  2.6   0:01.71 qjackctl                                                                                                                 
 1924 root      20   0 24816 7116 1952 S    0  0.2   0:23.54 wicd                                                                                                                     
15117 matteo    20   0  2832 1100  808 R    0  0.0   0:00.42 top                                                                                                                      
    1 root      20   0  2008  580  512 S    0  0.0   0:01.31 init                                                                                                                     
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                                                                                                 
    3 root      20   0     0    0    0 S    0  0.0   0:02.36 ksoftirqd/0                                                                                                              
    6 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0                                                                                                              
   11 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset                                                                                                                   
   12 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper                                                                                                                  
   13 root      20   0     0    0    0 S    0  0.0   0:00.00 kdevtmpfs                                                                                                                
   14 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns                                                                                                                    
  477 root      20   0     0    0    0 S    0  0.0   0:00.07 sync_supers                                                                                                              
matteo@darkstar:~>

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Procopio ha scritto:eh piuttosto alta, in quel frangente avevo solo chrome aperto con una sola scheda aperta su youtube....
Ma non tantissimo, almeno a giudicare dal top.

Io sono su un Pentium 4, figuriamoci... e il sistema è bello "fermo" nonostante su youtube il processore schizzi paurosamente verso l'alto. Ma infatti per youtube uso smplayer/smtube e passa la paura. Comunque sia firefox che chrome non mi danno problemi. Ad esempio, se lancio un'applicazione mentre riproduce un video in flash, l'audio non ne risente minimamente. Io però viaggio su openbox, non su kde. Su kde quentomeno disattiva akonadi - /strigi o come si chiama tutta quella "robaccia" - e l'indicizzazione dei file: sicuramente guadagni qualcosa.

Quanto a jack, ti consiglio d'impostarlo in questo modo:

Priorità: a meno che non sei su kernel -rt, impostala a 50 - che poi dovrebbe essere il valore predefinito - o anche meno.

No Memory Lock = disattivato - qualunque sia il tuo hw.

Sample Rate = 48000

Frames/Period = qui dipende da quanto "tiene" l'hardware. Io posso arrivare a 256-128, ma valori come 512 o 1024 sono buoni. Valori più bassi = latenza minore.

Periods/Buffer = questo dipende - anche - dal parametro precedente. Più il valore 'Frames/Period' è alto, più devi tenere basso Periods/Buffer, altrimenti avrai latenze alte e quindi ritardi. Es: se Frames/Period=256(oppure 128), puoi tenerere questo valore su 4. Se invece metti Frames/Period >=512, settalo su 2. Qui vale lo stesso discorso di prima riguardo al rapporto valore/latenza.

Ovviamente prendi tutto questo con le pinze, è solo frutto di prove empiriche sul mio sistema, quindi niente di scientifico.

Poi il processore: forse sto per dire una cavolata, ma se è un portatile probabilmente devi rovistare sul "governor". Non so come sia impostato da te, ma se è su "ondemand" sicuramente non è la scelta giusta se vuoi usare l'audio in realtime. Ma di tutto questo io so poco o nulla.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

Ma non tantissimo, almeno a giudicare dal top.

Io sono su un Pentium 4, figuriamoci... e il sistema è bello "fermo" nonostante su youtube il processore schizzi paurosamente verso l'alto. Ma infatti per youtube uso smplayer/smtube e passa la paura. Comunque sia firefox che chrome non mi danno problemi. Ad esempio, se lancio un'applicazione mentre riproduce un video in flash, l'audio non ne risente minimamente. Io però viaggio su openbox, non su kde. Su kde quentomeno disattiva akonadi - /strigi o come si chiama tutta quella "robaccia" - e l'indicizzazione dei file: sicuramente guadagni qualcosa.
mah io ho un core2 duo (il T7100, a 1,80GHz) che ha due core, ma anche il dual threading, quindi non ha mai arrancato su youtube et simila. Per farti un esempio: con firefox aperto sullo streaming rai (con raismth) e quindi con un vlc aperto, mi giravano tranquillamente anche 10 video su youtube senza che nessuno si piantasse, e potevo comunque aggiungerne. Su questo tipo di "perormance" di "routine" il mio pc si è sempre comportato bene. Ha solo sempre peccato sul singolo programma veramente grosso per il quale a volte si piantava, ma l'audio prima di settare capabilities e jackd è sempre stato quello che era, cioè di bassa qualità, quindi se anche dovesse aver avuto dei disturbi non me ne sarei accorto...

Nota poi soprattutto che il top lì ti riporta un valore relativamente basso, ma c'era solo chrome con una scheda aperta su youtube, e comunque in quel frangente si sentiva bene, è solo che se io facevo qualche operazione, anche semplice, tipo aprire un altro sito, o aprire dolphin (il gestore dei files), sentivo cracchiare, forse anche complice il sample rate che avevo fissato a 96000....


per quanto riguarda jack: mah l'ho già proprio settato così, ma infatti va bene, alla fine non mi posso assolutamente lamentare, trane per skype che si sceglie un po' la scheda audio a seconda di come gli gira....

Poi il processore: forse sto per dire una cavolata, ma se è un portatile probabilmente devi rovistare sul "governor". Non so come sia impostato da te, ma se è su "ondemand" sicuramente non è la scelta giusta se vuoi usare l'audio in realtime. Ma di tutto questo io so poco o nulla.
eh neanche io me ne intendo....ma ondemand mi sembra il valore più "intelligente" da mettere...se no dici che dovrei metterlo su performance?

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Procopio ha scritto: mah io ho un core2 duo (il T7100, a 1,80GHz) che ha due core, ma anche il dual threading, quindi non ha mai arrancato su youtube et simila.
Bhe così com 'è allora no, il processore va + che bene.
eh neanche io me ne intendo....ma ondemand mi sembra il valore più "intelligente" da mettere...se no dici che dovrei metterlo su performance?


Io su questo non so risponderti, leggevo solo che ad esempio consigliano di compilare il kernel -rt senza lo cpuscaling, che a quanto pare influisce negativamente sul realtime.

Posso consigliarti solo di leggerte questo: /usr/src/linux/Documentation/cpu-freq/governors.txt

Penso sia spiegato abbastanza bene, poi qualche ricerca in rete per integrare e il gioco è fatto

Ad esempio nalla sezione "2. Governors In the Linux Kernel" a proposito del governor performance dice:
2.1 Performance
---------------

The CPUfreq governor "performance" sets the CPU statically to the
highest frequency within the borders of scaling_min_freq and
scaling_max_freq.
Io però un portatile non lo metterei a lavorare al massimo, anche se - forse - potresti raffinare ad esempio il valore "scaling_max_freq" in modo da stare un pò sotto la frequenza massima di lavoro del processore.

Oppure usare il governor "Userspace" se il tuo proccessore lo supporta e impostare manualmente una frequenza intermedia, senza stare né troppo in alto né troppo in basso:
2.3 Userspace -------------
The CPUfreq governor "userspace" allows the user, or any userspace
program running with UID "root", to set the CPU to a specific frequency
by making a sysfs file "scaling_setspeed" available in the CPU-device
directory.
Ripeto però: di questo cose non ne so niente e non ho mai sperimentato.

Ma se tu dici che ora il sitema ti va bene, perché modificare?

Quanto a Skype una curiosità:
viene avviato in automatico all'avvio della sessione kde, o lo lanci tu manualmente?
Ultima modifica di rik70 il mer 25 set 2013, 12:00, modificato 1 volta in totale.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

lo lancio manualmente...
ora devo andare via, stasera, o se riesco già oggi pomeriggio, do un occhiata al governor e ti rispondo poi per bene!

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Procopio ha scritto:lo lancio manualmente...
Prima o dopo jackd?

Rispondi