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.