So, odd thing, When Pipewire is the only audio server that runs in a session, audio is broken as has been seen. However, you can actually get Pipewire working using the following weird trick:
- Start audio in Tor Browser, wait for it to hang
- Pause the audio
sudo apt install pulseaudio
systemctl --user disable pipewire-pulse.socket
systemctl --user disable pipewire-pulse
systemctl --user disable pipewire.socket
systemctl --user disable pipewire
systemctl --user stop pipewire-pulse
systemctl --user stop pipewire
systemctl --user start pulseaudio
- Start audio, hear it play
- Stop audio again
systemctl --user disable pulseaudio.socket
systemctl --user disable pulseaudio
systemctl --user stop pulseaudio
systemctl --user start pipewire
systemctl --user start pipewire-pulse
- Start audio, it will actually play through Pipewire now!
If you install qpwgraph, you can see that Pipewire is indeed being used for audio now. I haven’t tested it for an extended period of time but it seems to be stable at least to begin with.
Perhaps Pipewire is doing something related to initialization wrong? It seems like Pulseaudio is able to initialize the audio somehow and then things work with Pipewire thereafter.