Audio qube

I enabled the service bluetooth :woman_facepalming:

1 Like

Followed the complete guide passing 00:1f.3 Audio Device but it wonā€™t get recognized, in Volume Control App from sys-audio I only see Dummy Output as Output Deviceā€¦ AX210 Bluetooth Device worksā€¦

Edit:

I think problem is IOMMU Groups, there are other devices in the same group which I donā€™t want to pass (like Ethernet)ā€¦ I think using ACS Override would not be a good idea eitherā€¦ Am I right?

You could need to configure the device in the Volume Control App. And the result of the command ā€œsudo dmesgā€ could be usefull to understand if there is any issue. also did you installed the required driver for AX210 ?

Added this part in the guide

2 Likes

Regarding the post ā€œAudio qube - #217 by QmanQtwoā€, can other peoples confirm that it solved their issues by commenting, and if it solved the issue for Debian template or Fedora template ?

I am so excited about this post. Thank you, @neowutran !

I am having some issues that in part - but donā€™t fully - resemble the challenges others have had.

So far Iā€™ve been able to set up the three qubes with the same parameters from the qvm-prefs screenshots.

However, my sys-audio devices was different - only one audio device instead of two (itā€™s a Purism Librem 14). Did I do this correctly?

I did it in debian b/c for some reason fedora wasnā€™t creating disposable qubes for me. When I run this:

sudo apt install -y pipewire-qubes qubes-audio-daemon pavucontrol qubes-core-admin-client qubes-usb-proxy alsa-utils

I get the error messages:

The following information may help to resolve the situation:

The following packages have unmet dependencies:
 pipewire-alsa : Conflicts: pulseaudio but 16.1+dfsg1-2+b1 is to be installed
 pipewire-audio : Conflicts: pulseaudio but 16.1+dfsg1-2+b1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Do I need to worry about this?

And then, if I try to start sys-audio, I get this error message:

Start failed: Requested operation is not valid: PCI device 0000:00:14.0 is in use by driver xenlight, domain sys-usb, see /var/log/libvirt/libxl/libxl-driver.log for details

Any suggested next steps? Many thanks.

Yes, you need to remove pulseaudio before installing pipewire.

You have the same PCI USB controller 00:14.0 attached to both sys-audio and sys-usb. You canā€™t attach the same PCI device to the multiple qubes simultaneously.
You need to remove this controller from sys-usb or shutdown sys-usb before starting sys-audio.

There is nothing to configure, no Audio deviceā€¦ Also AX210 is WiFi & Bluetoothā€¦ Bluetooth works in Audio Qubeā€¦ I guess it is my IOMMU groups and could only be fixed with ACS Override, which I do not want cause it could introduce attack surfaceā€¦ So no Audio Qube for my Hardware :wink:

My sys-audio sometimes start after some other qube using sys-audio as their audiovm, so they donā€™t have sound until I restart them.

How do people handle that? I donā€™t think there is a dependency tree on audiovm when starting the qubes.

My audio-template is also debian based. Iā€™ve installed both pulseaudio and pipewire. You say that pulseaudio must be removed before installing pipewire. But if I try to do it:

# apt remove pulseaudio
...
The following packages will be REMOVED:
  pulseaudio pulseausio-module-bluetooth qubes-audio-daemon
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 7038 kB disk space will be freed.
Do you want to continue? [Y/n]

So it is trying to remove qubes-audio-daemon which is a required package. Now Iā€™m confused. Which packages should I install in audio-template?

1 Like

I guess itā€™s a bug in the debian dependencies.
Based on this:

Does this affect in any way non Dom0 AudioVMs that have the package qubes-audio-daemon installed? Pulseaudio is still referenced in that package requirement.

pulseaudio-daemon is provided by pulseaudio but also by pipewire-pulseaudio.

Audio underruns in dom0 soon after uncorking stream Ā· Issue #8955 Ā· QubesOS/qubes-issues Ā· GitHub

The qubes-audio-daemon package shouldnā€™t be a dependent on pulseaudio package.
At least itā€™s not like this for fedora:

$ dnf repoquery --requires qubes-audio-daemon
/usr/bin/sh
libc.so.6(GLIBC_2.38)(64bit)
libconfig
libglib-2.0.so.0()(64bit)
libpulse-mainloop-glib.so.0()(64bit)
libpulse-mainloop-glib.so.0(PULSE_0)(64bit)
libpulse.so.0()(64bit)
libpulse.so.0(PULSE_0)(64bit)
libqubesdb.so()(64bit)
libvchan-xen.so.1()(64bit)
pulseaudio-daemon
pulseaudio-libs
python3-pydbus
qubes-utils >= 3.1.0
rtld(GNU_HASH)

But for some reason itā€™s a dependence for debian:

$ apt info qubes-audio-daemon
Package: qubes-audio-daemon
Version: 4.2.8-1+deb12u1
Priority: optional
Section: admin
Source: qubes-gui-daemon
Maintainer: Marek Marczykowski-GĆ³recki <marmarek@invisiblethingslab.com>
Installed-Size: 60.4 kB
Depends: pulseaudio, libc6 (>= 2.34), libglib2.0-0 (>= 2.31.8), libpulse-mainloop-glib0 (>= 0.99.1), libpulse0 (>= 0.99.1), libvchan-xen1 (>= 4.2.0)
Breaks: qubes-gui-daemon-pulseaudio (<< 4.1.21~)
Replaces: qubes-gui-daemon-pulseaudio (<< 4.1.21~)

I guess this should be reported on the github.

Thanks for your answer. Iā€™ve reported a bug as you suggested.

1 Like