Upgraded to 4.2 and Audio No Longer Works

…and I have rebooted and it still doesn’t work. Youtube plays the video, so it seems to think it has what it needs in the dom U. But no sound actually comes out of my speakers.

systemctl --user status pipewire shows that the pipewire service is running.

Does the audio mixer show any sound?

I didn’t do anything else, and I don’t know if this thread is only for testing.
https://forum.qubes-os.org/t/migration-dom0-audio-from-pulseaudio-to-pipewire-available-for-testing/25671

I am not sure what the audio mixer is.

The tooltray thing with the speaker simply lets one adjust volume levels.

My audio widget has a button/link that opens PulseAudio volume control

The only thing I see (other than volume sliders) is a checkbox to raise maximum volume.

Besides…isn’t PulseAudio volume control not supposed to be used any more?

OK…I remembered the command ‘pavucontrol’ but it doesn’t show me anything but sliders.

also @unman the list of things that need to be installed on a debian template (and probably also fedora), in particular, for audio, is out of date (still references pulseaudio-qubes).

OK…apparently both pipewire-qubes and pipewire-pulse are necessary. I misinterpreted what you said before about removing “pulseaudio” from domU as meaning I should remove pipewire-pulse.

So: in dom0 make sure pipewire service is running. In domU, remove pulseaudio, but ensure that pipewire-qubes and pipewire-pulse are both installed. Failing to install pipewire-pulse means your stuff will “play” but no sound will come out.

Doesn’t pipewire-qubes install pipewire-pulse?

sudo apt remove pulseaudio
sudo apt install pipewire pipewire-qubes

This is all I did, and it installed everything I needed. Except for 2 qubes that had some extra pulseaudio packages, which I had to remove manually.

I don’t believe it did. I didn’t install pipewire specifically, just pipewire-qubes. I had to specifically ask for pipewire-pulse.

However, I DID shut off recommended installs. Maybe pipewire-pulse is merely a “recommendation” rather than a dependency?

Yes, if you choose to install without recommends you probably break sound

$ apt info pipewire-qubes
Package: pipewire-qubes
...
Recommends: pipewire-pulse

I think we’ve established that it’s a certainty that sound will break under that circumstance! :slight_smile:

Since I am working with minimal templates, and there are a LOT of packages being installed by that salt state, I really don’t want recommended packages (otherwise my template ceases to be minimal because of the bloat that often comes with “recommended”).

Thanks for all the help!

Oh, crap.

Not so fast, it turns out.

Although Clementine (a music player) functions (and that’s why I thought it would work)…youtube videos still won’t start and also VLC won’t play videos. SO it seems as if Clementine will talk to pipewire-qubes and pipewire-pulse, but the other two things will not.

I don’t have any issues, YouTube, VLC, and Audacious all work with pipewire.

Maybe you are missing wireplumber, it gets installed by pipewire-pulse.

Nope that one appears to be there.

I realized that YT videos DO eventually play…but with no sound. Still, it takes a minute or so for them to spool up.

also present is pipewire-bin

Here are the packages I have installed, I don’t know which are needed.

libpulse-mainloop-glib0/stable,now 16.1+dfsg1-2+b1 amd64 [installed,automatic]
libpulse0/stable,now 16.1+dfsg1-2+b1 amd64 [installed,automatic]
libpulsedsp/stable,now 16.1+dfsg1-2+b1 amd64 [installed,automatic]
pipewire-pulse/stable,now 0.3.65-3+deb12u1 amd64 [installed]
pulseaudio-utils/stable,now 16.1+dfsg1-2+b1 amd64 [installed,automatic]
libpipewire-0.3-0/stable,now 0.3.65-3+deb12u1 amd64 [installed,automatic]
libpipewire-0.3-modules/stable,now 0.3.65-3+deb12u1 amd64 [installed,automatic]
libwireplumber-0.4-0/stable,now 0.4.13-1 amd64 [installed,automatic]
pipewire-alsa/stable,now 0.3.65-3+deb12u1 amd64 [installed,automatic]
pipewire-audio/stable,now 0.3.65-3+deb12u1 all [installed,automatic]
pipewire-bin/stable,now 0.3.65-3+deb12u1 amd64 [installed,automatic]
pipewire-pulse/stable,now 0.3.65-3+deb12u1 amd64 [installed]
pipewire-qubes/unknown,now 4.2.14-1+deb12u1 amd64 [installed]
pipewire/stable,now 0.3.65-3+deb12u1 amd64 [installed]
wireplumber/stable,now 0.4.13-1 amd64 [installed,automatic]

I’m now experimenting with just installing pipewire-qubes WITH recommendations, as a separate state in the salt file. Will edit this when I see how that goes. (I suspect polkit is the critical thing I was still missing. I found that out by uninstalling all things pipewire-y and then reinstalling (with recommends) pipewire-qubes. polkit was one of the things it said it would install.)

EDIT: Installing with recommendations appears to function. @unman When it comes time to update the minimal templates page to reflect 4.2, either everything needed should be specifically listed (because minimal template configs generally run without recommendations) or pipewire-qubes (replacing pulseaudio-qubes) ought to be highlighted as something that needs recommendations installed as well.

Okay…I’ve got youtube and VLC working, now, they play and I hear sound.

However certain other platforms I ONLY run in disposables with bright red window borders (e.g., X/twitter and whatever the heck Faceborg uses), still won’t start playing. (If there were any way to stay in contact with friends, I’d never touch these platforms.) So in spite of installing pipewire-qubes with recommendations, I’m still missing something; damfino what.

Add to this list Rumble.

EDIT: This seems to only be a problem with Firefox. Brave qubes work fine.

ANOTHER EDIT: Fixed by installing firefox WITH recommends. Not needed before, now it is.

Try this hack I use: QubesOS-Scripts/fedora-gnome/microsoft-edge.sh at ac86304bf734bc6d37ed8d0417d151854bc2cf9e · TommyTran732/QubesOS-Scripts (github.com)

It seems like certain app just fails to initialize with the pipewire-pulse socket while others have no problem with it

Edit: Typo fix

I get this when I use your policy files:

Failed to create secure directory (/run/user/1000/pulse): Operation not permitted

It doesn’t happen with the vanilla version, and it works after removing the policies and restarting Edge.

I noticed that you create the recommended directory, but put recommended.json in managed, leaving the other directory empty. Is this intentional?