4.2 sound issue and temporary fix

I had no issues with sound whatsoever before switching to 4.2.
I’ve commented the line with module-suspend-on-idle in etc/pulse/default.pa, but I still have no sound(crossed speaker with red line, no recognition in settings) from one reboot to another.
I did find a quick, temporary fix to that, but want to put it in here to help others and for Qube’s team to fix the issue.

The fix: in system wide settings go to audio and change the profile back and forth, from Analog Stereo Duplex(just an example), to Analog Stereo Output and back. That will bring the recognition of the audio and will work.

I don’t yet use sys-audio, just saying.

Hey, I solved the issue by removing pipewire (both from dom0 and template) and reinstalling pulseaudio-qubes (in template).

dom0:

sudo dnf remove pipewire

Template:

sudo apt remove pipewire
sudo apt autoremove
sudo apt install pulseaudio-qubes

Note:
On debian-12-xfce, this will remove qubes-vm-recommend, which includes many Qubes related packages. It will mark them as “no longer required” and they will be removed when you run autoremove at another time, which could break a lot of things.

The following packages were automatically installed and are no longer required:
  curl debugedit deltarpm distro-info-data dnf dnf-data fakeroot fwupd-qubes-vm jcat libcomps0 libdnf2 libdnf2-common libfakeroot libfsverity0 libimagequant0 libjcat1 liblua5.3-0
  libmodulemd2 libraqm0 librepo0 librpm9 librpmbuild9 librpmio9 librpmsign9 libsolv1 libsolvext1 libunbound8 python-apt-common python-babel-localedata python3-apt python3-babel
  python3-certifi python3-chardet python3-charset-normalizer python3-click python3-colorama python3-croniter python3-dateutil python3-distutils python3-dnf python3-gpg python3-hawkey
  python3-jinja2 python3-jmespath python3-lib2to3 python3-libcomps python3-libdnf python3-looseversion python3-markupsafe python3-msgpack python3-numpy python3-olefile python3-packaging
  python3-pil python3-psutil python3-py python3-pycryptodome python3-qubesimgconverter python3-requests python3-rpm python3-tqdm python3-tz python3-unbound python3-yaml python3-zmq
  qubes-core-agent-dom0-updates qubes-core-agent-passwordless-root qubes-gpg-split qubes-img-converter qubes-input-proxy-sender qubes-mgmt-salt-vm-connector qubes-pdf-converter
  qubes-repo-templates qubes-usb-proxy rpm rpm-common rpm2cpio salt-common salt-ssh sqlite3 usbutils
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  pipewire-qubes qubes-vm-recommended
The following NEW packages will be installed:
  pulseaudio-qubes
1 Like

Thank, but removing something that was deliberately added as part of an upgrade is… welp… weird at best.

pulseaudio-qubes is the suggested package to install in minimal templates for audio.

It was for Qubes OS 4.1, it’s outdated now for Qubes OS 4.2.

This documentation is based on 4.1 and earlier. Qubes 4.2 introduced pipewire as a replacement for pulseaudio. Installing pulseaudio-qubes on Debian-based qubes will have the effect I talked about in my previous post.

Pipewire isn’t a replacement for pulseaudio from my understanding. Qubes 4.2 has added support to it but as written in PR #6358 (Pipewire audio support), “PipeWire in dom0 is not officially supported. Audio playback and recording are known to work, but features such as sound volume save & restore don’t.”

PipeWire is not being used in dom0 by default but it’s used in templates by default in Qubes OS 4.2.

This time, after another couple of reboots, I now don’t have that option to recover from system settings. There’s simply no things to tweak there… only progress bars for notifications, sys-net playback etc…
I can click on "Show inactive devices though, but there’s nothing to select like previous time.
I don’t have sound now at all.

I encountered the same issue, no more audio since upgrading to 4.2
I also don’t have sys-audio

I tried changing Dom0 → “Volume Control” → “Configuration” → Profile → “Analog Stereo Input” to another profile and then changing it back to “Analog Stereo Input”, but still no audio.

Then tried actions from qubes_lover

dom0:

sudo dnf remove pipewire

Template:

sudo apt remove pipewire
sudo apt autoremove
sudo apt install pulseaudio-qubes

(Except the latter part was not done in template, but on Standalone Debian 11 VM)

Then rebooted.

Still no audio,
Then tried again changing Dom0 → “Volume Control” profile, this time I could see “Analog Stereo Duplex” among the options, it wasn’t there before, and after changing back to “Analog Stereo Output” or changing to “Analog Stereo Duplex” now the audio now works again (both Laptop’s speakers and jack headphones)

1 Like

Thanks to @kysstfafm’s notes, this does appear to be related to pipewire and pulseaudio both wanting to manage the audio devices in parallel. From my experience, I noticed that whenever an audio stream ended the audio would be lost, indicating that pulseaudio had likely released the sink device.

I’ve edited both /etc/pulse/default.pa and /etc/pulse/system.pa in dom0 since I haven’t had the time to investigate whether both of the configuration files are being loaded/parsed on boot and with some testing, the audio works well across reboots.

In system.pa the line is around line 50, in default.pa the line is near line 110.

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle

@dumbquestions Make sure to select a profile that has an output, “Analog stereo input” simply means that you’d only like an input (microphone). Analog Stereo Duplex is a profile that supports input and output. Sorry, I missed the last part on your reply.

2 Likes