[PATCH 0/3] qemu: Introduce pipewire audio backend

Michal Privoznik posted 3 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1683807150.git.mprivozn@redhat.com
NEWS.rst                                      | 10 +++
docs/formatdomain.rst                         | 35 +++++++++-
src/conf/domain_conf.c                        | 70 +++++++++++++++++++
src/conf/domain_conf.h                        | 12 ++++
src/conf/schemas/domaincommon.rng             | 37 ++++++++++
src/qemu/qemu_command.c                       | 63 +++++++++++++++++
src/qemu/qemu_validate.c                      |  1 +
.../audio-many-backends.x86_64-latest.args    |  2 +
.../qemuxml2argvdata/audio-many-backends.xml  |  1 +
.../audio-pipewire-best.x86_64-latest.args    | 36 ++++++++++
.../qemuxml2argvdata/audio-pipewire-best.xml  | 43 ++++++++++++
.../audio-pipewire-full.x86_64-latest.args    | 36 ++++++++++
.../qemuxml2argvdata/audio-pipewire-full.xml  | 43 ++++++++++++
.../audio-pipewire-minimal.x86_64-latest.args | 36 ++++++++++
.../audio-pipewire-minimal.xml                | 36 ++++++++++
tests/qemuxml2argvtest.c                      | 12 ++++
.../audio-pipewire-best.xml                   | 43 ++++++++++++
.../audio-pipewire-full.xml                   | 43 ++++++++++++
.../audio-pipewire-minimal.xml                | 36 ++++++++++
tests/qemuxml2xmltest.c                       |  3 +
20 files changed, 596 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-best.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-best.xml
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-full.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-full.xml
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-minimal.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-minimal.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-best.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-full.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-minimal.xml
[PATCH 0/3] qemu: Introduce pipewire audio backend
Posted by Michal Privoznik 1 year ago
You'd expect to see src/qemu/qemu_capabilities.c changed, wouldn't you.
Well, there's no way to query for supported audio backends, see:

  https://gitlab.com/libvirt/libvirt/-/issues/473

Michal Prívozník (3):
  conf: Introduce pipewire audio backend
  qemu: Generate cmd line for pipewire audio backend
  NEWS: Document pipewire audio backend

 NEWS.rst                                      | 10 +++
 docs/formatdomain.rst                         | 35 +++++++++-
 src/conf/domain_conf.c                        | 70 +++++++++++++++++++
 src/conf/domain_conf.h                        | 12 ++++
 src/conf/schemas/domaincommon.rng             | 37 ++++++++++
 src/qemu/qemu_command.c                       | 63 +++++++++++++++++
 src/qemu/qemu_validate.c                      |  1 +
 .../audio-many-backends.x86_64-latest.args    |  2 +
 .../qemuxml2argvdata/audio-many-backends.xml  |  1 +
 .../audio-pipewire-best.x86_64-latest.args    | 36 ++++++++++
 .../qemuxml2argvdata/audio-pipewire-best.xml  | 43 ++++++++++++
 .../audio-pipewire-full.x86_64-latest.args    | 36 ++++++++++
 .../qemuxml2argvdata/audio-pipewire-full.xml  | 43 ++++++++++++
 .../audio-pipewire-minimal.x86_64-latest.args | 36 ++++++++++
 .../audio-pipewire-minimal.xml                | 36 ++++++++++
 tests/qemuxml2argvtest.c                      | 12 ++++
 .../audio-pipewire-best.xml                   | 43 ++++++++++++
 .../audio-pipewire-full.xml                   | 43 ++++++++++++
 .../audio-pipewire-minimal.xml                | 36 ++++++++++
 tests/qemuxml2xmltest.c                       |  3 +
 20 files changed, 596 insertions(+), 2 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/audio-pipewire-best.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/audio-pipewire-best.xml
 create mode 100644 tests/qemuxml2argvdata/audio-pipewire-full.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/audio-pipewire-full.xml
 create mode 100644 tests/qemuxml2argvdata/audio-pipewire-minimal.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/audio-pipewire-minimal.xml
 create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-best.xml
 create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-full.xml
 create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-minimal.xml

-- 
2.39.3

Re: [PATCH 0/3] qemu: Introduce pipewire audio backend
Posted by Peter Krempa 1 year ago
On Thu, May 11, 2023 at 14:14:49 +0200, Michal Privoznik wrote:
> You'd expect to see src/qemu/qemu_capabilities.c changed, wouldn't you.
> Well, there's no way to query for supported audio backends, see:
> 
>   https://gitlab.com/libvirt/libvirt/-/issues/473

Note that you can already query whether qemu was _compiled_ with the
support for an audio backend. You can't query whether (if modular build
is done) the audio backend driver is actually installed.

In your case it would be done by:

 { "query-audiodevs/ret-type/+pipewire", QEMU_CAPS_QUERY_AUDIODEVS_PIPEWIRE }

and would require a new capability dump. I can do the latter if you
want.

Given that here it's only a explicit user configuration, I don't think
it's entirely necessary to have capability checks.