qusal/salt/sys-audio
2024-01-19 11:18:37 +01:00
..
files feat: usb devices in sys-audio 2024-01-17 16:52:55 +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: disposable sys-audio name with disp prefix 2024-01-14 14:05:17 +01:00
configure-dvm.top fix: disposable sys-audio name with disp prefix 2024-01-14 14:05:17 +01:00
create.sls feat: seamless audio integration with bluetooth 2024-01-19 11:18:37 +01:00
create.top refactor: initial commit 2023-11-13 14:33:28 +00:00
init.top fix: autostart volumeicon 2024-01-02 23:01:58 +01:00
install-bluetooth.sls feat: usb devices in sys-audio 2024-01-17 16:52:55 +01:00
install-bluetooth.top refactor: initial commit 2023-11-13 14:33:28 +00:00
install-client.sls feat: usb devices in sys-audio 2024-01-17 16:52:55 +01:00
install-client.top fix: install missing packages to audio client 2023-12-31 07:48:29 +01:00
install.sls feat: pavucontrol in sys-audio 2024-01-19 10:14:22 +01:00
install.top fix: disposable sys-audio name with disp prefix 2024-01-14 14:05:17 +01:00
README.md feat: seamless audio integration with bluetooth 2024-01-19 11:18:37 +01: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
qubesctl top.enable sys-audio
qubesctl --targets=tpl-sys-audio,dvm-sys-audio state.apply
qubesctl top.disable sys-audio
  • State
qubesctl state.apply sys-audio.create
qubesctl --skip-dom0 --targets=tpl-sys-audio state.apply sys-audio.install
qubesctl --skip-dom0 --targets=dvm-sys-audio state.apply sys-audio.configure-dvm

If you need Bluetooth support, install the dependencies:

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 microphone, with builtin modules, Jack port or Bluetooth. You are be able to control the volume via the volume icon that appears on the system tray.

The basics are very simple to use:

  • 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 Prefences. For greater control, use the command amixer.

Client started before it's AudioVM

Audio will not automatically connect if the AudioVM starts after the client. To connect the client to audio server, restart the client's Pipewire service:

systemctl --user restart pipewire

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 audio server disp-sys-audio;
  • Restart the audio client; and
  • Attach the device to the audio client;

How to use USB devices, Bluetooth, Camera and Microphone

Bluetooth and Camera are normally integrated in laptops, but they still are USB devices internally. They will be held by (disp-)sys-usb or (disp-)sys-net, else dom0.

Built-in microphones on the other hand, are directly attached to dom0.

To use these devices, you have to attach them to their respective qubes:

  • audio server: Bluetooth; and
  • audio client: cameras, speakers, microphones.

How to attach Bluetooth to the AudioVM persistenly

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 you (disp-)sys-usb to the disp-sys-audio.

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