miércoles, 1 de julio de 2026

Tropezando - Parte 24 bis - PipeWire en KDE Neon

En la entrada anterior expliqué cómo y por qué instalar PulseAudio y dejar PipeWire anulado. Con PipeWire estaba sufriendo problemas con el sonido en varias aplicaciones: cortes, chasquidos, ruidos....
Al parecer, se debe a que por defecto se establece un búfer de audio muy pequeño para evitar latencias, y cuando el sistema está bajo una carga intensa, aunque sea puntual, ese búfer no puede mantenerse alimentado a tiempo, se queda temporalmente sin datos y empiezan los problemas. La solución es aumentar el tamaño de ese búfer creando un archivo de configuración con valores más conservadores.

Actualización: Después de unos días de uso, el sistema de audio seguía petardeando. Lo he resuelto usando otra distribución: https://nuevopinguino.blogspot.com/2026/07/tropezando-parte-24-bis-bis-kubuntu-2604.html

Es relativamente fácil:
- Creamos, como administrador, el archivo /etc/pipewire/pipewire.conf
sudo mkdir /etc/pipewire
sudo mkdir /etc/pipewire/pipewire.conf.d/
sudo pluma /etc/pipewire/pipewire.conf.d/pipewire.conf

- Guardamos en él los siguientes valores:
 context.properties = {
    default.clock.rate          = 48000
    default.clock.allowed-rates = [ 48000 ]
    default.clock.quantum       = 800
    default.clock.min-quantum   = 512
    default.clock.max-quantum   = 1024
}

- Reiniciamos el sistema de audio:
 systemctl --user restart pipewire pipewire-pulse wireplumber

Si es necesario, reiniciamos el ordenador.

Y ya está, se acabaron los chasquidos.

Información encontrada aquí: https://forum.endeavouros.com/t/pipewire-guide-audio-crackling-popping-and-latency/69602 

Revertir los cambios que hice:

En la entrada anterior explicaba esto:

systemctl --user stop pipewire.socket pipewire-pulse.socket
systemctl --user disable pipewire.socket pipewire-pulse.socket
systemctl --user mask pipewire.socket pipewire-pulse.socket
systemctl --user enable pulseaudio.service pulseaudio.socket
systemctl --user start pulseaudio.service pulseaudio.socket
 

Sólo hay que hacer lo contrario y en orden inverso:

systemctl --user stop pulseaudio.service pulseaudio.socket
systemctl --user disable pulseaudio.service pulseaudio.socket

systemctl --user unmask pipewire.socket pipewire-pulse.socket

systemctl --user enable pipewire.socket pipewire-pulse.socket

systemctl --user start pipewire.socket pipewire-pulse.socket

En teoría, debería funcionar directamente, aunque yo necesité reiniciar el ordenador para que los cambios hicieran efecto.

Después es cuestión de reinstalar el meta paquete puñetero, neon-desktop, y el sistema se encargó de desinstalar PulseAudio. Desde entonces, las actualizaciones vuelven a funcionar correctamente.

No hay comentarios: