Per quasi vent’anni, gestire l’audio su Linux è stata una di quelle esperienze che ti facevano rimpiangere il momento in cui avevi deciso di abbandonare Windows. Non importava quanto fossi esperto, prima o poi ti scontravi con il muro della frammentazione. Da un lato c’era PulseAudio, il demone che garantiva un’esperienza decente per l’uso quotidiano (musica, video, chiamate) ma crollava non appena provavi a fare qualcosa di più ambizioso, come registrare una traccia con latenza reale. Dall’altro lato c’era JACK, potentissimo ma spartano, progettato per studi di registrazione professionali e ostile a qualsiasi tentativo di convivenza con il resto del sistema.
Dovevi scegliere, e qualsiasi scelta facevi, perdevi qualcosa. Se poi aggiungevi il Bluetooth, con codec assenti e dispositivi che si disconnettevano senza preavviso, il quadro era completo: l’audio su Linux funzionava “abbastanza”, ma solo se non pretendevi troppo. Poi è arrivato PipeWire, e negli ultimi anni ha cambiato le regole del gioco. Con la versione 1.6 stabile e l’ecosistema ormai maturo, possiamo dire senza timore che il problema dell’audio su Linux è stato risolto e in alcuni aspetti la soluzione è persino migliore di quello che offrono gli altri sistemi operativi.
PipeWire ha risolto il caos dell’audio su Linux
PipeWire nasce nel 2017 per mano di Wim Taymans, un ingegnere Red Hat con un passato in GStreamer. Invece di dover scegliere tra PulseAudio e JACK, perché non progettare un sistema che faccia entrambe le cose, e bene? L’architettura di PipeWire si basa su un motore di elaborazione grafico a bassa latenza che gestisce simultaneamente flussi audio e video. A differenza di PulseAudio, che trattava l’audio come un flusso lineare da mixare e spedire a una destinazione, PipeWire costruisce un grafo orientato nel quale ogni applicazione è un nodo, ogni dispositivo è un nodo e i collegamenti tra di loro possono essere modificati in tempo reale senza interrompere la riproduzione.
Se tutto questo ti sembra astratto, pensa alla differenza tra un mixer analogico cablato una volta per tutte e un mixer digitale dove puoi spostare i cavi con un dito mentre la musica continua a suonare. Questa flessibilità è la ragione principale per cui PipeWire può fare da ponte tra il mondo consumer e quello professionale senza richiedere riavvii del servizio o riconfigurazioni manuali.

Il demone PipeWire si occupa di instradare i flussi, allocare i buffer, schedulare i nodi. Le decisioni su cosa collegare a cosa sono delegate a un session manager esterno, e lo standard de facto è WirePlumber, che dalla versione 0.5 in poi ha raggiunto una maturità notevole. Questo significa che volendo puoi sostituire WirePlumber con un altro session manager se le sue politiche non ti soddisfano senza toccare una riga del demone. Prova a fare un’operazione simile con PulseAudio o JACK e capirai subito la differenza.
A livello di sicurezza, PipeWire introduce un modello di permessi che si integra perfettamente con Flatpak, Wayland e i portali D-Bus. Quando un’applicazione in sandbox vuole accedere al microfono o alla webcam, non chiede direttamente al dispositivo ma passa attraverso un portale che negozia i permessi con PipeWire. Niente più app che spiano il microfono in background, niente più gruppi audio e video da gestire a mano, uno per uno, con /etc/group.
Tutte le novità della versione 1.6
Se hai seguito la transizione da PulseAudio a PipeWire nei primi anni, potresti pensare che sia una storia già nota. Quello che forse non sai è quanto il progetto si sia spinto oltre nel 2025 e 2026. La versione 1.6, pubblicata il 19 febbraio 2026, introduce diverse novità che cambiano il modo in cui interagisci con l’audio. La più rilevante riguarda il Bluetooth e il codec LDAC. Insieme a numerosi miglioramenti nella negoziazione dei codec e nella stabilità delle connessioni, oggi ascoltare e trasmettere musica hi-res via Bluetooth su Linux non richiede più patch.
Parallelamente, il numero massimo di canali audio è stato portato a 128 come impostazione predefinita. Se non lavori in un teatro o in uno studio di post-produzione, questo numero può sembrarti irrilevante ma è un segnale importante: PipeWire si sta preparando a gestire configurazioni audio professionale che finora erano appannaggio esclusivo di hardware dedicato e driver ASIO su Windows. Sempre in tema pro-audio, l’integrazione di MIDI 2.0 (arrivata con la versione 1.4 e ormai stabile) permette di usare controller e strumenti moderni con una risoluzione e una dinamica che il vecchio MIDI 1.0 non poteva nemmeno sognare.
L’aspetto forse più interessante di PipeWire 1.6 riguarda però filter-graph e i nuovi plugin FFmpeg e ONNX. Fino a oggi, per applicare effetti audio in tempo reale dovevi configurare catene di filtri LADSPA o LV2, con tutti i limiti del caso.
Con il plugin FFmpeg, puoi inserire un filtro AVFilterGraph direttamente nel grafo di PipeWire: qualsiasi cosa tu possa fare con FFmpeg a livello audio, ora puoi farla in tempo reale mentre ascolti o registri.
Il plugin ONNX è ancora più interessante perché permette di caricare modelli di machine learning direttamente nel flusso audio. Silero VAD (Voice Activity Detection) è l’esempio più noto, ma le possibilità vanno ben oltre: immagina un filtro di soppressione del rumore basato su un modello AI che gira localmente, sulla tua macchina, senza inviare i tuoi dati a nessun server. Con PipeWire e un modello ONNX, ora puoi costruirlo.
Installare e configurare PipeWire
Se la tua distribuzione è degli ultimi due o tre anni, è molto probabile che PipeWire sia già installato e attivo. Fedora lo ha come default dalla versione 34 (2021), Ubuntu dalla 22.10, Arch Linux lo ha sostituito a PulseAudio ormai da tempo, e openSUSE Tumbleweed segue la stessa strada. Anche RHEL 9, che di solito viaggia con calma, ha adottato PipeWire come server audio predefinito. Per verificare la situazione, apri un terminale e controlla:
pactl info | grep "Server Name"
Se vedi scritto “PulseAudio (on PipeWire)” sei già a cavallo: stai usando la compatibilità PulseAudio fornita da PipeWire. Se invece vedi solo “PulseAudio” significa che il demone originale è ancora in esecuzione, e puoi sostituirlo. Per controllare la versione esatta di PipeWire:
pipewire --version
La versione 1.6.x è quella che vuoi per avere il decoder LDAC, ONNX e i 128 canali.
Se devi installare PipeWire da zero o aggiornare da PulseAudio, il procedimento è piuttosto lineare. Su Ubuntu e derivate:
sudo apt install pipewire pipewire-pulse wireplumber
sudo apt install pipewire-audio-client-libraries
systemctl --user enable --now pipewire pipewire-pulse wireplumber
Su Fedora e RHEL (o Rocky Linux / AlmaLinux):
sudo dnf install pipewire pipewire-pulseaudio wireplumber
sudo dnf swap pulseaudio pipewire-pulseaudio --allowerasing
systemctl --user enable --now pipewire pipewire-pulse wireplumber
Su Arch Linux, se non lo hai ancora:
sudo pacman -S pipewire pipewire-pulse wireplumber
systemctl --user enable --now pipewire pipewire-pulse wireplumber
Dopo l’installazione, una verifica rapida è utile per assicurarsi che tutto sia allineato:
pactl info | grep "Server Name"
Dovresti vedere “PulseAudio (on PipeWire)”. Per testare l’audio vero e proprio, lancia un file con paplay o apri YouTube nel browser. Se senti, funziona.
Per quanto riguarda il Bluetooth, la configurazione aggiuntiva dipende dai codec che vuoi usare. PipeWire 1.6 include già il supporto per SBC, AAC, LDAC, LC3 e OPUS. Non devi fare nulla di speciale, se non accoppiare le cuffie con bluetoothctl o dall’interfaccia grafica delle impostazioni. Se vuoi forzare l’uso di LDAC a scapito di altri codec, puoi creare o modificare il file di configurazione:
~/.config/wireplumber/bluetooth.lua.d/51-codec-override.lua
Con un contenuto simile a questo:
rule = {
matches = {
{
{ "device.name", "matches", "bluez_card.*" },
},
},
apply_properties = {
["bluez5.codec"] = "ldac",
},
}
Dopodiché, riavvia WirePlumber:
systemctl --user restart wireplumber
Se invece preferisci la qualità massima ma vuoi lasciare la scelta automatica, PipeWire gestisce la negoziazione in base alla latenza misurata e alla potenza del segnale, quindi puoi anche non toccare nulla.
Uso quotidiano, audio professionale e scenari avanzati
PipeWire funziona bene fin da subito, ma se vuoi spremere ogni goccia di prestazione o personalizzare il comportamento, ci sono alcune regolazioni che vale la pena conoscere.
Partiamo dalla latenza. Per l’uso normale (YouTube, Spotify, riunioni Zoom) la latenza predefinita è più che accettabile e non noterai ritardi. Se invece usi una DAW come Ardour, Reaper o Bitwig, o se suoni una chitarra elettrica con effetti in tempo reale, hai bisogno di latenze più basse. PipeWire permette di configurare la dimensione del buffer e la frequenza di campionamento globale attraverso il profilo di configurazione.
Il file da modificare è /etc/pipewire/pipewire.conf (o la copia locale in ~/.config/pipewire/pipewire.conf se preferisci non toccare i file di sistema). La sezione che interessa è context.properties:
default.clock.rate = 48000
default.clock.allowed-rates = [ 44100 48000 88200 96000 ]
default.clock.quantum = 256
default.clock.min-quantum = 64
default.clock.max-quantum = 8192
Il parametro quantum è il numero di campioni per buffer: più è basso, minore è la latenza ma maggiore è il carico sulla CPU. Un valore di 256 campioni a 48 kHz dà circa 5 millisecondi di latenza, che è già un ottimo punto di partenza per la musica dal vivo. Se hai una CPU potente, puoi scendere a 128 o addirittura 64. Il min-quantum permette a PipeWire di scendere automaticamente quando necessario, mentre max-quantum mette un tetto per evitare che applicazioni poco ottimizzate pretendano buffer enormi.
Un’altra feature poco conosciuta ma estremamente utile è la possibilità di creare sink virtuali. Vuoi registrare l’audio del tuo desktop mentre fai una live streaming? Catturare l’uscita di un’applicazione specifica senza tutta la confusione del sistema? Con PipeWire puoi creare un sink virtuale con un comando:
pactl load-module module-null-sink sink_name=streaming sink_properties=device.description=Streaming
Poi colleghi l’applicazione a quel sink e la tua DAW o OBS può catturarlo come se fosse una scheda audio separata. Su PulseAudio questa operazione era possibile ma soggetta a crash, su PipeWire è stabile e immediata.
Per quanto riguarda i filtri in tempo reale, il sistema filter-graph di PipeWire con i nuovi plugin ONNX e FFmpeg apre scenari che prima erano riservati a software costosi. Per esempio, puoi applicare un equalizzatore parametrico a tutto l’audio di sistema creando un filtro builtin. Crei un file ~/.config/pipewire/pipewire.conf.d/filter-chain-eq.conf:
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Equalizzatore Sistema"
media.name = "Equalizzatore Sistema"
filter.graph = {
nodes = [
{
type = builtin
name = eq
label = bq_peaking
control = { "Freq" = 80 "Q" = 1.0 "Gain" = 3.0 }
}
]
inputs = [ "eq:In" ]
outputs = [ "eq:Out" ]
}
capture.props = {
node.name = "capture.eq"
media.class = Audio/Sink
}
playback.props = {
node.name = "equalizzatore.sistema"
media.class = Audio/Source
}
}
}
]
Naturalmente non è necessario scrivere filtri a mano per l’uso quotidiano: strumenti come qpwgraph (un patchbay grafico per PipeWire, analogo a PulseAudio Volume Control ma molto più avanzato) ti permettono di collegare e scollegare i nodi con il mouse, visualizzare il grafo completo in tempo reale e salvare configurazioni. È uno di quei programmi che non sapevi di volere finché non lo provi.
Supporto per il Bluetooth e i dispositivi moderni
Il Bluetooth è sempre stato il tallone d’Achille dell’audio desktop, su qualsiasi sistema operativo. Su Linux, la situazione era particolarmente critica perché PulseAudio non supportava nativamente i codec ad alta qualità. PipeWire ha cambiato tutto a partire dalle versioni 1.2 e 1.4, ma è con la 1.6 che il supporto Bluetooth raggiunge un livello che non ha nulla da invidiare a Windows o macOS.
LDAC è un codec proprietario sviluppato da Sony che permette di trasmettere audio a 24-bit/96 kHz via Bluetooth con un bitrate fino a 990 kbps, circa tre volte superiore a quello dell’SBC standard. La trasmissione LDAC verso le cuffie (l’encoder) è disponibile in PipeWire da tempo, con tanto di negoziazione dinamica: PipeWire può scalare automaticamente il bitrate da 330 a 990 kbps in base alla qualità del segnale, garantendo la migliore qualità possibile senza interruzioni. La novità della 1.6 è invece il decoder LDAC nativo, che fino a oggi mancava: ora il tuo PC può anche ricevere un flusso LDAC, completando il quadro in entrambe le direzioni. Si tratta di una delle tante migliorie Bluetooth della release, che insieme rendono le connessioni più stabili e la gestione dei codec più affidabile.
Oltre a LDAC, PipeWire supporta anche LC3 (Low Complexity Communication Codec), lo standard del nuovo Bluetooth LE Audio. LE Audio è il futuro del Bluetooth, consuma meno energia, permette di trasmettere a più dispositivi contemporaneamente (broadcast audio) e introduce i profili BAP (Basic Audio Profile) per una gestione più flessibile dei flussi. Se hai cuffie o auricolari recenti con supporto LE Audio, PipeWire le riconosce automaticamente e le gestisce con il codec LC3. Le versioni future del progetto, già in lavorazione, aggiungeranno anche il supporto per i dispositivi ASHA (Audio Streaming for Hearing Aids), pensati per protesi acustiche, allargando ulteriormente la compatibilità.
Un’altra caratteristica su cui vale la pena soffermarsi è la gestione dei dispositivi audio USB. Se usi interfacce audio come Focusrite Scarlett, Universal Audio o RME, PipeWire le riconosce con il profilo pro-audio appropriato, configurando automaticamente la dimensione del buffer e la frequenza di campionamento in base alle loro capacità. Su PulseAudio, spesso dovevi installare driver specifici o modificare manualmente i file di configurazione di ALSA per ottenere risultati decenti. Con PipeWire, la maggior parte delle interfacce viene ora rilevata e configurata correttamente al primo collegamento.
Passaggio a PipeWire
A questo punto, la domanda non è più “se” migrare a PipeWire, ma “come farlo nel modo più indolore“. Se sei su una distribuzione moderna, probabilmente hai già fatto il passaggio senza accorgertene. Se invece tieni ancora in vita un sistema con PulseAudio originale, magari perché “ha sempre funzionato“, ti consiglio di fare il salto, e non perché devi inseguire l’ultima novità ma perché i vantaggi sono evidenti.
PipeWire è ormai il motore audio predefinito su ogni distribuzione degna di questo nome e gestisce scenari che PulseAudio poteva solo sognare: LDAC in entrambe le direzioni (encoder e ora anche decoder) per il Bluetooth hi-res, 128 canali per configurazioni multicanale, MIDI 2.0 per strumenti moderni, plugin ONNX per filtri AI in tempo reale e filtri FFmpeg integrati direttamente nel grafo audio. Su Windows, per ottenere metà di queste funzionalità devi installare driver ASIO proprietari e software come VoiceMeeter per instradare l’audio. Su macOS, LDAC non è nativamente supportato, punto.
Concludiamo con i limiti: la gestione video, promessa fin dagli esordi, è ancora in ritardo rispetto all’audio e il supporto LE Audio broadcast è in arrivo ma non ancora completamente integrato. Tuttavia, per l’uso quotidiano come musica, podcast, chiamate, gaming e produzione musicale amatoriale, PipeWire non ha rivali nel mondo open source.













