Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use Pipewire instead of PA #290

Open
sr229 opened this issue Jun 14, 2021 · 12 comments
Open

use Pipewire instead of PA #290

sr229 opened this issue Jun 14, 2021 · 12 comments
Labels
enhancement New feature or request

Comments

@sr229
Copy link

sr229 commented Jun 14, 2021

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.

@sr229 sr229 added the enhancement New feature or request label Jun 14, 2021
@Zingam
Copy link

Zingam commented 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.

@sr229 A better title for this would be: "Enable/Use Pipewire by default".

@Aerocatia
Copy link

This would be nice to run JACK programs through pipewire.

@Biswa96
Copy link
Contributor

Biswa96 commented 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
Copy link

Pipewire would need the RDP sink/source implemented for it to work.

@capoei
Copy link

capoei commented Mar 4, 2022

Do we have any way allready to make Pipewire or Jack work in WSLg?

@robberos
Copy link

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
Copy link

i2 commented Mar 4, 2023

Is there any update on this?

@orowith2os
Copy link

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
Copy link
Author

sr229 commented Sep 25, 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.

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
Copy link
Author

sr229 commented Sep 25, 2023

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 :)

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
Copy link

Adds support by adding PW in the system distro, removing PA and measure the impact of such changes on some legacy PA-reliant programs

Not an issue. PipeWire provides pipewire-pulse, pipewire-jack, and pipewire-alsa. I believe it also provides an LD_PRELOAD for v4l2 applications.

@jthoward64
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

9 participants