-
-
Notifications
You must be signed in to change notification settings - Fork 48
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 support #6358
Comments
It conflicts with pulseaudio daemon QubesOS/qubes-issues#6358
It looks like pipewire either doesn't like my usb microphone with headphone output, or there is an issue with the usb device forwarding in fedora-35, because when I connect my usb device, firefox / youtube refuses to playback any video because it seems to have problems outputting it to the audio device. (When I disconnect the usb device, video playback instantly resumes, after giving vague error messages. Playback via VLC works fine, although the volume scaling is terrible -- even volume set to 1/100 using alsamixer is pretty loud, 5/100 is almost unbearable, distortion starts quickly.) Using journalctl -xe-t kernel, I also see a constant stream of "usb usb1: not yet implemented" multiple times each second, and "vhci_get_frame_number: 2570 callbacks suppressed" every 5 seconds. This is not an issue in a fedora-32-based qube, so I assume this is all related to the switch to pipewire. (Running Qubes 4.1 up to date with current-testing, qubes-vm-kernel 5.10, 5.15.x in dom0.) |
Good news: PipeWire has a stable ABI for plugins! |
Bad news: the documentation is not sufficient for me to be able to create something that works. I will be filing some issues. |
We don't have pipewire plugin yet, and it conflicts with pulseaudio when accessing physical audio cards (sys-audio case). Fixes QubesOS/qubes-issues#7485 Related to QubesOS/qubes-issues#6358
We don't have pipewire plugin yet, and it conflicts with pulseaudio when accessing physical audio cards (sys-audio case). Fixes QubesOS/qubes-issues#7485 Related to QubesOS/qubes-issues#6358
We don't have pipewire plugin yet, and it conflicts with pulseaudio when accessing physical audio cards (sys-audio case). Fixes QubesOS/qubes-issues#7485 Related to QubesOS/qubes-issues#6358
We don't have pipewire plugin yet, and it conflicts with pulseaudio when accessing physical audio cards (sys-audio case). Fixes QubesOS/qubes-issues#7485 Related to QubesOS/qubes-issues#6358
We don't have pipewire plugin yet, and it conflicts with pulseaudio when accessing physical audio cards (sys-audio case). Fixes QubesOS/qubes-issues#7485 Related to QubesOS/qubes-issues#6358 (cherry picked from commit b717d1e)
pulseaudio-qubes package not installable inside fedora-36-minimal: (unless i use --allowrasing) Which is what have been used in fedora-36: Effected documentation section: Audio: pulseaudio-qubes |
Use exclude list to make it easier for future versions. QubesOS/qubes-issues#6358
We do have pipewire agent already. QubesOS/qubes-issues#6358
We do have pipewire agent already. QubesOS/qubes-issues#6358
Do the same as in RPM package, to disable/enable pipewire (that would otherwise conflict with pulseaudio). QubesOS/qubes-issues#6358
Avoid conflict on listening socket if pulseaudio-qubes is installed. QubesOS/qubes-issues#6358
Since pipewire units are getting disabled on pulseaudio-qubes install, reverse the action when pulseaudio-qubes is getting removed (and usually replaced with pipewire-qubes). Note the %postun is called on the upgrade too, so use 'preset' (which will DTRT once 75-pulseaudio-qubes.preset is gone) instead of 'disable' directly. QubesOS/qubes-issues#6358
Do the same as in RPM package, to disable/enable pipewire (that would otherwise conflict with pulseaudio). QubesOS/qubes-issues#6358
Avoid conflict on listening socket if pulseaudio-qubes is installed. QubesOS/qubes-issues#6358
Since pipewire units are getting disabled on pulseaudio-qubes install, reverse the action when pulseaudio-qubes is getting removed (and usually replaced with pipewire-qubes). Note the %postun is called on the upgrade too, so use 'preset' (which will DTRT once 75-pulseaudio-qubes.preset is gone) instead of 'disable' directly. QubesOS/qubes-issues#6358
Do the same as in RPM package, to disable/enable pipewire (that would otherwise conflict with pulseaudio). QubesOS/qubes-issues#6358 (cherry picked from commit f4ea6d1)
When both pipewire and pulseaudio are installed, let pulseaudio-qubes disable pipewire, so audio in the VM will actually work. This is part of 5effd4b "Let systemd manage PulseAudio" in the main branch. QubesOS/qubes-issues#6358
Since pipewire units are getting disabled on pulseaudio-qubes install, reverse the action when pulseaudio-qubes is getting removed (and usually replaced with pipewire-qubes). Note the %postun is called on the upgrade too, so use 'preset' (which will DTRT once 75-pulseaudio-qubes.preset is gone) instead of 'disable' directly. QubesOS/qubes-issues#6358 (cherry picked from commit cf8328e)
Avoid conflict on listening socket if pulseaudio-qubes is installed. QubesOS/qubes-issues#6358 (cherry picked from commit aa43702)
The release notes of R4.2 (rc3 currently) state that PipeWire is already supported in Qubes OS. It is not obvious what is the current situation with pipewire and pulseaudio in the R4.2.
|
@jamke It means that the Qubes developers forgot to close the issue. To answer your questions:
|
Thank you @DemiMarie , I will re-post your answers on forum, because people do no understand the situation with pipewire. |
I still see this issue with my USB headphones. I am running a Fedora 40 @0spinboson: Was this issue ever resolved for you? Were you able to figure out any workarounds? |
I'm not sure, but after reviewing this issue's history, it sounds like you should probably open a separate issue for this. (In particular, it sounds like this is an enhancement request that the devs believe has been implemented, whereas you're experiencing a bug. Since this issue isn't a bug report for your bug, you should probably open an actual bug report for it, unless one already exists.) |
The problem you're addressing (if any)
Fedora 34 [will be switching to PipeWire], which brings security and functionality improvements. PipeWire is API and ABI compatible with PulseAudio, but I do not believe this compatibility extends to PipeWire plugins.
Fortunately, PipeWire has a multiprocess architecture, so we may be able to implement sinks and sources out of process. PipeWire also handles video input, meaning that we may be able to implement a paravirtualized camera system.
Describe the solution you'd like
PipeWire should be supported
Where is the value to a user, and who might that user be?
Fedora 34 users will have working audio.
Describe alternatives you've considered
We can force Fedora 34 to use PulseAudio, assuming it is still supported.
Additional context
Relevant documentation you've consulted
Related, non-duplicate issues
The text was updated successfully, but these errors were encountered: