4

Как заставить PuluDaudio воспроизводить звук на виртуальной машине KVM (работающей с правами суперпользователя) и приложениях на рабочем столе (не под учетной записью root) одновременно?

Кажется, что по умолчанию, он будет воспроизводить звук только для одного пользователя одновременно, блокируя всех остальных.

Например,

Я играю немного музыки:

mplayer ~/Music/*

моя виртуальная машина начинается с:

kdesu qemu-system-x86_64 -enable-kvm [... disks, network, etc. ...] -soundhw hda

Это запускает процесс как пользователь root с отображением X пользователя, который его запускает. И звук не работает, пока mplayer не остановится.

Если вместо этого запустить в корневой оболочке, я получу:

pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
alsa: Could not initialize DAC
alsa: Failed to open `default':
alsa: Reason: Device or resource busy
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
alsa: Could not initialize DAC
alsa: Failed to open `default':
alsa: Reason: Device or resource busy
audio: Failed to create voice `dac'

Затем виртуальная машина запускается, и ее звуковое устройство выглядит так, как будто оно работает, но звук не воспроизводится.

Затем я могу остановить mplayer, а затем звук можно воспроизвести с ВМ, не перезапуская его.

Затем, если я снова запускаю mplayer, я получаю ошибки и нет звука:

AO: [pulse] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:  -0.0 (unknown) of 308.2 (05:08.2) ??,?% 
Audio device got stuck!
A:  -0.0 (unknown) of 308.2 (05:08.2) ??,?% 
Audio device got stuck!
A:  -0.0 (unknown) of 308.2 (05:08.2) ??,?% 
Audio device got stuck!
A:  -0.0 (unknown) of 308.2 (05:08.2) ??,?% 

Я полагаю, что могу решить эту проблему, удалив pulseaudio и используя вместо этого ALSA, но затем мне нужно перенастроить конфигурацию qemu и собрать ее из исходного кода. Я хотел бы сделать это путем настройки pulseaudio вместо этого, как с помощью программного микшера в ALSA.

0