-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Pipewire Audio Driver #23939
base: master
Are you sure you want to change the base?
Pipewire Audio Driver #23939
Conversation
e4dc473
to
fea0b81
Compare
a9ce01a
to
c26c45d
Compare
Great job, thank you so much! I asked @DmitryArefiev to test it. @MarcSabatella could you also test it? Thanks! |
@rtbo Tried on my LinuxUbuntu 22.04. The build doesn't run.. Here is terminal output:
|
Same. |
rebased on master. |
This is done. The code now bounds buffer size between |
a2a3b56
to
91e4c9a
Compare
Tested on LinuxUbuntu24.04.2 LTS (Wayland) - All good. I have sound during playback and note input |
On Ubuntu 22.04 I have no sound on note input / preview and playback does not start Sorry for the bad video, but this shows it working in Nightly and not working in this PR https://drive.google.com/file/d/1jfWYilnk5NM-sWuLrOy2ccpHdvia0b_2/view?usp=sharing |
Creates issues when selected during runtime
MS likely can't uphold requirements
Your log file doesn't include pipewire log (I don't know how to redirect pipewire log out of standard outputs). Can you repeat your test with |
For me it doesn't work anymore as well :-/ Everything is fine with 1024 buffer size (both 44100 and 48000 Hz). Going to 512 is creating many issues:
@RomanPudashkin do you have any idea? |
Resolves (on linux): #18701
This is a new audio driver for Linux, that uses the Pipewire API, (and therefore will only be used when Pipewire is installed and running).
For system that do not have pipewire, it will fallback to ALSA automatically.
Pipewire performs a setup negotiation to match what is requested by the app and what is setup on the system.
So the buffer size is more a request for a certain latency rather than something imperative.
I've added support for "System default" buffer size where we don't request anything specific to pipewire.
In general, pipewire will handle gracefully all sorts of corner cases.
My observations are for a low latency playback, free of any glitch, in all situations.
Pipewire also provides the devices available, so the user can choose any playback device available, including bluetooth.
I didn't test yet with USB external device.
Relates to #23439