Standard Dom0 pulseaudio configuration not working

Historically I have has issues with my webcam microphone not working. but today I woke up to attend a zoom meeting and found that I had absolutely no audio at all. No speakers, nothing.

Apparently my Dom0 pulseaudio configuration is somehow messed up but I don’t have a clear understanding of how everything is supposed to connect together or even what processes are supposed to be running in Dom0. I’m just flailing around at trying things and probably just digging myself deeper without having the clear architecture in my head of how all the pieces are supposed to fit together.

My Dom0 pulseaudio service says its running but I can’t connect to it (pavucontrol | PulseAudio Manager). The speaker control at the top never connects and PulseAudioManager does not ether, yet the pulseaudio.service is running and pulseaudio.socket is apparently running. Restarting these services does not help but rather just times out.

Q: What Dom0 packages are supposed to be installed for audio and what services/processes are supposed to be running?

[scoleman@dom0 ~]$ systemctl --user status pulseaudio
● pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/user/pulseaudio.service.d
└─30_qubes.conf
Active: activating (start-pre) since Wed 2025-01-22 12:46:41 EST; 9s ago
TriggeredBy: ● pulseaudio.socket
Cntrl PID: 4537 (qubesdb-read)
Tasks: 1 (limit: 4622)
Memory: 236.0K
CPU: 10ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio.service
└─4537 /usr/bin/qubesdb-read -w /qubes-audio-domain-xid

Jan 22 12:46:41 dom0 systemd[2940]: Starting pulseaudio.service - Sound Service…

[scoleman@dom0 ~]$ systemctl --user restart pulseaudio
Job for pulseaudio.service failed because a timeout was exceeded.
See “systemctl --user status pulseaudio.service” and “journalctl --user -xeu pulseaudio.service” for details.

[scoleman@dom0 ~]$ journalctl --user -xeu pulseaudio.service
░░ Support: systemd-devel Info Page
░░
░░ Automatic restarting of the unit UNIT has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Jan 22 13:05:59 dom0 systemd[2940]: Stopped pulseaudio.service - Sound Service.
░░ Subject: A stop job for unit UNIT has finished
░░ Defined-By: systemd
░░ Support: systemd-devel Info Page
░░
░░ A stop job for unit UNIT has finished.
░░
░░ The job identifier is 754 and the job result is done.

$ journalctl -b | grep -i -e snd -e sound -e alsa -e sof -e audio
Jan 22 12:32:37 dom0 kernel: software IO TLB: area num 8.
Jan 22 12:32:37 dom0 kernel: Performance Events: unsupported p6 CPU model 158 no PMU driver, software events only.
Jan 22 12:32:37 dom0 kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
Jan 22 12:32:37 dom0 kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Jan 22 12:32:37 dom0 kernel: software IO TLB: mapped [mem 0x0000000184a00000-0x0000000188a00000] (64MB)
Jan 22 12:32:37 dom0 kernel: ata2.00: Features: Trust Dev-Sleep NCQ-sndrcv
Jan 22 12:32:37 dom0 kernel: ata5.00: Features: Trust Dev-Sleep NCQ-sndrcv
Jan 22 12:32:55 dom0 kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Jan 22 12:32:55 dom0 kernel: snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3861: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
Jan 22 12:32:55 dom0 kernel: snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Jan 22 12:32:55 dom0 kernel: snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
Jan 22 12:32:55 dom0 kernel: snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
Jan 22 12:32:55 dom0 kernel: snd_hda_codec_realtek hdaudioC0D0: inputs:
Jan 22 12:32:55 dom0 kernel: snd_hda_codec_realtek hdaudioC0D0: Mic=0x19
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH Line Out Front as /devices/pci0000:00/0000:00:1f.3/sound/card0/input16
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH Line Out Surround as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH Line Out CLFE as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input19
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21
Jan 22 12:32:55 dom0 kernel: input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input22
Jan 22 12:32:55 dom0 systemd[1]: alsa-restore.service - Save/Restore Sound Card State was skipped because of a failed condition check (ConditionPathExists=!/etc/alsa/state-daemon.conf).
Jan 22 12:32:55 dom0 systemd[1]: Started alsa-state.service - Manage Sound Card State (restore and store).
Jan 22 12:32:55 dom0 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg=‘unit=alsa-state comm=“systemd” exe=“/usr/lib/systemd/systemd” hostname=? addr=? terminal=? res=success’
Jan 22 12:32:55 dom0 systemd[1]: Reached target sound.target - Sound Card.
Jan 22 12:32:55 dom0 alsactl[2071]: alsactl 1.2.9 daemon started
Jan 22 12:32:59 dom0 systemd[2858]: Listening on pulseaudio.socket - Sound System.
Jan 22 12:33:06 dom0 systemd[2940]: Listening on pulseaudio.socket - Sound System.
Jan 22 12:33:06 dom0 systemd[2940]: Starting pulseaudio.service - Sound Service…
Jan 22 12:33:17 dom0 systemd[2858]: Closed pulseaudio.socket - Sound System.
Jan 22 12:34:37 dom0 systemd[2940]: pulseaudio.service: start-pre operation timed out. Terminating.
Jan 22 12:34:37 dom0 systemd[2940]: pulseaudio.service: Failed with result ‘timeout’.
Jan 22 12:34:37 dom0 systemd[2940]: Failed to start pulseaudio.service - Sound Service.
Jan 22 12:34:37 dom0 systemd[2940]: pulseaudio.service: Scheduled restart job, restart counter is at 1.
Jan 22 12:34:37 dom0 systemd[2940]: Stopped pulseaudio.service - Sound Service.
Jan 22 12:34:37 dom0 systemd[2940]: Starting pulseaudio.service - Sound Service…
Jan 22 12:36:07 dom0 systemd[2940]: pulseaudio.service: start-pre operation timed out. Terminating.
Jan 22 12:36:07 dom0 systemd[2940]: pulseaudio.service: Failed with result ‘timeout’.
Jan 22 12:36:07 dom0 systemd[2940]: Failed to start pulseaudio.service - Sound Service.
Jan 22 12:36:07 dom0 systemd[2940]: pulseaudio.service: Scheduled restart job, restart counter is at 2.
Jan 22 12:36:07 dom0 systemd[2940]: Stopped pulseaudio.service - Sound Service.
Jan 22 12:36:07 dom0 systemd[2940]: Starting pulseaudio.service - Sound Service…
Jan 22 12:37:38 dom0 systemd[2940]: pulseaudio.service: start-pre operation timed out. Terminating.
Jan 22 12:37:38 dom0 systemd[2940]: pulseaudio.service: Failed with result ‘timeout’.
Jan 22 12:37:38 dom0 systemd[2940]: Failed to start pulseaudio.service - Sound Service.
Jan 22 12:37:38 dom0 systemd[2940]: pulseaudio.service: Scheduled restart job, restart counter is at 3.
Jan 22 12:37:38 dom0 systemd[2940]: Stopped pulseaudio.service - Sound Service.
Jan 22 12:37:38 dom0 systemd[2940]: Starting pulseaudio.service - Sound Service…
Jan 22 12:39:08 dom0 systemd[2940]: pulseaudio.service: start-pre operation timed out. Terminating.
Jan 22 12:39:08 dom0 systemd[2940]: pulseaudio.service: Failed with result ‘timeout’.
Jan 22 12:39:08 dom0 systemd[2940]: Failed to start pulseaudio.service - Sound Service.
Jan 22 12:39:08 dom0 systemd[2940]: pulseaudio.service: Scheduled restart job, restart counter is at 4.
Jan 22 12:39:08 dom0 systemd[2940]: Stopped pulseaudio.service - Sound Service.
Jan 22 12:39:08 dom0 systemd[2940]: Starting pulseaudio.service - Sound Service…
Jan 22 12:40:39 dom0 systemd[2940]: pulseaudio.service: start-pre operation timed out. Terminating.
Jan 22 12:40:39 dom0 systemd[2940]: pulseaudio.service: Failed with result ‘timeout’.
Jan 22 12:40:39 dom0 systemd[2940]: Failed to start pulseaudio.service - Sound Service.
Jan 22 12:40:39 dom0 systemd[2940]: pulseaudio.service: Scheduled restart job, restart counter is at 5.
Jan 22 12:40:39 dom0 systemd[2940]: Stopped pulseaudio.service - Sound Service.
Jan 22 12:40:39 dom0 systemd[2940]: Starting pulseaudio.service - Sound Service…
Module libsndfile.so.1 with build-id 243013210d9d9a6032435d59ccfe497a8fba1fa8
Metadata for module libsndfile.so.1 owned by FDO found: {
“name” : “libsndfile”,
“name” : “pulseaudio”,
“name” : “pulseaudio”,
“name” : “pulseaudio”,
Jan 22 12:42:09 dom0 systemd[2940]: pulseaudio.service: start-pre operation timed out. Terminating.
Jan 22 12:42:09 dom0 systemd[2940]: pulseaudio.service: Failed with result ‘timeout’.

Reinstalling any existing Dom0 packages doesn’t see to help either.

1 Like

dom0 has been supporting pipewire for a while now, you should probably switch to it anyway as it makes everything more stable and clearer audio-wise.

Use the following command in dom0 and see if it solves your issues:

sudo qubes-dom0-update --switch-audio-server-to=pipewire
2 Likes

After doing that and rebooting the PulseAudio Manager now connects and the speaker control is no longer muted, but there is still no sound from anywhere. I do however hear clicks when VM’s start but no audio coming from them.

What else can I check? Are there pipewire packages that need to be installed and running in the VM’s? I do see /usr/bin/pipewire running in a VM. qubes-pipewire is installed there, but still no sound.

1 Like

In each qube and in dom0, you should have pipewire, wireplumber and pipewire-pulse installed and running (only pipewire-pulse can be absent from the processes, because it runs when audio is needed).
Check with this:

sudo ps aux | grep wire

If you have no audio, try installing pipewire-utils in a fedora qube, run pw-top and try some youtube audio tests in firefox. You should see some “R” lines like this appear (and pipewire-pulse should also appear in the process list):

R   35    512  44100  95.1us 161.8us  0.01  0.01    0    S16LE 2 44100 qubes-sink
R   63    826  44100  35.1us  20.5us  0.00  0.00    0    F32LE 2 44100  + Firefox
R   66   3307  44100  56.5us   6.5us  0.00  0.00    0    F32LE 2 44100  + Firefox

You can also install pipewire-utils in dom0 to use pw-top there. When you play some audio, you should see a new line with the name of the current qube playing the audio below your audio card’s “output” line.

pipewire-pulse was missing because of a package conflict:
$ sudo dnf install pipewire-pulseaudio
Updating and loading repositories:
Repositories loaded.
Failed to resolve the transaction:
Problem: problem with installed package

  • installed package pulseaudio-17.0-2.fc41.x86_64 conflicts with pulseaudio-daemon provided by pipewire-pulseaudio-1.2.5-1.fc41.x86_64 from fedora
  • package pipewire-pulseaudio-1.2.5-1.fc41.x86_64 from fedora conflicts with pulseaudio provided by pulseaudio-17.0-2.fc41.x86_64 from fedora
  • package pipewire-pulseaudio-1.2.5-1.fc41.x86_64 from fedora conflicts with pulseaudio-daemon provided by pulseaudio-17.0-2.fc41.x86_64 from fedora
  • conflicting requests
  • installed package pulseaudio-17.0-2.fc41.x86_64 conflicts with pulseaudio-daemon provided by pipewire-pulseaudio-1.2.7-1.fc41.x86_64 from updates
  • package pipewire-pulseaudio-1.2.7-1.fc41.x86_64 from updates conflicts with pulseaudio provided by pulseaudio-17.0-2.fc41.x86_64 from fedora
  • package pipewire-pulseaudio-1.2.7-1.fc41.x86_64 from updates conflicts with pulseaudio-daemon provided by pulseaudio-17.0-2.fc41.x86_64 from fedora
    You can try to add to command line:
    –allowerasing to allow removing of installed packages to resolve problems
    –skip-broken to skip uninstallable packages
    [user@fedora-41-ex ~]$ sudo dnf install --allowerasing pipewire-pulseaudio
    Updating and loading repositories:
    Repositories loaded.
    Package Arch Version Repository Size
    Removing dependent packages:
    pulseaudio x86_64 17.0-2.fc41 fedora 3.7 MiB
    pulseaudio-module-bluetooth x86_64 17.0-2.fc41 fedora 315.6 KiB
    pulseaudio-qubes x86_64 4.2.20-1.fc41 qubes-vm-r4.2-current 42.1 KiB
    Installing:
    pipewire-pulseaudio x86_64 1.2.7-1.fc41 updates 423.9 KiB

Transaction Summary:
Installing: 1 package
Removing: 3 packages

Total size of inbound packages is 206 KiB. Need to download 206 KiB.
After this operation, 4 MiB will be freed (install 424 KiB, remove 4 MiB).
Is this ok [y/N]:

So which is actually required here? pulseaudio-qubes or pipewire-pulseaudio? Is there any pseudo package that installs all the right components?

Ok, I installed pipewire-utils and pipewire-pulseaudio and booted another VM but still didn’t have audio in the default configuration.

The reason is under the Audio Mixer volume control “Playback” tab there is a drop-down selector box with “Built-in Audio Pro” and “Built-in Audio Pro 3”, “Built-in Audio Pro 7” , and “Built-in Audio Pro 8” for each VM. When I switched my test VM to the “Pro 3” entry I then finally had audio from YouTube.

Q: Why are there so many selections when I only have one audio device?

It remember that previously, before things broke so badly, I had to mess with these drop-down entries in order to get audio working, and sometimes I just need to switch the correct one to something else and back again to get things working. Is it possible to remove the non-working entries somehow?

pulseaudio-qubes is the utils package for pulseaudio, for pipewire it is pipewire-qubes.

No idea, I guess it is related to your audio card. I personally have 2 because of my integrated audio card and the one coming from my GPU.
Try setting the working one in the Output Devices tab and see if it still works across reboots.
Also, check the Configuration tab and see if you can select something different for your audio card.

I converted from pulseaudio to wireplumber and was able to get audio out of applications and my webcam video also works, but for some reason its not recognizing to audio device in the webcam. It still seems buggy to me but I was able to get some YouTube videos to cooperate, but not all. I’m still having to play with the settings until something works. Today I could listen to a Zoom conference but had no microphone.

> systemctl --user status pipewire wireplumber
...
*sys-usb wireplumber[1477]: s-monitors-utils: skipping device libcamera:\_SB_.PCI0.S7__-2.1:1.0-3443:60bb*

This device worked before, a number on months ago, but now is not being recognized by wireplumber/alsa

pactl list cards
pactl_list_cards.log (2.3 KB)

The thing is I had a webcam that about a year ago the audio stopped working, so I bought another that was compatible with Linux. It did work for a while, then stopped just like the old one where the support had apparently been discontinued in the kernel. Now this one isn’t working either.

How do I figure out what drivers or software are needed in sys-usb to recognize the audio of this camera?