6 marzo 2019

Come resettare PulseAudio (e risolvere il problema di Sound Delay) in Linux Mint 19.1/Ubuntu 18.04 - How to reset Pulseaudio (and solve a sound delay problem) in Linux Mint 19.1/Ubuntu 18.04

Qualche tempo fa mi è successo un curioso incidente: stavo vedendo un film. Ho interrotto la riproduzione e dopo una mezz'ora ho avviato un altro film. L'audio era ritardato di circa 1 secondo. Ho riavviato il PC (non avevo voglia di fare debug) ma al reboot il problema si è ripresentato con tutti i player (vlc, MPV,) e anche su amazon video e netflix.
Dopo una lunga ricerca su google ho trovato un primo indizio sul wiki di Arch Linux.
A quanto pare "il problema potrebbe essere causato da una dimensione non corretta dei buffer"

Quindi, nel file:

/etc/pulse/daemon.conf

Ho impostato:

default-fragments = 4
default-fragment-size-msec = 2

Dopodichè ho riavviato il computer ma il problema è rimasto.
Ovviamente non è necessario riavviare il computer su linux per riavviare un pezzo del sistema. Per riavviare pulseaudio, da terminale come utente normale si procede così:

pulseaudio -k

che termina il processo pulseaudio. Entro pochi secondi systemd lo farà ripartire automaticamente. 
Ho continuato la ricerca e ho scoperto che pulseaudio ha dei files di configurazione locali 'per utente' posizionati nella cartella

/home/nomeutente/.config/pulse

cosa che mi è parsa subito ovvia quando ho notato che il riavvio del server audio va fatto come utente normale e non come root.

Quindi, dopo aver 'aggiustato' i parametri del buffer questi files di configurazione vanno cancellati prima di  riavviare il server audio.

mv ~/.config/pulse ~/.config/pulse.old
pulseaudio -k

questa procedura ha risolto il mio problema.
Ovviamente, quando siete sicuri che è tutto ok, i vecchi files di configurazione possono essere traquillamente cancellati:

rm -rf ~/.config/pulse.old

Tutto risolto?
No. Il vero problema è: "che cosa è successo al mio sistema per 'rompere' la configurazione?"
Purtroppo, non sono riuscito a individuarne la causa e questo, su sistema linux, è uno smacco serio.


********************************************************************************************************


A curious incident happened to me some time ago: I was watching a movie. I stopped playing and after half an hour I started another movie. The audio was delayed by about 1 second. I restarted the PC (I did not want to debug) but after the reboot the problem has recurred with all the players (vlc, MPV,) and also on amazon video and netflix.

After a long search on google I found a first clue on the wiki of Arch Linux.

Apparently "the problem could be caused by an incorrect buffer size"
So, in the file:

/etc/pulse/daemon.conf

I set:

default-fragments = 4
default-fragment-size-msec = 2

Then I restarted the computer but the problem remained.
Obviously it is not necessary to restart the computer on linux to restart a piece of the system. To restart pulseaudio, from the terminal as a normal user:

pulseaudio -k

which ends the pulseaudio process. Within a few seconds, systemd will restart it automatically.

I continued the search and found that pulseaudio has local configuration files 'per user' located in the folder
/home/nomeutente/.config/pulse

which seemed obvious to me when I noticed that the audio server should be restarted as a normal user and not as root.
Therefore, after having adjusted the buffer parameters, these configuration files must be deleted before restarting the audio server.

mv ~/.config/pulse ~/.config/pulse.old
pulseaudio -k

this procedure solved my problem.

Of course, when you're sure it's ok, the old configuration files can be quietly deleted:

rm -rf ~/.config/pulse.old

All solved?

No. The real problem is: "What happened to my system to 'break' the configuration?"

Unfortunately, I could not identify the cause and this, on linux system, is a serious failure.




Nessun commento:

Posta un commento

Che ne dici?