Closed 3hhh closed 3 months ago
To fix this, I had a closer look at the differences between the working debian-11 VMs and the debian-12 VMs:
In debian-11 pulseaudio was started via /etc/xdg/autostart/qubes-pulseaudio.desktop
, which calls start-pulseaudio-with-vchan
, which in turn runs pulseaudio --start -n --file=/etc/pulse/qubes-default.pa --exit-idle-time=-1
. In debian-12 start-pulseaudio-with-vchan
is not installed and therefore the user part of systemd starts the default debian-12 pulseaudio as pulseaudio --daemonize=no --log-target=journal
.
I reverted debian-12
to the old debian-11
behaviour by copying the start-pulseaudio-with-vchan
binary and masking the systemd pulseaudio unit.
This made the following journal entry pop up:
Jan 01 12:02:35 debian-12 pulseaudio[1090]: Failed to open module module-vchan-sink.so: module-vchan-sink.so: cannot open shared object file: No such file or directory
Jan 01 12:02:35 debian-12 pulseaudio[1090]: Failed to open module "module-vchan-sink".
Jan 01 12:02:35 debian-12 pulseaudio[1090]: module-rescue-stream is obsolete and should no longer be loaded. Please remove it from your configuration.
A quick locate module-vchan
indicates that indeed the vchan module isn't installed in debian-12
, whereas it is installed in debian-11
even though the package pulseaudio-qubes
is installed in both VMs.
debian-11
has libvchan-xen
installed, debian-12
libvchan-xen1
, which is a bit odd.
@marmarek @DemiMarie Any ideas?
Can you show output of dpkg -l | grep qubes
from that template?
On 1/1/24 14:54, Marek Marczykowski-Górecki wrote:
Can you show output of
dpkg -l | grep qubes
from that template?
Output from the broken debian-12 template:
***@***.***:/home/user# dpkg -l|grep -Ei '(qubes|pipewire|pulseaudio)'
ii fwupd-qubes-vm:amd64 1.8.14-5+deb12u1 amd64 fwupd wrapper for Qubes OS - VM scripts
ii libcanberra-pulse:amd64 0.30-10 amd64 PulseAudio backend for libcanberra
ii libpipewire-0.3-0:amd64 0.3.65-3 amd64 libraries for the PipeWire multimedia server
ii libpipewire-0.3-common 0.3.65-3 all libraries for the PipeWire multimedia server - common files
ii libpulse-mainloop-glib0:amd64 16.1+dfsg1-2+b1 amd64 PulseAudio client libraries (glib support)
ii libpulse0:amd64 16.1+dfsg1-2+b1 amd64 PulseAudio client libraries
ii libpulsedsp:amd64 16.1+dfsg1-2+b1 amd64 PulseAudio OSS pre-load library
ii libqubes-pure0 4.2.15+deb12u1 amd64 Qubes file copy protocol library
ii libqubes-rpc-filecopy2 4.2.15+deb12u1 amd64 Qubes file copy protocol library
ii libqubesdb 4.2.4-1+deb12u1 amd64 QubesDB libs.
ii libspa-0.2-bluetooth:amd64 0.3.65-3 amd64 libraries for the PipeWire multimedia server - bluetooth plugins
ii libspa-0.2-modules:amd64 0.3.65-3 amd64 libraries for the PipeWire multimedia server Simple Plugin API - modules
ii libvchan-xen1 4.2.1-1+deb12u1 amd64 Qubes Xen core libraries
ii pavucontrol 5.0-2 amd64 PulseAudio Volume Control
ii pipewire-qubes 4.2.11-1+deb12u1 amd64 PipeWire module to enable sound support in Qubes VM
ii pulseaudio 16.1+dfsg1-2+b1 amd64 PulseAudio sound server
rc pulseaudio-qubes 4.1.32-1+deb12u1 amd64 Audio support for Qubes VM
ii pulseaudio-utils 16.1+dfsg1-2+b1 amd64 Command line tools for the PulseAudio sound server
ii python3-qubesdb 4.2.4-1+deb12u1 amd64 QubesDB python bindings.
ii python3-qubesimgconverter 4.2.15+deb12u1 amd64 Python package qubesimgconverter
ii qubes-core-agent 4.2.26-1+deb12u1 amd64 Qubes core agent
ii qubes-core-agent-dom0-updates 4.2.26-1+deb12u1 amd64 Scripts required to handle dom0 updates.
ii qubes-core-agent-nautilus 4.2.26-1+deb12u1 amd64 Qubes integration for Nautilus
ii qubes-core-agent-network-manager 4.2.26-1+deb12u1 amd64 NetworkManager integration for Qubes VM
ii qubes-core-agent-networking 4.2.26-1+deb12u1 amd64 Networking support for Qubes VM
ii qubes-core-agent-passwordless-root 4.2.26-1+deb12u1 amd64 Passwordless root access from normal user
ii qubes-core-qrexec 4.2.16-1+deb12u1 amd64 Qubes qrexec agent
ii qubes-gpg-split 2.0.70-1+deb12u1 amd64 The Qubes service for secure gpg separation
ii qubes-gui-agent 4.2.11-1+deb12u1 amd64 Makes X11 windows available to qubes dom0
ii qubes-img-converter 1.2.16-1+deb12u1 amd64 Qubes service for converting untrusted images into trusted ones.
ii qubes-input-proxy-sender 1.0.34-1+deb12u1 amd64 Provides Simple input events proxy
ii qubes-kernel-vm-support 4.2.15+deb12u1 amd64 Qubes VM kernel and initramfs modules
ii qubes-mgmt-salt-vm-connector 4.2.1-1+deb12u1 all Interface for managing VM from dom0
ii qubes-pdf-converter 2.1.19-1+deb12u1 amd64 The Qubes service for converting untrusted PDF files into trusted ones
ii qubes-repo-templates 4.2.2-1+deb12u1 amd64 Repository definition for Qubes OS VM template packages.
ii qubes-usb-proxy 1.1.5+deb12u1 amd64 USBIP wrapper to run it over Qubes RPC connection
ii qubes-utils 4.2.15+deb12u1 amd64 Qubes Linux utilities
ii qubes-vm-dependencies 4.2.9-1+deb12u1 amd64 Meta package with packages required in Qubes VM
ii qubes-vm-recommended 4.2.9-1+deb12u1 amd64 Meta package with packages recommended in Qubes VM
ii qubesdb 4.2.4-1+deb12u1 amd64 QubesDB management tools and daemon.
ii qubesdb-vm 4.2.4-1+deb12u1 amd64 QubesDB VM service.
ii xserver-xorg-input-qubes 4.2.11-1+deb12u1 amd64 X input driver for injecting events from qubes-gui-agent
ii xserver-xorg-qubes-common 4.2.11-1+deb12u1 amd64 Common functions for qubes xserver driver
ii xserver-xorg-video-dummyqbs 4.2.11-1+deb12u1 amd64 Dummy X video driver for qubes-gui-agent
rc pulseaudio-qubes 4.1.32-1+deb12u1 amd64 Audio support for Qubes VM
So, pulseaudio-qubes
actually is not installed. For pulseaudio to work you need to install it.
On 1/1/24 17:02, Marek Marczykowski-Górecki wrote:
rc pulseaudio-qubes 4.1.32-1+deb12u1 amd64 Audio support for Qubes VM
So,
pulseaudio-qubes
actually is not installed. For pulseaudio to work you need to install it.
Argh. You're right - I had missed that rc
in front...
Apparently it was removed during the 4.2 upgrade:
Start-Date: 2023-12-28 13:00:09 Commandline: apt dist-upgrade Requested-By: user (1000) Install: jcat:amd64 (0.1.9-1, automatic), pipewire-qubes:amd64 (4.2.11-1+deb12u1, automatic), libvchan-xen1:amd64 (4.2.1-1+deb12u1, automatic), libqubes-pure0:amd64 (4.2.15+deb12u1, automatic), fwupd-qubes-vm:amd64 (1.8.14-5+deb12u1, automatic), python3-pyinotify:amd64 (0.9.6-2, automatic), python3-qrexec:amd64 (4.2.16-1+deb12u1, automatic) Upgrade: qubes-core-qrexec:amd64 (4.1.24-1+deb12u1, 4.2.16-1+deb12u1), libqrexec-utils2:amd64 (4.1.24-1+deb12u1, 4.2.16-1+deb12u1), qubesdb-vm:amd64 (4.1.17-1+deb12u1, 4.2.4-1+deb12u1), qubes-core-agent-dom0-updates:amd64 (4.1.46-1+deb12u1, 4.2.26-1+deb12u1), xserver-xorg-video-dummyqbs:amd64 (4.1.32-1+deb12u1, 4.2.11-1+deb12u1), qubes-core-agent-network-manager:amd64 (4.1.46-1+deb12u1, 4.2.26-1+deb12u1), xserver-xorg-input-qubes:amd64 (4.1.32-1+deb12u1, 4.2.11-1+deb12u1), qubes-vm-dependencies:amd64 (4.1.24-1+deb12u1, 4.2.9-1+deb12u1), python3-qubesdb:amd64 (4.1.17-1+deb12u1, 4.2.4-1+deb12u1), python3-qubesimgconverter:amd64 (4.1.19+deb12u1, 4.2.15+deb12u1), libqubes-rpc-filecopy2:amd64 (4.1.19+deb12u1, 4.2.15+deb12u1), libqubesdb:amd64 (4.1.17-1+deb12u1, 4.2.4-1+deb12u1), qubes-core-agent:amd64 (4.1.46-1+deb12u1, 4.2.26-1+deb12u1), qubes-core-agent-passwordless-root:amd64 (4.1.46-1+deb12u1, 4.2.26-1+deb12u1), qubes-gui-agent:amd64 (4.1.32-1+deb12u1, 4.2.11-1+deb12u1), qubes-core-agent-networking:amd64 (4.1.46-1+deb12u1, 4.2.26-1+deb12u1), qubes-mgmt-salt-vm-connector:amd64 (4.1.16-1+deb12u1, 4.2.1-1+deb12u1), qubes-repo-templates:amd64 (4.1.2-1+deb12u1, 4.2.2-1+deb12u1), qubesdb:amd64 (4.1.17-1+deb12u1, 4.2.4-1+deb12u1), qubes-utils:amd64 (4.1.19+deb12u1, 4.2.15+deb12u1), qubes-vm-recommended:amd64 (4.1.24-1+deb12u1, 4.2.9-1+deb12u1), qubes-core-agent-nautilus:amd64 (4.1.46-1+deb12u1, 4.2.26-1+deb12u1), xserver-xorg-qubes-common:amd64 (4.1.32-1+deb12u1, 4.2.11-1+deb12u1), qubes-kernel-vm-support:amd64 (4.1.19+deb12u1, 4.2.15+deb12u1) Remove: pulseaudio-qubes:amd64 (4.1.32-1+deb12u1) End-Date: 2023-12-28 13:04:27
Unfortunately there still seems to be some packaging conflict as installing pulseaudio-qubes
removes qubes-vm-recommended
and thus a bunch of packages that I probably want to keep unless I want to break other things:
***@***.***:/var/log/apt# apt install pulseaudio-qubes
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
debugedit deltarpm dnf dnf-data fwupd-qubes-vm jcat libcomps0 libdnf2 libdnf2-common libfsverity0 libmodulemd2 librepo0 librpmbuild9 librpmsign9
libsolv1 libsolvext1 libunbound8 python3-croniter python3-dnf python3-hawkey python3-libcomps python3-libdnf python3-looseversion python3-msgpack
python3-psutil python3-py python3-qubesimgconverter python3-rpm python3-tqdm python3-unbound 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 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
0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
Need to get 22.5 kB of archives.
After this operation, 14.3 kB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 https://deb.qubes-os.org/r4.2/vm bookworm/main amd64 pulseaudio-qubes amd64 4.2.11-1+deb12u1 [22.5 kB]
Fetched 22.5 kB in 1s (15.5 kB/s)
(Reading database ... 349104 files and directories currently installed.)
Removing qubes-vm-recommended (4.2.9-1+deb12u1) ...
Removing pipewire-qubes (4.2.11-1+deb12u1) ...
Selecting previously unselected package pulseaudio-qubes.
(Reading database ... 349090 files and directories currently installed.)
Preparing to unpack .../pulseaudio-qubes_4.2.11-1+deb12u1_amd64.deb ...
Unpacking pulseaudio-qubes (4.2.11-1+deb12u1) ...
Setting up pulseaudio-qubes (4.2.11-1+deb12u1) ...
Scanning processes...
Scanning candidates...
Scanning linux images...
Running kernel seems to be up-to-date.
Restarting services...
systemctl restart plymouth.service
Failed to restart plymouth.service: Unit plymouth.service failed to load properly, please adjust/correct and reload service manager: File exists
See system logs and 'systemctl status plymouth.service' for details.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
I'll see whether I can set them to manually installed as a workaround...
And yes, audio now works. Thanks for the support!
I'll leave this open for the aforementioned packaging conflict.
sudo apt install pulseaudio-qubes
no package found
I have installed pulseaudio
when I run it it show this
W: [pulseaudio] pid.c: Stale PID file, overwriting. E: [pulseaudio] socket-server.c: bind(): Address already in use E: [pulseaudio] module.c: Failed to load module "module-native-protocol-unix" (argument: ""): initialization failed. E: [pulseaudio] main.c: D-Bus name org.pulseaudio.Server already taken. N: [pulseaudio] alsa-util.c: Disabling timer-based scheduling because running inside a VM. N: [pulseaudio] alsa-util.c: Disabling timer-based scheduling because running inside a VM.
After the recent successful dom0 switch to pipewire I tested pipewire in my debian12 VMs and can confirm that it works by now as well. Thanks!
Closing as completed. If anyone believes this issue is not yet completed, or if anyone is still affected by this issue, please leave a comment, and we'll be happy to reopen it. Thank you.
How to file a helpful issue
Qubes OS release
4.2
Brief summary
All debian-12 VMs upgraded from 4.1 to 4.2 won't have any sound via pulseaudio.
Possibly upgrading is irrelevant and just all
debian-12
VMs have no sound via pulseaudio.debian-11
VMs work just fine.Steps to reproduce
debian-12
stock templates on 4.1Expected behavior
Sound
Actual behavior
No sound
Related issues
Originally I investigated this as follow-up on #8805, but I believe this is a separate bug.