Come rimediare ai problemi audio di Fedora 10
UPDATE 03/01/08
Ho modificato l’articolo in base agli ultimi test che ho effettuato ed ai vostri commenti, lascio presenti tutti i metodi che ho provato ma cambia il metodo che consiglio che per praticità ho messo per primo.
Con la nuova versione di pulseaudio presente in Fedora 10 in molti hanno notato problemi con l’audio che spesso “salta” sia ascoltando musica che guardando filmati, dopo varie ricerche ho trovato che il problema sarebbe dovuto ad un bug di alsa il cui team se ne sta infatti occupando. Nel frattempo ecco alcuni trucchi per eliminare o comunque minimizzare il problema. Per prima cosa però, prima di procedere con qualunque metodo consglio di verficare di aver installato tutti i pacchetti neccessari a pulseaudio lanciando il seguente comando
su -c 'yum -y install pavucontrol pavumeter paman padevchooser paprefs alsa-plugins-pulseaudio gstreamer-plugins-pulse pulseaudio pulseaudio-core-libs pulseaudio-esound-compat pulseaudio-libs pulseaudio-libs-glib2 pulseaudio-libs-zeroconf pulseaudio-module-gconf pulseaudio-module-x11 pulseaudio-module-zeroconf pulseaudio-utils xine-lib-pulseaudio xmms-pulse'.
Il metodo che ho trovato più efficace consiste nel disabilitare il timescheduling in pulse audio, che di fatto è una delle maggiori differenze con la vecchia versione presente in Fedora 9. Per farlo bisogna editare da root il file /etc/pulse/default.pa modificando la riga
load-module module-hal-detect
in
load-module module-hal-detect tsched=0
Poi riavviate pulse audio NON DA ROOT con il seguente comando
pulseaudio -k
Secondo rimedio, che nel mio caso applicato da solo ha drasticamente limitato il problema, è l’aggiornamento di alsa all’ultima versione in testing, per farlo lanciate il seguente comando:
yum update *alsa* --enablerepo=updates-testing
Nel farlo bisogna essere consapevoli che si utilizza un pacchetto non ancora del tutto stabile e che quindi potrebbe avere qualche altro problema, nel mio caso non ho però trovato nessuna controindicazione. Per verificare bisogna riavviare il computer o almeno pulseaudio (pulseaudio -k dovrebbe bastare). Come dicevo cosi ho risolto i problemi quasi del tutto, per un giorno intero non ho notato nessun scatto ne in filmati ne ascoltando musica, finché ho provato a giocare e ascoltare musica in contemporanea, in quel momento ho ricominciato a sentire alcuni salti, anche se molto meno di prima, probabilmente dovuti anche all’alto utilizzo del processore.
Altra possibile soluzione consiste nel deframmentare il disco, sopratutto quando si tratta di filmati. Ho notato infatti che più il file che si sta ascoltando è frammentato più il suo audio scatta, per verificare se il filmato che vi da problemi necessita di deframmentazione io ho utilizzato shake ( vedete qui il loro sito). Questo programma permette di controllare e deframmentare un singolo file, la differenza è notevole sopratutto se il filmato lo si è scaricato con emule o bittorent, e i vantaggi non sono solo nell’audio più fluido ma anche in una maggiore velocità nello scorrere avanti e indietro il video.
Ultima soluzione che propongo consiste nel avviare pulse audio in modalità servizio di sistema, per farlo prima chiudete pulseaudio (un killall pulseaudio da root dovrebbe bastare) e poi riavviatelo a mano con i seguenti parametri
pulseaudio --system --realtime --daemonize --disallow-exit --disallow-module-loading
Riavviate i programmi che utilizzano l’audio e dovreste notare i miglioramenti ( non molti a dire il vero nel mio caso). Se funziona e volere rendere le modifiche permanenti basta editare da root il file /etc/pulse/daemon.conf togliendo i commenti alle seguenti righe
realtime-scheduling = yes
daemonize = yes
Se invece le righe mancano aggiungetele come appare qui sopra, nel caso invece hanno il valore a no sostituitelo con yes. Sconsiglio questo metodo a meno che tutti gli altri siano stati inefficaci, con queste modifiche pulseaudio ha la priorità molto alta rispetto agli altri processi, se per qualche oscuro bug richiedesse il 100% del processore il pc rimarrebbe bloccato.

2 gennaio, 2009 alle 12:47
Scusa ma da quand’è che linux si deframmenta?
2 gennaio, 2009 alle 13:53
@caracuri
Linux sente il problema della frammentazione molto meno di windows, ma non è immune. So che spesso si sente dire il contrario ma ti assicuro che ho verificato di persona il contrario. Ho avuto i primi problemi masterizzando ISO scaricate con torrent, ogni volta che tentavo di masterizzarle avevo problemi di svuotamento del buffer, finché non ho provato a fare una copia del file e masterizzare quella e i problemi si sono risolti. (ho provato a masterizzare ripetutamente i due file per vedere la differenza per essere sicuro che non dipendesse da altri fattori). Nel mio caso ero in una situazione limite, avevo meno del 10% di spazio libero su disco. Il problema è che ext3 non supporta bene la deframmentazione, mentre una delle principali novità di ext4 consiste proprio nella deframmentazione online (senza smontare il disco).
Shake ti permette di vedere in quanti frammenti è diviso il file, ma la deframmentazione è finta, in realtà effettua una copia del file e la sostituisce all’originale, ma il risultato si vede, almeno nelle situazioni limite come la mia.
2 gennaio, 2009 alle 14:04
ciao,
grazie dell’articolo
però sarebbe utile capire anche cosa fanno i parametri che si pasano a pulseaudio e/o i comandi che si cambiano nel file /etc/pulse/daemon.conf
cosa fanno e cosa comportano nel sistema, se per esempio richiedono più cpu, meno cpu etc.
in modo che as econda dell’hw che uno si ritrova sa cosa puo o cosa non puo cambiare
insomma una spiegazione dettagliata del perchè si dovrebbero passare certi parametri a pulseaudio
2 gennaio, 2009 alle 14:18
@yemmi
Purtroppo non so neanche io nei dettagli i paramatri di configurazione di pulseaudio. Quello che ti posso dire è che impostandolo con quei parametri il rischio che si corre è che utilizzi troppa cpu, ma non perché il consumo aumenti, ma perché in questa modalità pulseaudio ha la priorità su tutto il resto, di conseguenza se si riscontrasse un bug che aumenta l’uso della cpu il pc potrebbe bloccarsi. Per prima cosa prova ad aggiornare alsa, oppure aspetta un po’, un mio amico sta sperimentando un altro metodo che dovrebbe essere meno invasivo e sembra funzionare lo stesso, appena so qualcosa in più inserirò i dettagli qui.
2 gennaio, 2009 alle 14:55
Ho aggiunto in calce all’articolo un altro metodo che sembra funzionare bene, anche se disabilità una delle nuove funzionalità di pulseaudio.
@yemmi
prova quest’ultimo metodo se con il primo non hai avuto successo
2 gennaio, 2009 alle 15:30
un altro metodo potrebbe essere quello di disattivare direttamente pulseaudio e ripristinare alsa, ci vorrebbe una guida anche su questaltro metodo
2 gennaio, 2009 alle 15:34
@yemmi
C’hai anche ragione, io non l’ho fatto comunque credo basti fare “yum remove pulseaudio” da root, o almeno cosi mi sembrava di aver trovato. Ma vuoi dirmi che nessuno di questi metodi ti funzionano? hai provato a riavviare il pc dopo le modifiche? mi sembra molto strano
3 gennaio, 2009 alle 13:55
@ALL
Ho modificato l’articolo, ho provato il metodo che mi aveva consigliato il mio amico dopo che mi sono accorto che in condizioni in cui il pc era messo pesantemente sotto sforzo l’audio poteva riprendere a saltare.
3 gennaio, 2009 alle 22:53
sicuro che sia uqello il file da modificare nel primo metodo? , xkè io non trovo quella riga
3 gennaio, 2009 alle 22:59
@yemmi
No, hai ragione, non so come ma devo aver sbagliato il copia incolla, quello giusto è questo:
/etc/pulse/default.pa. Ora correggo subito l’articolo, grazie per la segnalazione
1 aprile, 2009 alle 13:29
@yemmi
LOL guarda caso ci becchiamo dappertutto anche in altri siti.. alla fine cosa hai fatto? hai disinstallato pulseaudio?
io ho grossi problemi con pulse, e l’ho provato su 2 pc differenti. secondo me questa tecnologia non è ancora molto matura, ora provo a modificare come nell’articolo, e poi vedo se và. ma s enon dovesse andare credo che anch’io opterò per la rimozione dipulseaudio, spero che con fedora11 risolvono questi problemi.