If you have opted for a disposable sys-audio, then I would recommend testing my hypothesis. I did this by starting sys-audio and using the pavucontrol package to check if âDummy Outputâ changed to âBuilt-in Audio Analog Stereoâ or not. If not, shutdown sys-audio and try again. If your sys-audio is non-disposable, then it might be unpredictable like my experience.
Hopefully this is helpful. Otherwise, maybe someone else could share their experiences.
I basically gave up on debian minimal for this at some point then spent another big long thread trying to get fedora to work (NOT my preference but they seemed to be having better luck with it), with the same resultâmy machine would pretend to play music, but nothing would come out of my speakers because sys-audio wouldnât recognize my device. At this point, basically my debian-based sys-audio is long gone.
Nevertheless I tried cycling both a disposable and non-disposable version of that template like you talked about hereâŚwith zero success.
Itâs just as well, honestly. If I have to do that every time I start it, itâs a broken piece of junk I donât want on my system. Assuming I went with the disposable, how long would it be before my audio quit working because now it needs to be cycled 5 times instead of 3?
If it wonât work the first time it comes up, itâs crap.
EDIT TO ADD: Recreated my deb11 minimal stuffâŚsame result. No amount of repetition will find the driver I seem to be missing.
Ok, I finally resolved the hardware part (making pulseaudio recognize my soundcard).
After a clean installation as post #2, only root has access to audio. You can identify that by running alsamixer and pulseaudio as root, and see the differences from running them as user. To fix this, you need to remove pulseaudio in the template, and reinstall those removed packages. This will make everything happy.
BTW, just a notice, gnome-keyring isnât necessary for this setup.
After following the steps in post #2, youâll get a sys-audio which correctly receives audio streams from other qubes, but cannot play sound. The reason is that after all of these, in sys-audio , only root has the privilege to talk to the soundcard. So the regular pulseaudio instance running as user doesnât know your soundcard.
To make the regular user user have access to the soundcard, you have to shutdown sys-audio, boot up its template, remove pulseaudio, and reinstall those removed packages. After this, pulseaudio running as user will see your soundcard in Output devices.
What âremoved packagesâ? Pulseaudio itself? Thatâs just one package, I think. (And even if soâŚI am not sure I can do an apt-install except with sudo.)
Thank you for your patience.
[next task for someoneâŚyou? me, if this works for me? Figure out how to install it properly the first time. Ideally this could be done in salt, somehow, without a special go-back-and-fix-it sequence that must be done manually. I have a couple of VMs that have such requirements (e.g. a printer driver that apparently must be configured manually, likewise with a couple of browser qubes) and I really donât like it.]
Well I donât want to go too far into the weeds, here, but the printer driver installs fine, but it must be runâwith its guiâto tell it what printer to connect toâIâve never found a command line method (that doesnât require interaction) for it. I just have to remember, when regenerating all of my minimal templates, that after generating THAT one (all of the two dozen or so subsequent templates are derived from it) I need to run the configuration. After that, it works fine.
Not trying to solve that problem here, I was just giving examples of things that I canât automate, as much as I would like to, whilst hoping this doesnât get added to the list.
Not sure why you brought up bluetooth; I just want to play music and videos.
When you remove pulseaudio, there are some packages depending on it that will also be removed. I didnât mention all of them, because Iâm not sure which package is the vital one. Itâs easy for you to know and copy the list of packages to be removed when running apt remove xxx, then key-in apt install and paste that list.
It depends on how you run this command. If you manage the qube through Qubes Managerâs open a console in the qube, you will be able to login as root and ignore that sudo. There are certainly other ways that require a sudo to work. You have to distill the crucial information, and adapt those insignificant part to your own use case.
OkâŚso I went into my template, did a sudo apt remove on pulseaudio. I then did a sudo apt install on all of the packages.
I shut down the template and started pavucontrol in sys-audio. It showed the output device as âDummy output.â
OK, so that didnât work.
I repeated the above process, only in the template xterm I did âsuâ to become root and did not do sudo; I just did apt remove and apt install. After shutting down the template and restarting pavucontrol in sys-audioâŚsame result, output is âDummy Output.â
Trying to âopen a console in the qubeâ in Qube Manager simply starts up a disposable which shows me a blank terminal with no prompt. Itâs not running on the template. (So what is it good for?)
In any case, Iâm stuck. Please instead of expecting me to play a guessing game as to how to reinstall the thing, just tell me the command(s) you used that would install the thing not as root.
In both cases I shut down sys audio, I did not reboot the entire system. And of course I shut down the template before restarting sys audio.
Since sys-audio is what is interfacing with the device (albeit doing so poorly), that should be sufficient.
Of course I had to reboot to listen to audio again, since the audio device wonât go back to being controlled by dom0 once it has been pulled away from dom0.
So strange⌠Iâd suggest you to open separate topic for your issue and to start over from the very beginning, with the system rebooted without sys-audio existing.
Just for clarification, Iâm to update the guide posted in post #2. And because I cannot edit that post, Iâll post it here. Creation of sys-audio:
In dom0:
Install pavucontrol pulseaudio qubes-core-admin-client qubes-gui-daemon-pulseaudio pulseaudio-qubeswith--no-install-recommends.
3.1. Remove pulseaudio through apt. Note that some other packages are also removed. Copy the list of removed packages in the terminal.
3.2 Install those removed packages whose names were copied, including pulseaudio.
Create a file at /etc/modprobe.d/, name it 50-snd.conf, and put options snd_hda_intel power_save=0 in it. Shutdown the template.
In dom0:
Create a appvm named sys-audio based on deb11-audio. Assign your PCI audio devices to it. Configure them to be no-strict-reset.
Create 50-sys-audio.policy in dom0 at /etc/qubes/policy.d/, enter those policy lines at #2.
In Qubes-Settings of sys-audio, turn to âServicesâ page, Add a (customâŚ) service called âaudiovmâ.
Run qubes-prefs default_audiovm sys-audio. Boot up sys-audio.
At this point, you have a working sys-audio. Any newly started qube is using sys-audio as its audio sink. You can start a new disposable and play music in it.
To adjust volume:
Run pavucontrol in a terminal in sys-audio. Youâll have a graphical interface to do adjust the volume.
To enable bluetooth:
See @dom0âs detailed guide.
Please note that if you are using a wireless card that also provides bluetooth, then the bluetooth device might appear in the Device Widget as a strange string of numbers, for example, 8087_2345.
To enable shortcut adjusting volume:
Add a shortcut based on your desktop environment (Xfce, KDE, etc.) to run the command qvm-run sys-audio 'amixer sset Master 2%+', which will turn up the volume.
Add a shortcut based on your desktop environment (Xfce, KDE, etc.) to run the command qvm-run sys-audio 'amixer sset Master 2%-', which will turn down the volume.
Add a shortcut based on your desktop environment (Xfce, KDE, etc.) to run the command qvm-run sys-audio 'amixer sset Master toggle', which will toggle the audio between muted and unmuted.
The shortcut can be the default Fn+F1/2/3 combinations. For KDE, no further config is required. For Xfce4, you might have to disable some audio related services in dom0, in order that your shortcut is correctly passed to sys-audio. That part is beyond this post and will not be discussed.
Your instructions read to copy debian-11-minimal to deb11-audio, then install to deb11-minimal. Typo?
On a related note; Iâll be able to try this on a different system (as well as the one I had trouble with) now as I am converting my Librem-13v3 to Qubes.
If you configure the shortcuts to run a script instead of a single command, you can create scripts that will adjust the volume and also display the current setting as a notification.
Here is a script for increasing the volume and displaying the current volume after the adjustment has been made:
To make the script for decreasing the volume, just copy the script above and change 2%+ to 2%-. You can of course change the 2 to the increment of your choice.
Here is the script for toggling between audio off (mute) and audio on (unmute) and then displaying the current state:
Step 3: Youâre installing pulseaudio (plus an assortment of other packages).
Step 3.1: Youâre removing pulseaudio [which removes a group of things].
Step 3.2: Youâre reinstalling everything removed in step 3.1
How does this make sense? Is there something different about the way one does the (re) install in step 3.2?
Iâm not skilled enough to tell between. I guess itâs some user group problems, because without this step, it seems that pulseaudio and alsa are running as root, so no userspace programs (qubes-daemon, pavucontrol) will be able to communicate with them.