Windows build number:
10.0.26200.0
Your Distribution version:
26.04
Your WSL versions:
WSL version: 2.7.3.0
Kernel version: 6.6.114.1-1
WSLg version: 1.0.73
MSRDC version: 1.2.6676
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.8655
WSLg ( x86_64 ): 1.0.73+Branch.main.Sha.23e4d92dd13d1a614357e30c4b5a96f9981abc2c
Built at: Wed Jan 14 23:41:44 UTC 2026
Azure Linux: VERSION="3.0.20260107"
pulseaudio: c33051f2296af748ac5cd13e51abfac4d129e4c7
FreeRDP: c4030980b29322a9cb2190711a5fadeeeb8b6a33
weston: 2318fecaeac1f1a2d5a7a042c34d931c71dae04c
- App/audio stack:
- Strawberry 1.2.18
- Qt 6.10.2
- GStreamer 1.28.2
- PulseAudio server reported by WSLg: 17.0-25-gc3305
- Strawberry output:
pulsesink
Steps to reproduce:
Although this bug is triggered specifically by an app (Strawberry - https://github.com/strawberrymusicplayer/ ), the bug appears to be in WSLg pulseaudio since the bug does not exist when running the app in a non WSL linux environment.
Strawberry works initially under WSLg, but after playback is paused, the audio path can become unrecoverable. The most reliable trigger is:
- Start Strawberry.
- Play a song.
- Pause the song.
- Switch away from Strawberry, or open Settings and save any setting.
- Return to Strawberry and press Play.
WSL logs:
pulseaudio.log
weston.log
stderr.log
WslLogs-2026-06-11_15-50-52.tar.gz
Current pactl info when healthy:
Server String: unix:/mnt/wslg/PulseServer
Server Name: pulseaudio
Server Version: 17.0-25-gc3305
Default Sink: RDPSink
Default Source: RDPSource
Current relevant Pulse modules:
module-stream-restore
module-suspend-on-idle
module-role-cork
module-rdp-sink sink_name=RDPSink
module-rdp-source source_name=RDPSource
module-native-protocol-unix socket=/mnt/wslg/PulseServer auth-anonymous=true
WSL dumps:
No response
Expected behavior:
Playback resumes from a pause
Actual behavior:
Strawberry UI remains responsive, but playback does not resume. Sometimes pactl shows a Strawberry stream stuck/corked. Other times there is no active Strawberry sink-input even though Strawberry still appears to think it can resume.
All audio is blocked. For example, before triggering this bug, I could play an mp3 file from the command line using mplayer. However, after triggering this bug, I get:
AO: [pulse] Init failed: Timeout
Failed to initialize audio driver 'pulse'
Using Stop instead of Pause avoids the issue. If I stop playback before changing settings, playback can be started again normally.
When the bug occurs, the bad state appears related to paused/corked playback rather than the Settings dialog itself.
At one point, pactl list sink-inputs showed the Strawberry stream as:
application.name = "Strawberry"
media.role = "music"
Corked: yes
In other reproductions, after the pause/settings trigger:
pactl info
still worked, but there were no Strawberry sink inputs. Sending strawberry --play externally could sometimes create a new sink input, but the normal UI play/resume path did not recover.
I also tested the same MP3 file outside Strawberry with plain GStreamer:
gst-launch-1.0 -q playbin uri='file:///path/to/file.mp3' audio-sink=pulsesink video-sink=fakesink
That worked when WSLg audio was awake, and PulseAudio remained responsive afterward. So the file itself does not seem to be the trigger.
Windows build number:
10.0.26200.0
Your Distribution version:
26.04
Your WSL versions:
WSL version: 2.7.3.0
Kernel version: 6.6.114.1-1
WSLg version: 1.0.73
MSRDC version: 1.2.6676
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.8655
WSLg ( x86_64 ): 1.0.73+Branch.main.Sha.23e4d92dd13d1a614357e30c4b5a96f9981abc2c
Built at: Wed Jan 14 23:41:44 UTC 2026
Azure Linux: VERSION="3.0.20260107"
pulseaudio: c33051f2296af748ac5cd13e51abfac4d129e4c7
FreeRDP: c4030980b29322a9cb2190711a5fadeeeb8b6a33
weston: 2318fecaeac1f1a2d5a7a042c34d931c71dae04c
pulsesinkSteps to reproduce:
Although this bug is triggered specifically by an app (Strawberry - https://github.com/strawberrymusicplayer/ ), the bug appears to be in WSLg pulseaudio since the bug does not exist when running the app in a non WSL linux environment.
Strawberry works initially under WSLg, but after playback is paused, the audio path can become unrecoverable. The most reliable trigger is:
WSL logs:
pulseaudio.log
weston.log
stderr.log
WslLogs-2026-06-11_15-50-52.tar.gz
Current pactl info when healthy:
Server String: unix:/mnt/wslg/PulseServer
Server Name: pulseaudio
Server Version: 17.0-25-gc3305
Default Sink: RDPSink
Default Source: RDPSource
Current relevant Pulse modules:
module-stream-restore
module-suspend-on-idle
module-role-cork
module-rdp-sink sink_name=RDPSink
module-rdp-source source_name=RDPSource
module-native-protocol-unix socket=/mnt/wslg/PulseServer auth-anonymous=true
WSL dumps:
No response
Expected behavior:
Playback resumes from a pause
Actual behavior:
Strawberry UI remains responsive, but playback does not resume. Sometimes
pactlshows a Strawberry stream stuck/corked. Other times there is no active Strawberry sink-input even though Strawberry still appears to think it can resume.All audio is blocked. For example, before triggering this bug, I could play an mp3 file from the command line using mplayer. However, after triggering this bug, I get:
Using Stop instead of Pause avoids the issue. If I stop playback before changing settings, playback can be started again normally.
When the bug occurs, the bad state appears related to paused/corked playback rather than the Settings dialog itself.
At one point,
pactl list sink-inputsshowed the Strawberry stream as:In other reproductions, after the pause/settings trigger:
pactl infostill worked, but there were no Strawberry sink inputs. Sending
strawberry --playexternally could sometimes create a new sink input, but the normal UI play/resume path did not recover.I also tested the same MP3 file outside Strawberry with plain GStreamer:
gst-launch-1.0 -q playbin uri='file:///path/to/file.mp3' audio-sink=pulsesink video-sink=fakesinkThat worked when WSLg audio was awake, and PulseAudio remained responsive afterward. So the file itself does not seem to be the trigger.