On Wed, Nov 22, 2023 at 12:37:58 +0100, Michal Prívozník wrote:
On 11/16/23 14:30, Peter Krempa wrote:
> On Tue, Nov 07, 2023 at 13:55:24 +0100, Michal Privoznik wrote:
>> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
>> ---
>> NEWS.rst | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/NEWS.rst b/NEWS.rst
>> index 08e5a3d04a..f73dd867d5 100644
>> --- a/NEWS.rst
>> +++ b/NEWS.rst
>> @@ -17,6 +17,16 @@ v9.10.0 (unreleased)
>>
>> * **New features**
>>
>> + * Introduce pipewire audio backend
>> +
>> + The QEMU hypervisor driver now allows setting ``pipewire`` backend for
>> + ``<audio/>`` device. Please note, that for domains under system URI
it
>> + might be necessary to set various environment variables (e.g.
>> + ``PIPEWIRE_REMOTE`` and/or ``PIPEWIRE_RUNTIME_DIR``) to point QEMU process
>> + to a PipeWire daemon running under a non-privileged user. See `knowledge
base
>> +
<
https://libvirt.org/kbase/qemu-passthrough-security.html#xml-document-add...
>> + for more information on passing additional environment variables.
>
> This seems to imply that you must set the XML env variable overrides,
> but the code seems to do the passthrough from users environment. I think
> it should be made obvious which is the case and also most likely a
> better idea is to clarify it in formatdomain.rst to point users to what
> additional config they need.
>
Maybe the wording is bad, but basically:
1) for qemu:///session, the virtqemud is started automagically, i.e.
after pipewire daemon was started and thus one of the env vars is
already present in the environment and passed through. Mind you,
pipewire daemon is also per user.
2) for qemu:///system, the virtqemud is going to be started by init
system and thus no env var is going to be set for it. This is different
from pulseaudio. In this case, you need to set the env var explicitly to
tell pipewire client (running inside of qemu) where to connect.
If this is the expected usage then use of the qemu:env XML namespace is
not what we should suggest. Instead the definition should have explicit
XML elements in the main schema to configure these variables.
I'm not sure how to express this in the NEWS.
Ideally the NEWS should not contain information about how to configure a
feature, that's the job of the XML documentation. Drop anything about
how to set it up and link to formatdomain.html instead.