qusal/salt/sys-audio
Ben Grande e00ef4277c
fix: remove unnecessary USB proxy for audio client
Selecting the output and input device in the AudioVM using a GUI audio
manager such as Pavucontrol or Easyeffects to the connected USB device
is enough to make audio work. USB audio devices should not be connected
to audio clients.
2024-07-18 15:50:48 +02:00
..
files feat: add appmenus to audio applications 2024-07-15 18:03:08 +02:00
appmenus.sls feat: add appmenus to audio applications 2024-07-15 18:03:08 +02:00
appmenus.top feat: add appmenus to audio applications 2024-07-15 18:03:08 +02:00
autostart.sls feat: optional state to autostart AudioVM 2024-03-23 22:18:45 +01:00
autostart.top feat: optional state to autostart AudioVM 2024-03-23 22:18:45 +01:00
clone.sls refactor: initial commit 2023-11-13 14:33:28 +00:00
clone.top refactor: initial commit 2023-11-13 14:33:28 +00:00
configure-dvm.sls fix: cleanup audio home directory 2024-01-22 18:42:54 +01:00
configure-dvm.top fix: disposable sys-audio name with disp prefix 2024-01-14 14:05:17 +01:00
create.sls fix: correct easyeffects desktop application name 2024-07-15 18:31:51 +02:00
create.top refactor: initial commit 2023-11-13 14:33:28 +00:00
init.top chore: copyright update 2024-01-29 16:49:54 +01:00
install-bluetooth.sls feat: disable OBEX Bluetooth file transfer method 2024-07-02 10:10:50 +02:00
install-bluetooth.top refactor: initial commit 2023-11-13 14:33:28 +00:00
install-client.sls fix: remove unnecessary USB proxy for audio client 2024-07-18 15:50:48 +02:00
install-client.top fix: install missing packages to audio client 2023-12-31 07:48:29 +01:00
install-easyeffects.sls feat: add appmenus to audio applications 2024-07-15 18:03:08 +02:00
install-easyeffects.top feat: add appmenus to audio applications 2024-07-15 18:03:08 +02:00
install.sls fix: remove extraneous package repository updates 2024-03-18 17:51:36 +01:00
install.top fix: disposable sys-audio name with disp prefix 2024-01-14 14:05:17 +01:00
README.md feat: add appmenus to audio applications 2024-07-15 18:03:08 +02:00
version fix: generate RPM Specs for Qubes Builder V2 2024-06-21 17:00:06 +02:00

sys-audio

Audio operations in Qubes OS.

Table of Contents

Description

Creates the named disposable "disp-sys-audio" qube for providing audio operations such as microphone and speakers to and from qubes. By default, you can use the builtin stereo, JACK and USB , but if you want, you can install the necessary packages for bluetooth with the provided state.

Installation

  • Top:
sudo qubesctl top.enable sys-audio
sudo qubesctl --targets=tpl-sys-audio,dvm-sys-audio state.apply
sudo qubesctl top.disable sys-audio
sudo qubesctl state.apply sys-audio.appmenus
  • State:
sudo qubesctl state.apply sys-audio.create
sudo qubesctl --skip-dom0 --targets=tpl-sys-audio state.apply sys-audio.install
sudo qubesctl --skip-dom0 --targets=dvm-sys-audio state.apply sys-audio.configure-dvm
sudo qubesctl state.apply sys-audio.appmenus

If you want to autostart the AudioVM on boot, you may run:

sudo qubesctl state.apply sys-audio.autostart

To use advanced sound features such as mixing, echo canceller, noise reduction:

sudo qubesctl --skip-dom0 --targets=tpl-sys-audio state.apply sys-audio.install-easyeffects

If you need Bluetooth support, install the dependencies:

sudo qubesctl --skip-dom0 --targets=tpl-sys-audio state.apply sys-audio.install-bluetooth

Usage

Audio control

The qube disp-sys-audio will be used for audio capabilities for speakers and microphones, with builtin modules, Jack port, USB or Bluetooth. You are be able to control the volume via the volume icon that appears on the system tray.

Audio control basics:

  • Left click toggles the volume; and
  • Scrolling the mouse from left to right changes the volume;

For more advanced features, right click the icon and click on Open Mixer or Preferences. For greater control, use the command amixer.

Client turned off with a device attached

If you shutdown a client qube with a device attached, such as a microphone or speaker, normal operation to attach the device to the same or any other qube will fail. To be able to use the device again:

  • Restart the AudioVM disp-sys-audio;
  • Restart the audio client; and
  • Attach the device to the audio client.

How to managed audio input/output devices

It is possible to connect many types of audio devices to disp-sys-audio, just attach the devices to the AudioVM. Note that attached devices don't take precedence over built-in audio, happens with USB devices. To choose which playback and recording device a qube should use, on disp-sys-audio, from the application menu, click on Volume Control or from the terminal, run pavucontrol. Select the Playback and Recording tab, find your client qube and select the wanted device.

For more information, please refer to the usage of sys-usb.

How to use advanced audio processing capabilities

You must run the install-easyeffects state as described in the installation section. Instead of using Pavucontrol, use Easy Effects for advanced audio processing capabilities.

How to use Bluetooth

How to make the Bluetooth icon appear in the system tray

Note that the only way to autostart the Bluetooth icon (blueman-tray) in the system tray is to attach the Bluetooth controller persistently to the AudioVM.

If you don't do this, you will have to attach the Bluetooth controller manually to disp-sys-audio after it has started and also run blueman-tray.

How to attach the Bluetooth controller to the AudioVM persistently

If using Bluetooth, you probably want to have it persistently attached to the AudioVM. Bluetooth devices are held by the USB stack, thus you need to attach from your (disp-)sys-usb to the disp-sys-audio.

Note that if you attach the device persistently, the AudioVM will not be able to start without first starting the backend holding the USB stack. You can move the controller from the USB qube to the Audio qube, but this would decrease your system security.

It may be easier to use the USB qube as the AudioVM instead.

First, start the qube holding the USB stack:

qvm-start disp-sys-usb

Identify you Bluetooth controller:

qvm-usb list disp-sys-usb

If you haven't identified the device, run lsusb in the USB stack server:

qvm-run -p disp-sys-usb -- lsusb

Permanently attach the Bluetooth controller to the AudioVM (change DEVID for the one you identified above):

qvm-usb attach --persistent disp-sys-audio disp-sys-usb:DEVID