-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
How to use Pipewire to replace PulseAudio? #88596
Comments
|
how would I do this? I haven't worked with audio systems on NixOS before. |
You can use something like
and include it in |
It seems the functionnality you want is implemented in PR #93725. With this module you wouldn't need to run programs through |
Will be fixed by #93725. |
The abovementioned PR has been merged. Pipewire can be used with the following in configuration.nix: # Not strictly required but pipewire will use rtkit if it is present
security.rtkit.enable = true;
services.pipewire = {
enable = true;
# Compatibility shims, adjust according to your needs
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
}; When the pulse compatibility layer is enabled most applications should see your audio devices like they would with native pulseaudio. Steam and Discord are known to not detect the emulation layer for now. And you'll want to at least check with qjackctl or patchage to make sure your applications are connected to useful inputs & outputs (by default they weren't on my system). |
@jansol is there an open issue about using steam and discord with pipewire? (and lutris, i believe) |
The pulse-server introduced in 0.3.14 might be of interest #102514 |
Opened #102547 for tracking the status of pipewire and its integrations in one place. (should probably really be a wiki page) |
@anna328p why reopen? Most apps are working out of the box with the pulse emulation now. Unless they depend directly on the native libpulseaudio.so in their wrapper scripts or the like. |
I reopened this for the Steam and Discord issues. |
From what I'm understanding, the solution you want depends on the upstream to support it, stemming from the fact that you are redirecting the ALSA output to Pulseaudio, which Pipewire does not have full compatibility with. If you're trying to mainly use Pipewire, I would recommend redirecting the output to Pipewire and using the library shims to run Pulseaudio/Jack applications, or manually executing workarounds for the applications (probably something like |
Upstream does have a module to let the pipewire server act as a fake pulseaudio server (pulse-bridge). I tried starting pipewire manually with that module enabled and lo and behold, discord, steam and all steam games I tried worked without any further involvement. |
Upstream just simplified our job a lot by generating a separate systemd service to load pulse-bridge, see #102547 (comment) |
there is no reason to have two issues open for the same thing, especially if comments are just going to be duplicated across anyway. #102547 is the tracking issue for pipewire as a whole. |
Issue description
I have been trying to use PipeWire as a PulseAudio replacement. Here are some things that I have tried:
pw-pulse
as they do not load the Pulse emulation libraries provided by Pipewire.What would I need to do to run pipewire as my audio server?
The text was updated successfully, but these errors were encountered: