Conversation
8118fa1 to
fbef317
Compare
fbef317 to
df8faaa
Compare
|
See also #109362 which may also add PipeWire support |
018674e to
4d5ab14
Compare
|
I rebased the commits so that this PR no longer depends on #109500. |
65505a9 to
4b41930
Compare
39d2839 to
3e9e33f
Compare
3e9e33f to
88dad13
Compare
2da7822 to
0cb0d11
Compare
fe2c0f9 to
f1c07ca
Compare
|
f1c07ca now uses |
f1c07ca to
6286dfa
Compare
777b476 to
343a871
Compare
0ad83d7 to
2a060a2
Compare
2a060a2 to
0f7c43c
Compare
9a306e1 to
c5ddbdf
Compare
|
Tested briefly on Fedora 43 (using PipeWire as audio server with default config) and it seems to work fine. I haven't reviewed the code yet. How to validate that it's indeed using PipeWire directly and not via the pipewire-pulse plugin? What kind of benefits are expected from this new driver, aside from sidestepping pipewire-pulse on systems defaulting to PipeWire? Edit: I just read the proposal in godotengine/godot-proposals#10723. It mentions lacking audio input in ALSA, and too much latency in PulseAudio. Does this PR solve those two shortcomings? Regarding the vendored headers in The downside is that we'd have to document which files should be copied / removed when updating the library. |
|
I check if a program is using pipewire directly by doing |
If I did the profiling correctly, we can expect the new driver having much lower driver time (
That makes sense, I'll try to trim down unused headers in next push. |
5d5902e to
3bd20d5
Compare
3bd20d5 to
f22e4eb
Compare
Closes godotengine/godot-proposals#10723
This PR adds PipeWire audio driver for linuxbsd platform.
Distro support
This PR expects PipeWire version 1.0.0 or higher. Here is the non-exhaustive list of minimum Linux distribution version required for the driver to work.
libpipewire-0.3.soversionHow to test the driver
The new PipeWire audio driver does not take precedence over existing PulseAudio driver at the moment. You can change
audio/driver/driverto "PipeWire" in Project Settings, or use--audio-driver PipeWirearguments to test the driver.Vendored PipeWire headers
This PR introduces new thirdparty headers to enable PipeWire support. A brief list of added PipeWire and SPA headers as of version 1.0.0 (the list may change if we update the headers in future) is documented to give a better grasp on how these headers are included.