You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
This is a little related to MIDI and JACK support but it can live as it's own issue.
Describe the solution you'd like
Currently, the team considered PulseAudio, which is fine by itself, however, if you factor in Flatpaks in someone's WSL setup or JACK support, PA wouldn't really be a good system for this. Hence, Pipewire should be installed instead since it handles both use cases for PA and JACK.
Describe alternatives you've considered
A custom CBL-Mariner Distro would have done the job but I don't know how well it'll work since I believe the current implementation relies on PA but it should work.
Reacted by Hristo Hristov, Hristo Hristov, mattpepin, polv, Takase, Christian Fosli, Zheyu Shen, Daniel Tang, AS, Mr. Squid and 31 more
Reacted by Michael Keck, Tim Gromeyer and Paperdev
Fedora enabled Wayland and Pipewire by default. There is a great chance that Ubuntu 22.04 will come with both enabled by default. It's about time to switch to the modern desktop technologies.
Ayase Minori (@sr229) A better title for this would be: "Enable/Use Pipewire by default".
Reacted by David Hamill, Vinfall and Mr Beedell, Roke Julian Lockhart
One would also be able to use PipeWire for obtaining the camera contents (and being able to do so across several apps at once, at that!) and grab the screen contents for screensharing too. PipeWire isn't just audio.
One would also be able to use PipeWire for obtaining the camera contents (and being able to do so across several apps at once, at that!) and grab the screen contents for screensharing too. PipeWire isn't just audio.
When I historically made this issue, the main focus was for PA/JACK. I wasn't aware PW supported most multimedia interfaces, which is a nice thing to know.
Seems as Ubuntu 22.10 will get pipewire by default, so it is probably time to have a solution here :)
We'll have to implement some support in the system distro as well (the Linux system in charge of forwarding graphical requests to RDP in WSL), so someone either:
Adds support by adding PW in the system distro, removing PA and measure the impact of such changes on some legacy PA-reliant programs
Have two versions of the WSLg system distro side by side to measure behavior.
Worth noting that PipeWire has released version 1.0.0
To copy from their release notes:
"PipeWire represents the next evolution of audio handling for Linux, taking
the best of both pro-audio (JACK) and desktop audio servers (PulseAudio) and
linking them into a single, seamless, powerful new system."
- Paul Davis, JACK and Ardour author
"PipeWire is a worthy successor to PulseAudio, providing a feature set
closer to how modern audio hardware works, and with a security model
with today's application concepts in mind. Version 1.0 marks a
major milestone in completing the adoption of PipeWire in the standard
set of Linux subsystems. Congratulations to the team!"
- Lennart Poettering, Pulseaudio and systemd author
Reacted by Michael Keck, null, Ayase Minori, Giovanni Allegri, ちーず(・8・)けーき and lemonmaster
I noticed this issue because the developers of Audacity refused to fix the bug on wslg because they disliked Pulse Audio. I'm referring to audacity/audacity#10236 .
Kind of off-topic question, but: Where do you see that the Audacity developers did not like PulseAudio? I see only this and it seems like a valid point to me: "These libraries are intentionally left to the system to provide, and bundling them in the breaks things"
(And problems like these are unfortunately quite common with AppImages.)
Kind of off-topic question, but: Where do you see that the Audacity developers did not like PulseAudio? I see only this and it seems like a valid point to me: "These libraries are intentionally left to the system to provide, and bundling them in the breaks things"
(And problems like these are unfortunately quite common with AppImages.)
This is a bit off-topic, but considering that I found they didn't reply to me within a week and their GitHub account wasn't hacked, this is the only conclusion I can draw.
Although this seems like a dependency that should be installed beforehand in https://github.com/ubuntu/WSL , it would seem strange to put code into Ubuntu WSL without making changes on the WSL side, given that the Pulse Audio plugin's code is imported from the WSLg repository. By the way, I know that AppImage has never been a true sandbox, but Audacity only has third-party snapcraft and flatpak packages, and the disconnect from the official repository often causes problems.
The Audacity developers don't really consider Pulse Audio a typical audio system.
Also, I think it's probably fair for Audacity to assume that the user has a functioning sound system set up.
Putting Audacity aside, to be honest, I'm confused by the content of https://github.com/microsoft/wslg/blob/main/azure-pipelines.yml . The Azure Pipeline configuration file doesn't have dedicated unit tests; it completely relies on the result of component builds to determine wslg's availability? And testing Azure requires me to register a company in the real world and open an account on https://www.azure.cn/ ? I personally find it hard to believe that GitHub didn't provide Microsoft with the highest-performing GitHub Actions Runner.
Have two versions of the WSLg system distro side by side to measure behavior.
To be honest, I find it hard to imagine that wslg is only tested by humans and not by writing unit tests. azure-pipelines.yml seems completely unconcerned about this.
I made some minor updates to Replace PulseAudio with PipeWire/WirePlumber audio stack in WSLg #1418 to resolve merge conflicts; however, since there has been no further response from Microsoft staff, I haven't updated it to PipeWire 1.6—mainly because I don't know what they are doing in their internal CI.
Activity
Zingam commentedon Jun 15, 2021
Fedora enabled Wayland and Pipewire by default. There is a great chance that Ubuntu 22.04 will come with both enabled by default. It's about time to switch to the modern desktop technologies.
Ayase Minori (@sr229) A better title for this would be: "Enable/Use Pipewire by default".
Aerocatia commentedon Nov 22, 2021
This would be nice to run JACK programs through pipewire.
Biswa96 commentedon Nov 22, 2021
What would be the command to replace pulseaudio with pipewire in this file? https://github.com/microsoft/wslg/blob/main/WSLGd/main.cpp
Aerocatia commentedon Nov 23, 2021
Pipewire would need the RDP sink/source implemented for it to work.
capoei commentedon Mar 4, 2022
Do we have any way allready to make Pipewire or Jack work in WSLg?
robberos commentedon May 31, 2022
Is it possible to setup pipewire's pulse audio tunnel https://docs.pipewire.org/page_module_pulse_tunnel.html? Seems promising, if the existing WSL solution is using pulse as server on windows side? Anyone tried?
Seems as Ubuntu 22.10 will get pipewire by default, so it is probably time to have a solution here :)
i2 commentedon Mar 4, 2023
Is there any update on this?
orowith2os commentedon Sep 24, 2023
One would also be able to use PipeWire for obtaining the camera contents (and being able to do so across several apps at once, at that!) and grab the screen contents for screensharing too. PipeWire isn't just audio.
sr229 commentedon Sep 25, 2023
When I historically made this issue, the main focus was for PA/JACK. I wasn't aware PW supported most multimedia interfaces, which is a nice thing to know.
sr229 commentedon Sep 25, 2023
We'll have to implement some support in the system distro as well (the Linux system in charge of forwarding graphical requests to RDP in WSL), so someone either:
Adds support by adding PW in the system distro, removing PA and measure the impact of such changes on some legacy PA-reliant programs
Have two versions of the WSLg system distro side by side to measure behavior.
orowith2os commentedon Sep 25, 2023
Not an issue. PipeWire provides pipewire-pulse, pipewire-jack, and pipewire-alsa. I believe it also provides an LD_PRELOAD for v4l2 applications.
jthoward64 commentedon Nov 27, 2023
Worth noting that PipeWire has released version 1.0.0
To copy from their release notes:
Beryesa commentedon Aug 20, 2024
Any plans on this? :P
ohault commentedon Mar 6, 2025
PipeWire 1.4 is released, what are the WSLg roadmap to move to PipeWire?
razamatan commentedon Jan 11, 2026
+2026
linghengqian commentedon Jan 27, 2026
So, does Microsoft need to fork https://gitlab.freedesktop.org/pipewire/pipewire and modify something, just like with https://github.com/microsoft/PulseAudio-mirror ?
I noticed this issue because the developers of Audacity refused to fix the bug on wslg because they disliked Pulse Audio. I'm referring to audacity/audacity#10236 .
AsciiWolf commentedon Jan 27, 2026
Kind of off-topic question, but: Where do you see that the Audacity developers did not like PulseAudio? I see only this and it seems like a valid point to me: "These libraries are intentionally left to the system to provide, and bundling them in the breaks things"
(And problems like these are unfortunately quite common with AppImages.)
linghengqian commentedon Jan 27, 2026
This is a bit off-topic, but considering that I found they didn't reply to me within a week and their GitHub account wasn't hacked, this is the only conclusion I can draw.
Although this seems like a dependency that should be installed beforehand in https://github.com/ubuntu/WSL , it would seem strange to put code into Ubuntu WSL without making changes on the WSL side, given that the Pulse Audio plugin's code is imported from the WSLg repository. By the way, I know that AppImage has never been a true sandbox, but Audacity only has third-party snapcraft and flatpak packages, and the disconnect from the official repository often causes problems.
The Audacity developers don't really consider Pulse Audio a typical audio system.
Putting Audacity aside, to be honest, I'm confused by the content of https://github.com/microsoft/wslg/blob/main/azure-pipelines.yml . The Azure Pipeline configuration file doesn't have dedicated unit tests; it completely relies on the result of component builds to determine wslg's availability? And testing Azure requires me to register a company in the real world and open an account on https://www.azure.cn/ ? I personally find it hard to believe that GitHub didn't provide Microsoft with the highest-performing GitHub Actions Runner.
To be honest, I find it hard to imagine that wslg is only tested by humans and not by writing unit tests.
azure-pipelines.ymlseems completely unconcerned about this.linghengqian commentedon Jan 28, 2026
If Microsoft hadn't forked the git repository for PipeWire and WirePlumber, writing
.patchfiles in wslg would have been quite a pain.Using Azure instead of GitHub Actions for CI is just as agonizing.
ohault commentedon Feb 19, 2026
PipeWire version 1.6 has just been released.
https://www.phoronix.com/news/PipeWire-1.6
pffang commentedon Sep 20, 2026
If WSL2 works fine, we can try linking PipeWire to Microsoft Pulse SoundServer
create a config file ~/.config/pipewire/pipewire.conf.d/50-wsl-virtual-hardware.conf
This works fine on my Ubuntu 26.04 on WSL2
suspend-on-idle is necessary, or you'll lose sound after playing once.
linghengqian commentedon Oct 9, 2026