All of lore.kernel.org
 help / color / mirror / Atom feed
* Enable audio virtualization in Xen
@ 2022-07-25 11:08 SHARMA, JYOTIRMOY
  2022-07-25 21:14 ` Christopher Clark
  0 siblings, 1 reply; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-07-25 11:08 UTC (permalink / raw)
  To: xen-devel

[-- Attachment #1: Type: text/plain, Size: 672 bytes --]

[AMD Official Use Only - General]

Hi all,

I am using ubuntu as dom 0 and also dom U (HVM). I want to play audio from "dom U" Ubuntu. I am new to Xen/virtualization in general.
From various reading I understood that I need to take following approach:


  1.  Use Xen front end ALSA driver in dom U
  2.  Use Qemu to connect to the backend ALSA driver in Dom 0

Can you please let me know if this approach is fine? If yes, I have following questions:


  1.  Do I need to recompile Ubuntu to support Xen front end ALSA driver? Or will Ubuntu iso file already have it enabled?
  2.  Ho do I configure Qemu to enable backend driver?

Regards,
Jyotirmoy


[-- Attachment #2: Type: text/html, Size: 6120 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
  2022-07-25 11:08 Enable audio virtualization in Xen SHARMA, JYOTIRMOY
@ 2022-07-25 21:14 ` Christopher Clark
  2022-07-26 10:57   ` SHARMA, JYOTIRMOY
  0 siblings, 1 reply; 13+ messages in thread
From: Christopher Clark @ 2022-07-25 21:14 UTC (permalink / raw)
  To: SHARMA, JYOTIRMOY; +Cc: xen-devel, xen-users

On Mon, Jul 25, 2022 at 4:45 AM SHARMA, JYOTIRMOY
<JYOTIRMOY.SHARMA@amd.com> wrote:
>
> [AMD Official Use Only - General]
>
>
> Hi all,

Hi Jyotirmoy,

I have add the xen-users list to CC since this thread may be useful to
that forum.

> I am using ubuntu as dom 0 and also dom U (HVM). I want to play audio from “dom U” Ubuntu.

I think that it should be possible to enable what you are attempting
to do. ie. audio output from a HVM Ubuntu guest VM.

Some questions to support assisting you:
* Does audio playback work OK from your Ubuntu dom0?
* Do you know which version of Ubuntu you are using? ('cat /etc/lsb-release')
* Do you know which version of Xen you are using? ('xl info' in dom0
should help)
* Do you know which version of Qemu you have installed in dom0?
* Did you build and install Xen from source code, or are you using
binary packages of Xen and its tools?
* Are you using the xl tools, or libvirt tools for configuring and
running your guest? -- ie. how do you start your domU VM?
* When your domU is running, please could you run 'ps auxwww' in dom0
and obtain the process information about the qemu instance that is
running, so that we can see what command line arguments have been
supplied to it

> I am new to Xen/virtualization in general.

Welcome! :-)

> From various reading I understood that I need to take following approach:
>
> 1. Use Xen front end ALSA driver in dom U

I'm not certain that this is necessary for your HVM guest. Instead of
using the Xen paravirtualized audio protocol, Qemu should be able to
present an emulated audio device to the HVM guest domU, and a standard
audio driver (hda or ac97) in domU should suffice.

> 2. Use Qemu to connect to the backend ALSA driver in Dom 0

I think if Qemu is started with the correct command line arguments, it
should be able to play sound on behalf of the guest, if sound is
correctly configured and working in dom0.

> Can you please let me know if this approach is fine? If yes, I have following questions:
>
> 1. Do I need to recompile Ubuntu to support Xen front end ALSA driver? Or will Ubuntu iso file already have it enabled?

I think the latter, that the Ubuntu installation ISO should already
contain a suitable audio device driver that is compatible with the
virtual audio device that is emulated by Qemu.

> 2. Ho do I configure Qemu to enable backend driver?

A little more information about what you're running will help with
providing guidance here. The xl man page indicates that there is a
"soundhw" option in the VM configuration file for passing sound
hardware configution through to qemu, so if you are using the xl
toolstack, you could try adding this to the config file: soundhw="hda"

Christopher


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: Enable audio virtualization in Xen
  2022-07-25 21:14 ` Christopher Clark
@ 2022-07-26 10:57   ` SHARMA, JYOTIRMOY
  2022-07-28 19:05     ` SHARMA, JYOTIRMOY
  0 siblings, 1 reply; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-07-26 10:57 UTC (permalink / raw)
  To: Christopher Clark; +Cc: xen-devel, xen-users

[AMD Official Use Only - General]

Hi Christopher,

Thank you for the quick response. Please find answers below.

>> Does audio playback work OK from your Ubuntu dom0?
Yes.

>> Do you know which version of Ubuntu you are using? ('cat /etc/lsb-release')
Ubuntu 22.04 LTS.

>> Do you know which version of Xen you are using? ('xl info' in dom0 should help)
4.16.2-pre. 

>> Do you know which version of Qemu you have installed in dom0?
QEMU emulator version 6.1.1.

>> Did you build and install Xen from source code, or are you using binary packages of Xen and its tools?
We built and installed Xen from source code (git clone https://xenbits.xen.org/git-http/xen.git).

>> Are you using the xl tools, or libvirt tools for configuring and running your guest? -- ie. how do you start your domU VM?
We are using xl tools (sudo xl -v create <path to hvm config file>).

>> When your domU is running, please could you run 'ps auxwww' in dom0 and obtain the process information about the qemu instance that is running, so that we can see what command line arguments have been supplied to it

This is the log we get right after booting dom 0:

root 723 0.0 0.2 243792 14468 ? Sl 15:51 0:00 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/run/xen/qemu-dom0.pid

This log is seen after we launch dom U (sudo xl -v create <path to hvm config file>):

root 2152 20.7 2.3 2858204 133496 ? Ssl 15:53 0:09 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 1 -no-shutdown -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-1,server=on,wait=off -mon chardev=libxl-cmd,mode=control -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-1,server=on,wait=off -mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config -name domu-ubuntu.hvm -vnc 127.0.0.1:0,to=99 -display sdl,gl=on -sdl -device virtio-vga-gl -boot order=dc -usb -usbdevice tablet -smp 2,maxcpus=2 -net none -machine xenfv,suppress-vmdesc=on -m 2040 -drive file=/home/amd/u2004_ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2,cache=writeback

>> A little more information about what you're running will help with providing guidance here. The xl man page indicates that there is a "soundhw" option in the VM configuration file for passing sound hardware configution through to qemu, so if you are using the xl toolstack, you could try adding this to the config file: soundhw="hda"

I tried giving soundhw="hda" option in the hvm config file. However, I do not hear any sound when I play a wave file in dom U. Here is the 'ps auxwww' output after making this change:

root 2568 14.8 2.3 2770864 134720 ? Ssl 15:58 0:09 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 2 -no-shutdown -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-2,server=on,wait=off -mon chardev=libxl-cmd,mode=control -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-2,server=on,wait=off -mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config -name domu-ubuntu-audio.hvm -vnc 127.0.0.1:0,to=99 -display sdl,gl=on -sdl -device virtio-vga-gl -boot order=dc -usb -usbdevice tablet -soundhw hda -smp 2,maxcpus=2 -net none -machine xenfv,suppress-vmdesc=on -m 2040 -drive file=/home/amd/u2004_ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2,cache=writeback

Also, I tried giving soundhw="all" in the config file, however this throws following error:

libxl: error: libxl_dm.c:3130:device_model_spawn_outcome: Domain 4:domain 4 device model: spawn failed (rc=-3)
libxl: error: libxl_dm.c:3350:device_model_postconfig_done: Domain 4:Post DM startup configs failed, rc=-3
libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain 4:device model did not start: -3
libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 4:Non-existant domain
libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 4:Unable to destroy guest
libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 4:Destruction of domain failed

Can you please let me know what parameters I should use in the config file to play audio from dom U?

Regards,
Jyotirmoy

-----Original Message-----
From: Christopher Clark <christopher.w.clark@gmail.com> 
Sent: Tuesday, July 26, 2022 2:44 AM
To: SHARMA, JYOTIRMOY <JYOTIRMOY.SHARMA@amd.com>
Cc: xen-devel@lists.xenproject.org; xen-users@lists.xenproject.org
Subject: Re: Enable audio virtualization in Xen

[CAUTION: External Email]

On Mon, Jul 25, 2022 at 4:45 AM SHARMA, JYOTIRMOY <JYOTIRMOY.SHARMA@amd.com> wrote:
>
> [AMD Official Use Only - General]
>
>
> Hi all,

Hi Jyotirmoy,

I have add the xen-users list to CC since this thread may be useful to that forum.

> I am using ubuntu as dom 0 and also dom U (HVM). I want to play audio from “dom U” Ubuntu.

I think that it should be possible to enable what you are attempting to do. ie. audio output from a HVM Ubuntu guest VM.

Some questions to support assisting you:
* Does audio playback work OK from your Ubuntu dom0?
* Do you know which version of Ubuntu you are using? ('cat /etc/lsb-release')
* Do you know which version of Xen you are using? ('xl info' in dom0 should help)
* Do you know which version of Qemu you have installed in dom0?
* Did you build and install Xen from source code, or are you using binary packages of Xen and its tools?
* Are you using the xl tools, or libvirt tools for configuring and running your guest? -- ie. how do you start your domU VM?
* When your domU is running, please could you run 'ps auxwww' in dom0 and obtain the process information about the qemu instance that is running, so that we can see what command line arguments have been supplied to it

> I am new to Xen/virtualization in general.

Welcome! :-)

> From various reading I understood that I need to take following approach:
>
> 1. Use Xen front end ALSA driver in dom U

I'm not certain that this is necessary for your HVM guest. Instead of using the Xen paravirtualized audio protocol, Qemu should be able to present an emulated audio device to the HVM guest domU, and a standard audio driver (hda or ac97) in domU should suffice.

> 2. Use Qemu to connect to the backend ALSA driver in Dom 0

I think if Qemu is started with the correct command line arguments, it should be able to play sound on behalf of the guest, if sound is correctly configured and working in dom0.

> Can you please let me know if this approach is fine? If yes, I have following questions:
>
> 1. Do I need to recompile Ubuntu to support Xen front end ALSA driver? Or will Ubuntu iso file already have it enabled?

I think the latter, that the Ubuntu installation ISO should already contain a suitable audio device driver that is compatible with the virtual audio device that is emulated by Qemu.

> 2. Ho do I configure Qemu to enable backend driver?

A little more information about what you're running will help with providing guidance here. The xl man page indicates that there is a "soundhw" option in the VM configuration file for passing sound hardware configution through to qemu, so if you are using the xl toolstack, you could try adding this to the config file: soundhw="hda"

Christopher

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: Enable audio virtualization in Xen
  2022-07-26 10:57   ` SHARMA, JYOTIRMOY
@ 2022-07-28 19:05     ` SHARMA, JYOTIRMOY
  2022-07-28 20:37       ` Christopher Clark
  0 siblings, 1 reply; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-07-28 19:05 UTC (permalink / raw)
  To: Christopher Clark; +Cc: xen-devel, xen-users

[AMD Official Use Only - General]

Hi all,

Can anyone please help here? 

Also, how can I make use of the xen front end drivers in a HVM guest?

Regards,
Jyotirmoy

-----Original Message-----
From: SHARMA, JYOTIRMOY 
Sent: Tuesday, July 26, 2022 4:27 PM
To: Christopher Clark <christopher.w.clark@gmail.com>
Cc: xen-devel@lists.xenproject.org; xen-users@lists.xenproject.org
Subject: RE: Enable audio virtualization in Xen

[AMD Official Use Only - General]

Hi Christopher,

Thank you for the quick response. Please find answers below.

>> Does audio playback work OK from your Ubuntu dom0?
Yes.

>> Do you know which version of Ubuntu you are using? ('cat /etc/lsb-release')
Ubuntu 22.04 LTS.

>> Do you know which version of Xen you are using? ('xl info' in dom0 should help)
4.16.2-pre. 

>> Do you know which version of Qemu you have installed in dom0?
QEMU emulator version 6.1.1.

>> Did you build and install Xen from source code, or are you using binary packages of Xen and its tools?
We built and installed Xen from source code (git clone https://xenbits.xen.org/git-http/xen.git).

>> Are you using the xl tools, or libvirt tools for configuring and running your guest? -- ie. how do you start your domU VM?
We are using xl tools (sudo xl -v create <path to hvm config file>).

>> When your domU is running, please could you run 'ps auxwww' in dom0 and obtain the process information about the qemu instance that is running, so that we can see what command line arguments have been supplied to it

This is the log we get right after booting dom 0:

root 723 0.0 0.2 243792 14468 ? Sl 15:51 0:00 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/run/xen/qemu-dom0.pid

This log is seen after we launch dom U (sudo xl -v create <path to hvm config file>):

root 2152 20.7 2.3 2858204 133496 ? Ssl 15:53 0:09 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 1 -no-shutdown -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-1,server=on,wait=off -mon chardev=libxl-cmd,mode=control -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-1,server=on,wait=off -mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config -name domu-ubuntu.hvm -vnc 127.0.0.1:0,to=99 -display sdl,gl=on -sdl -device virtio-vga-gl -boot order=dc -usb -usbdevice tablet -smp 2,maxcpus=2 -net none -machine xenfv,suppress-vmdesc=on -m 2040 -drive file=/home/amd/u2004_ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2,cache=writeback

>> A little more information about what you're running will help with providing guidance here. The xl man page indicates that there is a "soundhw" option in the VM configuration file for passing sound hardware configution through to qemu, so if you are using the xl toolstack, you could try adding this to the config file: soundhw="hda"

I tried giving soundhw="hda" option in the hvm config file. However, I do not hear any sound when I play a wave file in dom U. Here is the 'ps auxwww' output after making this change:

root 2568 14.8 2.3 2770864 134720 ? Ssl 15:58 0:09 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 2 -no-shutdown -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-2,server=on,wait=off -mon chardev=libxl-cmd,mode=control -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-2,server=on,wait=off -mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config -name domu-ubuntu-audio.hvm -vnc 127.0.0.1:0,to=99 -display sdl,gl=on -sdl -device virtio-vga-gl -boot order=dc -usb -usbdevice tablet -soundhw hda -smp 2,maxcpus=2 -net none -machine xenfv,suppress-vmdesc=on -m 2040 -drive file=/home/amd/u2004_ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2,cache=writeback

Also, I tried giving soundhw="all" in the config file, however this throws following error:

libxl: error: libxl_dm.c:3130:device_model_spawn_outcome: Domain 4:domain 4 device model: spawn failed (rc=-3)
libxl: error: libxl_dm.c:3350:device_model_postconfig_done: Domain 4:Post DM startup configs failed, rc=-3
libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain 4:device model did not start: -3
libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 4:Non-existant domain
libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 4:Unable to destroy guest
libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 4:Destruction of domain failed

Can you please let me know what parameters I should use in the config file to play audio from dom U?

Regards,
Jyotirmoy

-----Original Message-----
From: Christopher Clark <christopher.w.clark@gmail.com> 
Sent: Tuesday, July 26, 2022 2:44 AM
To: SHARMA, JYOTIRMOY <JYOTIRMOY.SHARMA@amd.com>
Cc: xen-devel@lists.xenproject.org; xen-users@lists.xenproject.org
Subject: Re: Enable audio virtualization in Xen

[CAUTION: External Email]

On Mon, Jul 25, 2022 at 4:45 AM SHARMA, JYOTIRMOY <JYOTIRMOY.SHARMA@amd.com> wrote:
>
> [AMD Official Use Only - General]
>
>
> Hi all,

Hi Jyotirmoy,

I have add the xen-users list to CC since this thread may be useful to that forum.

> I am using ubuntu as dom 0 and also dom U (HVM). I want to play audio from “dom U” Ubuntu.

I think that it should be possible to enable what you are attempting to do. ie. audio output from a HVM Ubuntu guest VM.

Some questions to support assisting you:
* Does audio playback work OK from your Ubuntu dom0?
* Do you know which version of Ubuntu you are using? ('cat /etc/lsb-release')
* Do you know which version of Xen you are using? ('xl info' in dom0 should help)
* Do you know which version of Qemu you have installed in dom0?
* Did you build and install Xen from source code, or are you using binary packages of Xen and its tools?
* Are you using the xl tools, or libvirt tools for configuring and running your guest? -- ie. how do you start your domU VM?
* When your domU is running, please could you run 'ps auxwww' in dom0 and obtain the process information about the qemu instance that is running, so that we can see what command line arguments have been supplied to it

> I am new to Xen/virtualization in general.

Welcome! :-)

> From various reading I understood that I need to take following approach:
>
> 1. Use Xen front end ALSA driver in dom U

I'm not certain that this is necessary for your HVM guest. Instead of using the Xen paravirtualized audio protocol, Qemu should be able to present an emulated audio device to the HVM guest domU, and a standard audio driver (hda or ac97) in domU should suffice.

> 2. Use Qemu to connect to the backend ALSA driver in Dom 0

I think if Qemu is started with the correct command line arguments, it should be able to play sound on behalf of the guest, if sound is correctly configured and working in dom0.

> Can you please let me know if this approach is fine? If yes, I have following questions:
>
> 1. Do I need to recompile Ubuntu to support Xen front end ALSA driver? Or will Ubuntu iso file already have it enabled?

I think the latter, that the Ubuntu installation ISO should already contain a suitable audio device driver that is compatible with the virtual audio device that is emulated by Qemu.

> 2. Ho do I configure Qemu to enable backend driver?

A little more information about what you're running will help with providing guidance here. The xl man page indicates that there is a "soundhw" option in the VM configuration file for passing sound hardware configution through to qemu, so if you are using the xl toolstack, you could try adding this to the config file: soundhw="hda"

Christopher

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
  2022-07-28 19:05     ` SHARMA, JYOTIRMOY
@ 2022-07-28 20:37       ` Christopher Clark
  2022-07-29 21:48         ` Christopher Clark
  0 siblings, 1 reply; 13+ messages in thread
From: Christopher Clark @ 2022-07-28 20:37 UTC (permalink / raw)
  To: SHARMA, JYOTIRMOY; +Cc: xen-devel, xen-users, Daniel Smith, Stefano Stabellini

On Thu, Jul 28, 2022 at 12:05 PM SHARMA, JYOTIRMOY
<JYOTIRMOY.SHARMA@amd.com> wrote:
>
> [AMD Official Use Only - General]
>
> Hi all,
>
> Can anyone please help here?

Hello

I have now been able to reproduce the HVM guest audio failure that you
reported, with the same versions of Ubuntu, Xen and Qemu that you
indicated. I have also been able to correct it and successfully enable
guest audio output. I hope we can enable the same for you.

The issues I encountered are:
1) The command line arguments passed to qemu from libxl need some
adjustment for this system configuration.
2) Pulseaudio on the host runs as the desktop session user, whereas
the qemu device emulator runs as root, and some configuration change
is required to connect the two.

I also had to ensure that I had a version of Qemu with SDL enabled to
match your configuration, and a recent enough version of seabios to
successfully boot the guest.

The following are workarounds. A new patch to libxl would be
appropriate for improving handling of passing audio configuration from
VM config files to qemu, and there is likely a better way of enabling
host audio configuration for qemu than my outline below, but this
appears to work and is hopefully sufficient for unblocking your
progress.

To work around the command line arguments to qemu:
# Move the qemu-system-i386 binary to a different filename:
mv /usr/lib/xen/bin/qemu-system-i386 /usr/lib/xen/bin/qemu-system-i386.real

# Create a wrapper script file in place of the previous binary, to add
the audio parameters: /usr/lib/xen/bin/qemu-system-i386
----
#!/bin/sh
/usr/lib/xen/bin/qemu-system-i386.real -audiodev id=snd0,driver=pa
-device ich9-intel-hda -device hda-output,audiodev=snd0 $@
----
chmod 755 /usr/lib/xen/bin/qemu-system-i386

Ensure that you have removed any sound configuration from the VM
config file; the wrapper script will be providing this now instead.

To enable sound from the qemu process that is running as root, I
followed the answer on this page:
https://stackoverflow.com/questions/66775654/how-can-i-make-pulseaudio-run-as-root

Summarizing those pulseaudio configuration steps here, perform the
following as root:
# Write /etc/systemd/system/pulseaudio.service file:
----
[Unit]
Description=PulseAudio system server

[Service]
Type=notify
ExecStart=pulseaudio --daemonize=no --system --realtime --log-target=journal

[Install]
WantedBy=multi-user.target
----
# Enable the new service:
sudo systemctl --system enable pulseaudio.service
sudo systemctl --system start pulseaudio.service
sudo systemctl --system status pulseaudio.service

# Edit items in : /etc/pulse/client.conf
----
default-server = /var/run/pulse/native
autospawn = no
----
# Add root to pulse group
sudo adduser root pulse-access

# Also add your desktop user to pulse group, to retain working audio
for that host desktop user
sudo adduser $USER pulse-access

# Reboot
reboot

You should now be able to start your guest VM with working audio. I
would note that the qemu-dm log files in /var/log/xen/ can be useful
for observing error messages from Qemu if you still encounter
difficulty.

> Also, how can I make use of the xen front end drivers in a HVM guest?

I don't believe that the Xen audio front end drivers are necessary for
enabling HVM guest audio output, and I don't have experience with
using them yet but I am interested to hear of reports of using them on
x86.

thanks,

Christopher

>
> -----Original Message-----
> From: SHARMA, JYOTIRMOY
> Sent: Tuesday, July 26, 2022 4:27 PM
> To: Christopher Clark <christopher.w.clark@gmail.com>
> Cc: xen-devel@lists.xenproject.org; xen-users@lists.xenproject.org
> Subject: RE: Enable audio virtualization in Xen
>
> [AMD Official Use Only - General]
>
> Hi Christopher,
>
> Thank you for the quick response. Please find answers below.
>
> >> Does audio playback work OK from your Ubuntu dom0?
> Yes.
>
> >> Do you know which version of Ubuntu you are using? ('cat /etc/lsb-release')
> Ubuntu 22.04 LTS.
>
> >> Do you know which version of Xen you are using? ('xl info' in dom0 should help)
> 4.16.2-pre.
>
> >> Do you know which version of Qemu you have installed in dom0?
> QEMU emulator version 6.1.1.
>
> >> Did you build and install Xen from source code, or are you using binary packages of Xen and its tools?
> We built and installed Xen from source code (git clone https://xenbits.xen.org/git-http/xen.git).
>
> >> Are you using the xl tools, or libvirt tools for configuring and running your guest? -- ie. how do you start your domU VM?
> We are using xl tools (sudo xl -v create <path to hvm config file>).
>
> >> When your domU is running, please could you run 'ps auxwww' in dom0 and obtain the process information about the qemu instance that is running, so that we can see what command line arguments have been supplied to it
>
> This is the log we get right after booting dom 0:
>
> root 723 0.0 0.2 243792 14468 ? Sl 15:51 0:00 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/run/xen/qemu-dom0.pid
>
> This log is seen after we launch dom U (sudo xl -v create <path to hvm config file>):
>
> root 2152 20.7 2.3 2858204 133496 ? Ssl 15:53 0:09 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 1 -no-shutdown -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-1,server=on,wait=off -mon chardev=libxl-cmd,mode=control -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-1,server=on,wait=off -mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config -name domu-ubuntu.hvm -vnc 127.0.0.1:0,to=99 -display sdl,gl=on -sdl -device virtio-vga-gl -boot order=dc -usb -usbdevice tablet -smp 2,maxcpus=2 -net none -machine xenfv,suppress-vmdesc=on -m 2040 -drive file=/home/amd/u2004_ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2,cache=writeback
>
> >> A little more information about what you're running will help with providing guidance here. The xl man page indicates that there is a "soundhw" option in the VM configuration file for passing sound hardware configution through to qemu, so if you are using the xl toolstack, you could try adding this to the config file: soundhw="hda"
>
> I tried giving soundhw="hda" option in the hvm config file. However, I do not hear any sound when I play a wave file in dom U. Here is the 'ps auxwww' output after making this change:
>
> root 2568 14.8 2.3 2770864 134720 ? Ssl 15:58 0:09 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 2 -no-shutdown -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-2,server=on,wait=off -mon chardev=libxl-cmd,mode=control -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-2,server=on,wait=off -mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config -name domu-ubuntu-audio.hvm -vnc 127.0.0.1:0,to=99 -display sdl,gl=on -sdl -device virtio-vga-gl -boot order=dc -usb -usbdevice tablet -soundhw hda -smp 2,maxcpus=2 -net none -machine xenfv,suppress-vmdesc=on -m 2040 -drive file=/home/amd/u2004_ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2,cache=writeback
>
> Also, I tried giving soundhw="all" in the config file, however this throws following error:
>
> libxl: error: libxl_dm.c:3130:device_model_spawn_outcome: Domain 4:domain 4 device model: spawn failed (rc=-3)
> libxl: error: libxl_dm.c:3350:device_model_postconfig_done: Domain 4:Post DM startup configs failed, rc=-3
> libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain 4:device model did not start: -3
> libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
> libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 4:Non-existant domain
> libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 4:Unable to destroy guest
> libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 4:Destruction of domain failed
>
> Can you please let me know what parameters I should use in the config file to play audio from dom U?
>
> Regards,
> Jyotirmoy
>
> -----Original Message-----
> From: Christopher Clark <christopher.w.clark@gmail.com>
> Sent: Tuesday, July 26, 2022 2:44 AM
> To: SHARMA, JYOTIRMOY <JYOTIRMOY.SHARMA@amd.com>
> Cc: xen-devel@lists.xenproject.org; xen-users@lists.xenproject.org
> Subject: Re: Enable audio virtualization in Xen
>
> [CAUTION: External Email]
>
> On Mon, Jul 25, 2022 at 4:45 AM SHARMA, JYOTIRMOY <JYOTIRMOY.SHARMA@amd.com> wrote:
> >
> > [AMD Official Use Only - General]
> >
> >
> > Hi all,
>
> Hi Jyotirmoy,
>
> I have add the xen-users list to CC since this thread may be useful to that forum.
>
> > I am using ubuntu as dom 0 and also dom U (HVM). I want to play audio from “dom U” Ubuntu.
>
> I think that it should be possible to enable what you are attempting to do. ie. audio output from a HVM Ubuntu guest VM.
>
> Some questions to support assisting you:
> * Does audio playback work OK from your Ubuntu dom0?
> * Do you know which version of Ubuntu you are using? ('cat /etc/lsb-release')
> * Do you know which version of Xen you are using? ('xl info' in dom0 should help)
> * Do you know which version of Qemu you have installed in dom0?
> * Did you build and install Xen from source code, or are you using binary packages of Xen and its tools?
> * Are you using the xl tools, or libvirt tools for configuring and running your guest? -- ie. how do you start your domU VM?
> * When your domU is running, please could you run 'ps auxwww' in dom0 and obtain the process information about the qemu instance that is running, so that we can see what command line arguments have been supplied to it
>
> > I am new to Xen/virtualization in general.
>
> Welcome! :-)
>
> > From various reading I understood that I need to take following approach:
> >
> > 1. Use Xen front end ALSA driver in dom U
>
> I'm not certain that this is necessary for your HVM guest. Instead of using the Xen paravirtualized audio protocol, Qemu should be able to present an emulated audio device to the HVM guest domU, and a standard audio driver (hda or ac97) in domU should suffice.
>
> > 2. Use Qemu to connect to the backend ALSA driver in Dom 0
>
> I think if Qemu is started with the correct command line arguments, it should be able to play sound on behalf of the guest, if sound is correctly configured and working in dom0.
>
> > Can you please let me know if this approach is fine? If yes, I have following questions:
> >
> > 1. Do I need to recompile Ubuntu to support Xen front end ALSA driver? Or will Ubuntu iso file already have it enabled?
>
> I think the latter, that the Ubuntu installation ISO should already contain a suitable audio device driver that is compatible with the virtual audio device that is emulated by Qemu.
>
> > 2. Ho do I configure Qemu to enable backend driver?
>
> A little more information about what you're running will help with providing guidance here. The xl man page indicates that there is a "soundhw" option in the VM configuration file for passing sound hardware configution through to qemu, so if you are using the xl toolstack, you could try adding this to the config file: soundhw="hda"
>
> Christopher


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
  2022-07-28 20:37       ` Christopher Clark
@ 2022-07-29 21:48         ` Christopher Clark
  0 siblings, 0 replies; 13+ messages in thread
From: Christopher Clark @ 2022-07-29 21:48 UTC (permalink / raw)
  To: SHARMA, JYOTIRMOY; +Cc: xen-devel, xen-users, Daniel Smith, Stefano Stabellini

On Thu, Jul 28, 2022 at 1:37 PM Christopher Clark
<christopher.w.clark@gmail.com> wrote:
>
> On Thu, Jul 28, 2022 at 12:05 PM SHARMA, JYOTIRMOY
> <JYOTIRMOY.SHARMA@amd.com> wrote:
> >
> > [AMD Official Use Only - General]
> >
> > Hi all,
> >
> > Can anyone please help here?

Hello again,

I have now been able to enable HVM guest audio using the Xen PV audio
front end device drivers that are included in Ubuntu 22.04.
The steps:
- remove the qemu wrapper script from my previous email, if you have
installed it, and restore the original qemu-system-i386 binary
- keep the pulseaudio system configuration from my previous email, so
that tools that run as the root user are able to talk to the desktop
host pulseaudio system
- add a vsnd device to the guest VM configuration file, in this case
using pulseaudio for output:

vsnd = [[ 'card, backend=Domain-0, buffer-size=65536,
short-name=VCard, long-name=Virtual sound card, sample-rates=48000,
sample-formats=s16_le', 'pcm, name=dev1', 'stream, unique-id=pulse,
type=P' ]]

- download, build and run the backend audio tool in the host dom0.

For the backend you'll need to download and build first libxenbe and
then snd_be from:
https://github.com/xen-troops/libxenbe
https://github.com/xen-troops/snd_be

Once you have the snd_be binary built, you can run it as root thus
before starting your guest VM:
./snd_be -v *:Debug
and then the guest audio output should be working OK.

I have not explored using ALSA rather than pulseaudio yet.

Christopher


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
@ 2022-09-06 10:51 SHARMA, JYOTIRMOY
  0 siblings, 0 replies; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-09-06 10:51 UTC (permalink / raw)
  To: SHARMA, JYOTIRMOY
  Cc: al1img, christopher.w.clark, dpsmith, olekstysh, Stabellini,
	Stefano, xen-devel, xen-users

[-- Attachment #1: Type: text/plain, Size: 493 bytes --]

[AMD Official Use Only - General]


I am continuously getting following log when I play a file in Dom U:

06.09.22 16:16:38.071 | XenEvtchn | DBG - Notify event channel, port: 76
06.09.22 16:16:38.096 | AlsaPcm | DBG - Frame: 0, bytes: 0, state: 3
06.09.22 16:16:38.096 | RingBuffer | DBG - Send event, port: 32, prod: 704, cons: 704, num event

Frame and bytes cannot be 0 for every frame, right? Can this be the issue? What could be the reason for this?


Regards,
Jyotirmoy


[-- Attachment #2: Type: text/html, Size: 3341 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
@ 2022-09-05 18:27 SHARMA, JYOTIRMOY
  0 siblings, 0 replies; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-09-05 18:27 UTC (permalink / raw)
  To: olekstysh
  Cc: SHARMA, JYOTIRMOY, christopher.w.clark, dpsmith, Stabellini,
	Stefano, xen-devel, xen-users, al1img

[-- Attachment #1: Type: text/plain, Size: 2350 bytes --]

[AMD Official Use Only - General]

Hi Oleksandr,

Thank you for your input. I tried matching the hardware parameter (i.e. buffer size) in the HVM config file, but still no luck with audio from HVM guest.
Here is the complete vsnd config:

vsnd = [[ 'card, backend=Domain-0, buffer-size=22050, short-name=VCard, long-name=Virtual sound card, sample-rates=8000;11025;16000;22050;32000;44100;48000, sample-formats=s16_le', 'pcm, name=dev1', 'stream, unique-id=alsa, type=P' ]]

This is what I see when I play audio in Dom 0:

amd@amd-Bilby-RV2:~$ aplay -v ~/SampleAudio/music.wav
Playing WAVE '/home/amd/SampleAudio/music.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
ALSA <-> PulseAudio PCM I/O Plugin
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
  buffer_size  : 22050
  period_size  : 5512
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : GETTIMEOFDAY
  period_step  : 1
  avail_min    : 5512
  period_event : 0
  start_threshold  : 22050
  stop_threshold   : 22050
  silence_threshold: 0
  silence_size : 0
  boundary     : 6206523236469964800

I have also tried giving buffer-size as 88200 (22050 * 2 channels * 2 bytes per sample), but still there is no audio from HVM guest.

What will be the right parameters based on the above aplay information?

Below is the information obtained using -dump-hw-params flag. Do I need to change vsnd parameters based on this information?

amd@amd-Bilby-RV2:~$ aplay  ~/SampleAudio/music.wav --dump-hw-params
Playing WAVE '/home/amd/SampleAudio/music.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
HW Params of device "default":
--------------------
ACCESS:  RW_INTERLEAVED
FORMAT:  U8 S16_LE S16_BE S24_LE S24_BE S32_LE S32_BE FLOAT_LE FLOAT_BE MU_LAW A_LAW S24_3LE S24_3BE
SUBFORMAT:  STD
SAMPLE_BITS: [8 32]
FRAME_BITS: [8 1024]
CHANNELS: [1 32]
RATE: [1 384000]
PERIOD_TIME: (2 4294967295)
PERIOD_SIZE: [1 1398102)
PERIOD_BYTES: [128 1398102)
PERIODS: [3 1024]
BUFFER_TIME: (7 4294967295]
BUFFER_SIZE: [3 4194304]
BUFFER_BYTES: [384 4194304]
TICK_TIME: ALL
--------------------

Added Oleksandr Grytsov for help.

Regards,
Jyotirmoy


[-- Attachment #2: Type: text/html, Size: 6771 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
  2022-09-01  8:58 SHARMA, JYOTIRMOY
@ 2022-09-02  8:21 ` Oleksandr Tyshchenko
  0 siblings, 0 replies; 13+ messages in thread
From: Oleksandr Tyshchenko @ 2022-09-02  8:21 UTC (permalink / raw)
  To: SHARMA, JYOTIRMOY
  Cc: christopher.w.clark, dpsmith, Stabellini, Stefano, xen-devel, xen-users

[-- Attachment #1: Type: text/plain, Size: 2690 bytes --]

On Thu, Sep 1, 2022 at 11:58 AM SHARMA, JYOTIRMOY <JYOTIRMOY.SHARMA@amd.com>
wrote:

> [AMD Official Use Only - General]
>
> Hi all,
>

Hello Jyotirmoy.

[sorry for the possible format issues]



>
>
> Forgot to mention that I am able to play audio from HVM guest with Pulse
> Audio as back end.
>


good.



> Here is the corresponding HVM configuration:
>
>
>
> vsnd = [[ 'card, backend=Domain-0, buffer-size=65536, short-name=VCard,
> long-name=Virtual sound card, sample-rates=44100, sample-formats=s16_le',
> 'pcm, name=dev1', 'stream, unique-id=pulse, type=P' ]]
>
>
>
> I have used xen front end and snd_be (along with libxenbe) as back end as
> suggested by Christopher earlier in this thread.
>
>
>
> Only when I change unique-id=alsa, audio is not working from HVM guest.
>
>
>
> If anyone has tried ALSA back end (instead of PA), please let me know what
> I am missing.
>


We use snd_be over pulse and it works fine. I am not too familiar with all
that sound's internals. But I would suggest looking at the following thread
where Oleksandr Grytsov (the author of the snd_be) mentioned the need of HW
parameters matching for alsa [1].

I made an experiment with alsa (however I am not 100% sure whether it is
correct), nevertheless details are below.

I changed guest config to use alsa:
vsnd = [[ 'card, backend=DomD, buffer-size=65536, short-name=VCard,
long-name=Virtual sound card,
sample-rates=8000;11025;16000;22050;32000;44100;48000,
sample-formats=s16_le',
     'pcm, name=dev1', 'stream, unique-id=alsa, type=P'
    ]]

And checked that snd_be started using alsa:
03.07.22 03:37:17.185 | SndFrontend  | DBG - Parse stream id: alsa
03.07.22 03:37:17.186 | SndFrontend  | DBG - Create pcm device, type: ALSA,
device: , propName: , propValue:
...

With that command running in DomU I heard the audio in headphones:
root@salvator-x-h3-4x2g-xt-domu:~# cat /dev/urandom | aplay -f S16_LE -c 2
-D hw:0,0
Playing raw data 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo

This is the output of "aplay -l" in both domains just in case:
root@salvator-x-h3-4x2g-xt-domd:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rcarsound [rcar-sound], device 0: rsnd-dai.0-ak4613-hifi
ak4613-hifi-0 []
 Subdevices: 0/1
 Subdevice #0: subdevice #0
root@salvator-x-h3-4x2g-xt-domu:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vsnd [], device 0: dev1 [Virtual card PCM]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Please check your HW params as suggested at [1].
[1]
https://lore.kernel.org/xen-devel/CACvf2oW7gHCLdkqYi8w1s7-FBuX8zcAwAnfZa07XhVg-ioaXaQ@mail.gmail.com/



>
>
> Regards,
>
> Jyotirmoy
>
>
>


-- 
Regards,

Oleksandr Tyshchenko

[-- Attachment #2: Type: text/html, Size: 5316 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
@ 2022-09-01  8:58 SHARMA, JYOTIRMOY
  2022-09-02  8:21 ` Oleksandr Tyshchenko
  0 siblings, 1 reply; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-09-01  8:58 UTC (permalink / raw)
  To: SHARMA, JYOTIRMOY
  Cc: christopher.w.clark, dpsmith, olekstysh, Stabellini, Stefano,
	xen-devel, xen-users

[-- Attachment #1: Type: text/plain, Size: 708 bytes --]

[AMD Official Use Only - General]

Hi all,

Forgot to mention that I am able to play audio from HVM guest with Pulse Audio as back end. Here is the corresponding HVM configuration:

vsnd = [[ 'card, backend=Domain-0, buffer-size=65536, short-name=VCard, long-name=Virtual sound card, sample-rates=44100, sample-formats=s16_le', 'pcm, name=dev1', 'stream, unique-id=pulse, type=P' ]]

I have used xen front end and snd_be (along with libxenbe) as back end as suggested by Christopher earlier in this thread.

Only when I change unique-id=alsa, audio is not working from HVM guest.

If anyone has tried ALSA back end (instead of PA), please let me know what I am missing.

Regards,
Jyotirmoy


[-- Attachment #2: Type: text/html, Size: 2835 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
@ 2022-09-01  7:28 SHARMA, JYOTIRMOY
  0 siblings, 0 replies; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-09-01  7:28 UTC (permalink / raw)
  To: olekstysh
  Cc: SHARMA, JYOTIRMOY, christopher.w.clark, dpsmith, Stabellini,
	Stefano, xen-devel, xen-users

[-- Attachment #1: Type: text/plain, Size: 45034 bytes --]

[AMD Official Use Only - General]

Hi Oleksandr, Christopher and others,

I am trying to enable audio playback from HVM guest as per discussion above using ALSA as back end.

I have compiled and installed libxenbe (https://github.com/xen-troops/libxenbe) and snd_be (https://github.com/xen-troops/snd_be).
Following is my vsnd detail in the HVM configuration file:

vsnd = [[ 'card, backend=Domain-0, buffer-size=65536, short-name=VCard, long-name=Virtual sound card, sample-rates=44100, sample-formats=s16_le', 'pcm, name=dev1', 'stream, unique-id=alsa<default>, type=P' ]]

Here is the virtual card listed in HVM guest:
amd@amd-HVM-domU:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vsnd [], device 0: dev1 [Virtual card PCM]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

I am trying to play audio in guest HVM using aplay command: aplay sample.wav. However, I am not able to hear any audio in this case.

Please note that if I play the wave file from dom 0 using the same command, audio can be heard. This means that audio is working fine in the dom 0 using default card.

Below is the log from snd_be. Has anyone tried ALSA back end before? If yes, can you help me in understanding the issue here?

01.09.22 12:46:37.240 | Main | INF - backend version:  v0.2.1-6-gb276
01.09.22 12:46:37.240 | Main | INF - libxenbe version: v0.2.1-11-g2e55-dirty
01.09.22 12:46:37.240 | XenStore | DBG - Create xen store
01.09.22 12:46:37.240 | XenStore | DBG - Read string domid : 0
01.09.22 12:46:37.240 | XenStore | DBG - Read int domid : 0
01.09.22 12:46:37.241 | SndBackend | DBG - Create backend, device: vsnd, dom Id: 0
01.09.22 12:46:37.241 | XenStore   | DBG - Start
01.09.22 12:46:37.241 | XenStore   | DBG - Set watch: /local/domain/0/backend/vsnd
01.09.22 12:46:37.241 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.469 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.470 | XenStore   | DBG - Set watch: /local/domain/0/backend/vsnd/1
01.09.22 12:46:50.470 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.470 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.471 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.471 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.471 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.472 | XenStore   | DBG - Watch triggered: /local/domain/0/backend/vsnd/1
01.09.22 12:46:50.472 | SndBackend | DBG - New frontend found, domid: 1, devid: 0
01.09.22 12:46:50.472 | XenStore   | DBG - Create xen store
01.09.22 12:46:50.472 | SndFrontend | DBG - Dom(1/0) Create frontend handler
01.09.22 12:46:50.473 | XenStore    | DBG - Read string /local/domain/1/device/vsnd/0/backend : /local/domain/0/backend/vsnd/1/0
01.09.22 12:46:50.473 | SndFrontend | DBG - Frontend path: /local/domain/1/device/vsnd/0
01.09.22 12:46:50.473 | SndFrontend | DBG - Backend path:  /local/domain/0/backend/vsnd/1/0
01.09.22 12:46:50.473 | XenStore    | DBG - Read string /local/domain/0/backend/vsnd/1/0/state : 1
01.09.22 12:46:50.473 | XenStore    | DBG - Read int /local/domain/0/backend/vsnd/1/0/state : 1
01.09.22 12:46:50.473 | SndFrontend | INF - Close
01.09.22 12:46:50.473 | SndFrontend | INF - Dom(1/0) Set backend state to: [Closing]
01.09.22 12:46:50.473 | XenStore    | DBG - Write int /local/domain/0/backend/vsnd/1/0/state : 5
01.09.22 12:46:50.473 | XenStore    | DBG - Write string /local/domain/0/backend/vsnd/1/0/state : 5
01.09.22 12:46:50.473 | SndFrontend | INF - Dom(1/0) Set backend state to: [Closed]
01.09.22 12:46:50.473 | XenStore    | DBG - Write int /local/domain/0/backend/vsnd/1/0/state : 6
01.09.22 12:46:50.474 | XenStore    | DBG - Write string /local/domain/0/backend/vsnd/1/0/state : 6
01.09.22 12:46:50.474 | SndFrontend | INF - Dom(1/0) Set backend state to: [Initializing]
01.09.22 12:46:50.474 | XenStore    | DBG - Write int /local/domain/0/backend/vsnd/1/0/state : 1
01.09.22 12:46:50.474 | XenStore    | DBG - Write string /local/domain/0/backend/vsnd/1/0/state : 1
01.09.22 12:46:50.474 | PulseMainloop | DBG - Init
01.09.22 12:46:50.477 | PulseMainloop | DBG - Context is ready
01.09.22 12:46:50.477 | XenStore      | DBG - Set watch: /local/domain/0/backend/vsnd/1/0
01.09.22 12:46:50.477 | XenStore      | DBG - Set watch: /local/domain/1/device/vsnd/0/state
01.09.22 12:46:50.478 | XenStore      | DBG - Set watch: /local/domain/0/backend/vsnd/1/0/state
01.09.22 12:46:50.478 | XenStore      | DBG - Start
01.09.22 12:46:50.478 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.478 | XenStore      | DBG - Watch triggered: /local/domain/1/device/vsnd/0/state
01.09.22 12:46:50.478 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1
01.09.22 12:46:50.478 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/state : 1
01.09.22 12:46:50.478 | XenStore      | DBG - Read int /local/domain/1/device/vsnd/0/state : 1
01.09.22 12:46:50.478 | SndFrontend   | INF - Dom(1/0) Frontend state changed to: [Initializing]
01.09.22 12:46:50.478 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.478 | SndFrontend   | INF - Dom(1/0) Set backend state to: [InitWait]
01.09.22 12:46:50.479 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1
01.09.22 12:46:50.479 | XenStore      | DBG - Write int /local/domain/0/backend/vsnd/1/0/state : 2
01.09.22 12:46:50.479 | XenStore      | DBG - Write string /local/domain/0/backend/vsnd/1/0/state : 2
01.09.22 12:46:50.479 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1/0/state
01.09.22 12:46:50.479 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.479 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1
01.09.22 12:46:50.479 | XenStore      | DBG - Read string /local/domain/0/backend/vsnd/1/0/state : 2
01.09.22 12:46:50.479 | XenStore      | DBG - Read int /local/domain/0/backend/vsnd/1/0/state : 2
01.09.22 12:46:50.479 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1/0/state
01.09.22 12:46:50.479 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1/0
01.09.22 12:46:50.479 | SndBackend    | DBG - Frontend path changed: /local/domain/0/backend/vsnd/1/0
01.09.22 12:46:50.479 | XenStore      | DBG - Read string /local/domain/0/backend/vsnd/1/0/state : 2
01.09.22 12:46:50.479 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:46:50.480 | XenStore      | DBG - Read int /local/domain/0/backend/vsnd/1/0/state : 2
01.09.22 12:46:50.480 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1
01.09.22 12:46:50.480 | XenStore      | DBG - Watch triggered: /local/domain/0/backend/vsnd/1/0
01.09.22 12:46:50.480 | SndBackend    | DBG - Frontend path changed: /local/domain/0/backend/vsnd/1/0
01.09.22 12:47:03.021 | XenStore      | DBG - Watch triggered: /local/domain/1/device/vsnd/0/state
01.09.22 12:47:03.022 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/state : 3
01.09.22 12:47:03.022 | XenStore      | DBG - Read int /local/domain/1/device/vsnd/0/state : 3
01.09.22 12:47:03.022 | SndFrontend   | INF - Dom(1/0) Frontend state changed to: [Initialized]
01.09.22 12:47:03.022 | SndFrontend   | DBG - onBind
01.09.22 12:47:03.022 | SndFrontend   | DBG - Found device: 0
01.09.22 12:47:03.022 | SndFrontend   | DBG - Found stream: 0
01.09.22 12:47:03.022 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/0/0/unique-id : alsa<default>
01.09.22 12:47:03.022 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/0/0/type : p
01.09.22 12:47:03.023 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/0/0/event-channel : 31
01.09.22 12:47:03.023 | XenStore      | DBG - Read int /local/domain/1/device/vsnd/0/0/0/event-channel : 31
01.09.22 12:47:03.023 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/0/0/ring-ref : 321
01.09.22 12:47:03.023 | XenStore      | DBG - Read int /local/domain/1/device/vsnd/0/0/0/ring-ref : 321
01.09.22 12:47:03.023 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/0/0/evt-event-channel : 32
01.09.22 12:47:03.023 | XenStore      | DBG - Read int /local/domain/1/device/vsnd/0/0/0/evt-event-channel : 32
01.09.22 12:47:03.023 | XenStore      | DBG - Read string /local/domain/1/device/vsnd/0/0/0/evt-ring-ref : 1437
01.09.22 12:47:03.023 | XenStore      | DBG - Read int /local/domain/1/device/vsnd/0/0/0/evt-ring-ref : 1437
01.09.22 12:47:03.024 | XenEvtchn     | DBG - Create event channel, dom: 1, remote port: 32, local port: 76
01.09.22 12:47:03.024 | XenGnttabBuffer | DBG - Create grant table buffer, dom: 1, count: 1, ref: 1437, buffer offset: 0
01.09.22 12:47:03.024 | RingBuffer      | DBG - Create ring buffer, port: 32, ref: 1437
01.09.22 12:47:03.024 | SndFrontend     | INF - Dom(1/0) Add ring buffer, ref: 1437, port: 32
01.09.22 12:47:03.024 | XenEvtchn       | DBG - Start event channel, port: 76
01.09.22 12:47:03.024 | SndFrontend     | DBG - Parse stream id: alsa<default>
01.09.22 12:47:03.024 | SndFrontend     | DBG - Create pcm device, type: ALSA, device: default, propName: , propValue:
01.09.22 12:47:03.024 | AlsaPcm         | DBG - Create pcm device: default
01.09.22 12:47:03.024 | XenEvtchn       | DBG - Event received, port: 76
01.09.22 12:47:03.024 | XenEvtchn       | DBG - Create event channel, dom: 1, remote port: 31, local port: 77
01.09.22 12:47:03.024 | XenGnttabBuffer | DBG - Create grant table buffer, dom: 1, count: 1, ref: 321, buffer offset: 0
01.09.22 12:47:03.024 | RingBuffer      | DBG - Create ring buffer, port: 31, ref: 321
01.09.22 12:47:03.024 | CommandHandler  | DBG - Create command handler, dom: 1
01.09.22 12:47:03.024 | StreamRing      | DBG - Create stream ring buffer, id: alsa<default>
01.09.22 12:47:03.024 | SndFrontend     | INF - Dom(1/0) Add ring buffer, ref: 321, port: 31
01.09.22 12:47:03.024 | XenEvtchn       | DBG - Start event channel, port: 77
01.09.22 12:47:03.024 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:03.025 | SndFrontend     | INF - Dom(1/0) Set backend state to: [Connected]
01.09.22 12:47:03.025 | XenStore        | DBG - Write int /local/domain/0/backend/vsnd/1/0/state : 4
01.09.22 12:47:03.025 | XenStore        | DBG - Write string /local/domain/0/backend/vsnd/1/0/state : 4
01.09.22 12:47:03.026 | XenStore        | DBG - Watch triggered: /local/domain/0/backend/vsnd/1/0/state
01.09.22 12:47:03.026 | XenStore        | DBG - Watch triggered: /local/domain/0/backend/vsnd
01.09.22 12:47:03.026 | XenStore        | DBG - Watch triggered: /local/domain/0/backend/vsnd/1
01.09.22 12:47:03.026 | XenStore        | DBG - Read string /local/domain/0/backend/vsnd/1/0/state : 4
01.09.22 12:47:03.026 | XenStore        | DBG - Read int /local/domain/0/backend/vsnd/1/0/state : 4
01.09.22 12:47:03.026 | XenStore        | DBG - Watch triggered: /local/domain/0/backend/vsnd/1/0
01.09.22 12:47:03.026 | SndBackend      | DBG - Frontend path changed: /local/domain/0/backend/vsnd/1/0
01.09.22 12:47:03.034 | XenStore        | DBG - Watch triggered: /local/domain/1/device/vsnd/0/state
01.09.22 12:47:03.034 | XenStore        | DBG - Read string /local/domain/1/device/vsnd/0/state : 4
01.09.22 12:47:03.034 | XenStore        | DBG - Read int /local/domain/1/device/vsnd/0/state : 4
01.09.22 12:47:03.034 | SndFrontend     | INF - Dom(1/0) Frontend state changed to: [Connected]
01.09.22 12:47:04.390 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.390 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.390 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.390 | AlsaPcm         | DBG - Opening pcm device for queries: default
01.09.22 12:47:04.395 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.395 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.395 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.395 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.395 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.395 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.395 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.395 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.395 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.395 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.395 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.395 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.395 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.395 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.395 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.396 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.396 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.396 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.396 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.396 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.396 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.396 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.396 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.396 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.396 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.396 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.396 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.396 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.396 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.396 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.396 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.396 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.397 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.397 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.397 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.397 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.397 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.397 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.397 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.397 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.397 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.397 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.397 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.397 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.397 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.397 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.397 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.397 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.397 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.397 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.397 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.398 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.398 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.398 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.398 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.398 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.398 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.398 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.398 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.398 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.398 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.398 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.398 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.398 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.398 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.398 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.398 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.398 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.398 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.398 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.398 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.399 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.399 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.399 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.399 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.399 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.399 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.399 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.399 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.399 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.399 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.399 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.399 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.399 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.399 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.399 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.399 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.399 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.399 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.399 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.399 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.402 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.402 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.402 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.402 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.402 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.402 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.406 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.406 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.406 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.406 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.406 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.406 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.408 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.408 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:0
01.09.22 12:47:04.408 | CommandHandler  | DBG - Handle command [OPEN]
01.09.22 12:47:04.408 | CommandHandler  | DBG - Get buffer refs, directory: 316, size: 17632, in grefs: 5
01.09.22 12:47:04.408 | XenGnttabBuffer | DBG - Create grant table buffer, dom: 1, count: 1, ref: 316, buffer offset: 0
01.09.22 12:47:04.409 | CommandHandler  | DBG - Gref address: 0x7fd1ea112004, numGrefs 5
01.09.22 12:47:04.409 | XenGnttabBuffer | DBG - Delete grant table buffer
01.09.22 12:47:04.409 | CommandHandler  | DBG - Get buffer refs, num refs: 5
01.09.22 12:47:04.409 | XenGnttabBuffer | DBG - Create grant table buffer, dom: 1, count: 5, ref: 1485, buffer offset: 0
01.09.22 12:47:04.409 | AlsaPcm         | DBG - Open pcm device: default
01.09.22 12:47:04.409 | AlsaPcm         | DBG - Close pcm query device: default
01.09.22 12:47:04.410 | AlsaPcm         | DBG - Format: S16_LE, rate: 44100, channels: 2, period: 4408, buffer: 17632
01.09.22 12:47:04.666 | AlsaPcm         | DBG - Playback supports audio default timestamps
01.09.22 12:47:04.668 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.669 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.681 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.681 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:1
01.09.22 12:47:04.681 | CommandHandler  | DBG - Handle command [CLOSE]
01.09.22 12:47:04.681 | XenGnttabBuffer | DBG - Delete grant table buffer
01.09.22 12:47:04.681 | AlsaPcm         | DBG - Close pcm device: default
01.09.22 12:47:04.684 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.685 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.689 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.689 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.689 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.689 | AlsaPcm         | DBG - Opening pcm device for queries: default
01.09.22 12:47:04.691 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.691 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.691 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.694 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.694 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.694 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.694 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.694 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.694 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.695 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.696 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.696 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.696 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.696 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.696 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.699 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.699 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.699 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.699 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.699 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.699 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.699 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.699 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.700 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.700 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.700 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.700 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.700 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.700 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.700 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.700 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.700 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.700 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.700 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.700 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.700 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.700 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.701 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.701 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.701 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.701 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.701 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.701 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.701 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.701 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.701 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.701 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.701 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.701 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.701 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.701 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.701 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.701 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.701 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.701 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.702 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.702 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.702 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.702 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.702 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.702 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.702 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.702 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.702 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.702 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.702 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.702 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.702 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.702 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.703 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.703 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.703 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.703 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.703 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.703 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.703 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.703 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.703 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.703 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.703 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.703 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.703 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.703 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.704 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.704 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.704 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.704 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.704 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.704 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.704 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.704 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.704 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.704 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.704 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.704 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.704 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.704 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.704 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.704 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.704 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.704 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.704 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.704 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.704 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.704 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.705 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.705 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.705 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.705 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.705 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.705 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.705 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.705 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.705 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.705 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.705 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.705 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.705 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.705 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.705 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.705 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.705 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.705 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.705 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.705 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.705 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.705 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.706 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.706 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.706 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.706 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.706 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.706 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.706 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.706 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.706 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.706 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:0
01.09.22 12:47:04.706 | CommandHandler  | DBG - Handle command [OPEN]
01.09.22 12:47:04.706 | CommandHandler  | DBG - Get buffer refs, directory: 326, size: 17632, in grefs: 5
01.09.22 12:47:04.706 | XenGnttabBuffer | DBG - Create grant table buffer, dom: 1, count: 1, ref: 326, buffer offset: 0
01.09.22 12:47:04.706 | CommandHandler  | DBG - Gref address: 0x7fd1ea112004, numGrefs 5
01.09.22 12:47:04.707 | XenGnttabBuffer | DBG - Delete grant table buffer
01.09.22 12:47:04.707 | CommandHandler  | DBG - Get buffer refs, num refs: 5
01.09.22 12:47:04.707 | XenGnttabBuffer | DBG - Create grant table buffer, dom: 1, count: 5, ref: 319, buffer offset: 0
01.09.22 12:47:04.707 | AlsaPcm         | DBG - Open pcm device: default
01.09.22 12:47:04.707 | AlsaPcm         | DBG - Close pcm query device: default
01.09.22 12:47:04.708 | AlsaPcm         | DBG - Format: S16_LE, rate: 44100, channels: 2, period: 4408, buffer: 17632
01.09.22 12:47:04.710 | AlsaPcm         | DBG - Playback supports audio default timestamps
01.09.22 12:47:04.712 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.712 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.712 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.712 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.712 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.712 | AlsaPcm         | DBG - Opening pcm device for queries: default
01.09.22 12:47:04.715 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.715 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.715 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.715 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.715 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.715 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.715 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.715 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.715 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.715 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.715 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.715 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.715 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.715 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.715 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.716 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.716 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.716 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.716 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.716 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.716 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.716 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.716 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.716 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.716 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.716 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.716 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.716 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.716 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.716 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.716 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.716 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.716 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.716 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.716 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.716 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.717 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.717 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.717 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.717 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.717 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.717 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.717 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.717 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.717 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.717 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.717 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.717 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.717 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.717 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.717 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.718 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.718 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.718 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.718 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.718 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.718 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.718 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.718 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.718 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.718 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.718 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.718 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.718 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.718 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:9
01.09.22 12:47:04.718 | CommandHandler  | DBG - Handle command [QUERY_HW_PARAM]
01.09.22 12:47:04.718 | AlsaPcm         | DBG - Query pcm device default for HW parameters
01.09.22 12:47:04.718 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.718 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.727 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.727 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:3
01.09.22 12:47:04.727 | CommandHandler  | DBG - Handle command [WRITE]
01.09.22 12:47:04.727 | AlsaPcm         | DBG - Write to pcm device: default, size: 4408
01.09.22 12:47:04.727 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.727 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.729 | XenEvtchn       | DBG - Event received, port: 77
01.09.22 12:47:04.729 | StreamRing      | DBG - Request received, id: alsa<default>, cmd:8
01.09.22 12:47:04.729 | CommandHandler  | DBG - Handle command [TRIGGER][START]
01.09.22 12:47:04.729 | AlsaPcm         | DBG - Start
01.09.22 12:47:04.731 | CommandHandler  | DBG - Return status: [0]
01.09.22 12:47:04.731 | XenEvtchn       | DBG - Notify event channel, port: 77
01.09.22 12:47:04.756 | AlsaPcm         | DBG - Frame: 0, bytes: 17632, state: 4
01.09.22 12:47:04.756 | RingBuffer      | DBG - Send event, port: 32, prod: 0, cons: 0, num events: 63
01.09.22 12:47:04.756 | XenEvtchn       | DBG - Notify event channel, port: 76
01.09.22 12:47:04.780 | AlsaPcm         | DBG - Frame: 0, bytes: 17632, state: 4
01.09.22 12:47:04.780 | RingBuffer      | DBG - Send event, port: 32, prod: 1, cons: 1, num events: 63
01.09.22 12:47:04.780 | XenEvtchn       | DBG - Notify event channel, port: 76



Regards,
Jyotirmoy


[-- Attachment #2: Type: text/html, Size: 78212 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
  2022-08-12  9:27 SHARMA, JYOTIRMOY
@ 2022-08-12 12:15 ` Oleksandr
  0 siblings, 0 replies; 13+ messages in thread
From: Oleksandr @ 2022-08-12 12:15 UTC (permalink / raw)
  To: SHARMA, JYOTIRMOY, christopher.w.clark
  Cc: dpsmith, Stabellini, Stefano, xen-devel, xen-users


On 12.08.22 12:27, SHARMA, JYOTIRMOY wrote:
>
> [AMD Official Use Only - General]
>
>
> Hello Christopher,
>
Hello Jyotirmoy, Christopher


Just spotted that libxenbe and snd_be were mentioned ...


> Thank you so much for your reply. I will execute your steps and first 
> try to enable pulse audio as you have mentioned.
>
> Later I will try to enable ALSA which is my final requirement.
>
> Meanwhile, I was reading up on virtio-snd and found some patches in 
> the internet. However, those patches are not
>
> present in the qemu source code 
> (https://gitlab.com/qemu-project/qemu.git). Do you know
>
>  1. If virtio-snd front end driver is another option to enable audio
>     in HVM guest with Qemu/ALSA as backend in dom0?
>  2. If yes, how is it different from xen front end drivers?
>
> Also, regarding enabling Xen PV audio front end device drivers, you 
> have mentioned that I need to enable backend using libxenbe and 
> snd_be. Does it mean, in this case, Qemu is not involved in the audio 
> backend? Any pointers to understand this overall architecture (Xen PV 
> audio front end driver/snd_be/qemu/ALSA) will be extremely helpful.
>

    ... I am not familiar with sound internals, but have an overall 
understanding about Xen PV audio.


1. The backend (snd_be) is Xen PV backend, not a virtio. It is a 
standalone user-space application, so Qemu is not involved here if we 
are speaking about snd_be+libxenbe. The backend can work on top of Pulse 
or Alsa and supports playback and record.
    https://github.com/xen-troops/snd_be/commits/master
    Some details you can find at:
    https://github.com/xen-troops/snd_be/blob/master/README.md

2. The library (libxenbe) contains various Xen specific stuff, such as 
event channel, xenstore, grant table, etc needed for Xen PV backend to 
work, so it should be linked by snd_be.
    https://github.com/xen-troops/libxenbe/commits/master
    Both snd_be and libxenbe are written on C++, both are part of Yocto 
build, but I guess they can be built standalone.


3. The frontend is in upstream Linux and supported, the protocol is also 
there, toolstack also supports PV audio configuration (no extra patches 
are needed):
    https://elixir.bootlin.com/linux/v5.19.1/source/sound/xen
https://elixir.bootlin.com/linux/v5.19.1/source/include/xen/interface/io/sndif.h

    Also the guest should be built with CONFIG_SND_XEN_FRONTEND=y


> Regards,
>
> Jyotirmoy
>
-- 
Regards,

Oleksandr Tyshchenko



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Enable audio virtualization in Xen
@ 2022-08-12  9:27 SHARMA, JYOTIRMOY
  2022-08-12 12:15 ` Oleksandr
  0 siblings, 1 reply; 13+ messages in thread
From: SHARMA, JYOTIRMOY @ 2022-08-12  9:27 UTC (permalink / raw)
  To: christopher.w.clark
  Cc: SHARMA, JYOTIRMOY, dpsmith, Stabellini, Stefano, xen-devel, xen-users

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

[AMD Official Use Only - General]

Hello Christopher,

Thank you so much for your reply. I will execute your steps and first try to enable pulse audio as you have mentioned.
Later I will try to enable ALSA which is my final requirement.

Meanwhile, I was reading up on virtio-snd and found some patches in the internet. However, those patches are not
present in the qemu source code (https://gitlab.com/qemu-project/qemu.git). Do you know

  1.  If virtio-snd front end driver is another option to enable audio in HVM guest with Qemu/ALSA as backend in dom0?
  2.  If yes, how is it different from xen front end drivers?

Also, regarding enabling Xen PV audio front end device drivers, you have mentioned that I need to enable backend using libxenbe and snd_be. Does it mean, in this case, Qemu is not involved in the audio backend? Any pointers to understand this overall architecture (Xen PV audio front end driver/snd_be/qemu/ALSA) will be extremely helpful.

Regards,
Jyotirmoy


[-- Attachment #2: Type: text/html, Size: 5025 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-09-06 21:39 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-25 11:08 Enable audio virtualization in Xen SHARMA, JYOTIRMOY
2022-07-25 21:14 ` Christopher Clark
2022-07-26 10:57   ` SHARMA, JYOTIRMOY
2022-07-28 19:05     ` SHARMA, JYOTIRMOY
2022-07-28 20:37       ` Christopher Clark
2022-07-29 21:48         ` Christopher Clark
2022-08-12  9:27 SHARMA, JYOTIRMOY
2022-08-12 12:15 ` Oleksandr
2022-09-01  7:28 SHARMA, JYOTIRMOY
2022-09-01  8:58 SHARMA, JYOTIRMOY
2022-09-02  8:21 ` Oleksandr Tyshchenko
2022-09-05 18:27 SHARMA, JYOTIRMOY
2022-09-06 10:51 SHARMA, JYOTIRMOY

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.