Torniamo a parlare di WSL 2 (Windows Subsystem for Linux) dopo i recenti articoli sull’aggiornamento del kernel via Windows Update e sul tool di terze parti Hello Sudo, che consente di abilitare l’autenticazione biometrica. Argomento di oggi è l’audio nel WSL 2. Microsoft ha già in programma di aggiungere il supporto integrato per l’audio, vediamo però come fare per abilitarlo fino a quando la casa di Redmond non rilascerà un aggiornamento ufficiale.
Abilitiamo l’audio sul WSL 2
Questa guida funziona solo con il WSL 2 (qui trovate la nostra guida all’installazione). Se volete essere certi di avere la versione 2 attiva aprite un’istanza di PowerShell e date wsl -l -v
: dovrebbe restituirvi VERSION = 2
. Se non vedete un numero di versione, o se appare un messaggio di errore, state usando il WSL 1.
Su Windows
Dopo aver verificato di avere a bordo il WSL 2 la prima cosa da fare è scaricare PulseAudio su Windows. Estraete il contenuto dell’archivio e rinominate la cartella che contiene il file eseguibile pulseaudio.exe
e gli altri eseguibili chiamandola pulse
. Copiate la cartella pulse
in C:\
(creando di fatto il percorso C:\pulse\pulseaudio.exe
). Create poi un file config.pa
in C:\pulse\
e aggiungete le seguenti righe all’interno del file per abilitare le connessioni locali:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12
load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12
load-module module-waveout sink_name=output source_name=input record=0
127.0.0.1
è il localhost mentre 172.16.0.0/12
è lo spazio degli indirizzi (172.16.0.0 – 172.31.255.255) per il WSL2.
Sul WSL 2
Assicuratevi di avere libpulse0
installato, se non l’avete installatelo. Su Ubuntu/Debian può essere installato dando il seguente comando:
sudo apt install libpulse0
Il nome del pacchetto potrebbe cambiare da distribuzione a distribuzione. Terminata l’installazione devete modificare il file ~ /.bashrc con un editor di testo aggiungendo in fondo al file le seguenti righe:
export HOST_IP="$(ip route |awk '/^default/{print $3}')"
export PULSE_SERVER="tcp:$HOST_IP"
#export DISPLAY="$HOST_IP:0.0"
Potete scommentare la variabile DISPLAY
se siete interessati anche alle app grafiche. Salvate le modifiche e applicatele dando source ~/.bashrc
.
Installate PulseAudio su Windows
Per avviare PulseAudio come servizio Windows useremo NSSM, che può essere scaricato da qui. Estraete il contenuto dell’archivio scaricato e poi copiate l’eseguibile nssm.exe
, posto nella cartella win64
, in C:\pulse\
. Quindi lanciate PowerShell eseguendolo come amministratore (tasto destro, esegui come amministratore) e date C:\pulse\nssm.exe install PulseAudio
. Se tutto procede come previsto si aprirà una finestra come la seguente:
Nella scheda Application impostate i seguenti percorsi:
- Path:
C:\pulse\pulseaudio.exe
- Startup directory:
C:\pulse
- Arguments:
-F C:\pulse\config.pa --exit-idle-time=-1
. Dove-F
permette il lancio all’avvio mentre--exit-idle-time=-1
consente di chiudere il demone dopo un periodo di inattività.
- Service name:
PulseAudio
Recatevi poi nella scheda Details
e alla voce Display name
digitate PulseAudio
. Al termine cliccate su Install service
. Per rimuovere PulseAudio date C:\pulse\nssm.exe remove PulseAudio
in PowerShell.
A questo punto nel Task Manager di Windows, scheda Servizi, avviate il servizio PulseAudio (tasto destro, Start). Dopo un riavvio del PC il servizio si avvierà automaticamente, non dovrete lanciarlo a mano. Il gioco è fatto, PulseAudio ora dovrebbe funzionare correttamente. Dovreste essere in grado di sentire l’audio delle applicazioni all’interno del WSL 2!
Dubbi? Domande? Problemi? Scrivete nel box dei commenti Disqus qui sotto!!!😄😄😄
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.