Как заставить 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.