From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773605906; cv=none; d=zohomail.com; s=zohoarc; b=d/X0bzoDMbwvLGOgyBDIiM6MrwyQn4ZJm62LtQnSY99jUCu1XsQBK50AywMNhkCbLbFOxi90usoh5qXCj9rh7eAeYZ0FRRWAReddiLfsUSyOCQyWFmTqT7y9glBoVZ5BzVS4byRnLFjipqNFo28u+6ZQs9/b+pIox+3QhmeJd8E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773605906; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Yjyr/X5WOlNMkf+3wNCMMXzktFwXFLTQOlDO4YuexnY=; b=C7y2U+ULirALnaCtWOLT4mt99wA98lzWHMXI9MhnpGolwyRKnqC7WaQhebunk03A+/ogmm80hfxEg8itctuieO6dzJv/bYzox/9OSoSSclCWzFMjFj1XOLPiB1I/zO3V8nHozpO20v1QFC/DCgj7Pfb3kpyhX/LqC4WDx81ykv8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773605905606571.8654436438516; Sun, 15 Mar 2026 13:18:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ru5-0006LV-HU; Sun, 15 Mar 2026 16:17:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rty-0006Ka-2j for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:31 -0400 Received: from forwardcorp1a.mail.yandex.net ([178.154.239.72]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rtT-0002LC-9t for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:02 -0400 Received: from mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net [IPv6:2a02:6b8:c1f:3a87:0:640:845c:0]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 03869C015B; Sun, 15 Mar 2026 23:16:51 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id nGRDD91AWKo0-yIvAEkCP; Sun, 15 Mar 2026 23:16:50 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605810; bh=Yjyr/X5WOlNMkf+3wNCMMXzktFwXFLTQOlDO4YuexnY=; h=Cc:Message-Id:References:Date:In-Reply-To:Subject:To:From; b=KcYI4m9gqAc6dsoofsrU9JwunEFAbHN9OL4Y4V9/EnlkL07s/6HUl0aKqesXBmzw0 GnTZzoZjw9xPcifl1T4E42hOIXUm/vX87w1ZxyG6X7HY04uHwjfPN0zi944coPGlHS 6L3McF1N1mz08/aMEz6GBloSIPf3Vg2Y8a6im6BQ= Authentication-Results: mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 01/11] audio: add `audio` build option for meson and Kconfig Date: Mon, 16 Mar 2026 01:16:36 +0500 Message-Id: <20260315201646.96862-2-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.72; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1a.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773605910675158500 This patch adds the `audio` option to meson_options.txt. It is propagated into Kconfig as AUDIO. It is enabled by default. The corresponding `--disable-audio` and `--enable-audio` options for `configure` are also added. For now, this option does nothing. In subsequent patches, it will gradually disable audio in different places. The final goal is to stop building sources from `audio/` and `hw/audio/` and other audio-related files (except for some stubs). Note that this intent is different from `-audio none`, which mutes audio but still compiles the audio subsystem. Signed-off-by: Sergei Heifetz Reviewed-by: Marc-Andr=C3=A9 Lureau --- Kconfig.host | 3 +++ meson.build | 3 +++ meson_options.txt | 3 +++ scripts/meson-buildoptions.sh | 3 +++ 4 files changed, 12 insertions(+) diff --git a/Kconfig.host b/Kconfig.host index 933425c74b4..ec129aa4fc0 100644 --- a/Kconfig.host +++ b/Kconfig.host @@ -29,6 +29,9 @@ config IVSHMEM config TPM bool =20 +config AUDIO + bool + config FDT bool =20 diff --git a/meson.build b/meson.build index ed82247111e..d05533488f9 100644 --- a/meson.build +++ b/meson.build @@ -68,6 +68,8 @@ foreach target : target_dirs endforeach have_user =3D have_linux_user or have_bsd_user =20 +have_audio =3D get_option('audio').disable_auto_if(not have_system).allowe= d() + ############ # Programs # ############ @@ -3277,6 +3279,7 @@ disassemblers =3D { have_ivshmem =3D config_host_data.get('CONFIG_EVENTFD') host_kconfig =3D \ (get_option('fuzzing') ? ['CONFIG_FUZZ=3Dy'] : []) + \ + (have_audio ? ['CONFIG_AUDIO=3Dy'] : []) + \ (have_tpm ? ['CONFIG_TPM=3Dy'] : []) + \ (pixman.found() ? ['CONFIG_PIXMAN=3Dy'] : []) + \ (spice.found() ? ['CONFIG_SPICE=3Dy'] : []) + \ diff --git a/meson_options.txt b/meson_options.txt index 31d5916cfce..d22386b4c15 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -71,6 +71,9 @@ option('malloc_trim', type : 'feature', value : 'auto', option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemallo= c'], value: 'system', description: 'choose memory allocator to use') =20 +option('audio', type: 'feature', value: 'auto', + description: 'Audio support') + option('kvm', type: 'feature', value: 'auto', description: 'KVM acceleration support') option('mshv', type: 'feature', value: 'auto', diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh index ca5b113119a..05c55d2e70f 100644 --- a/scripts/meson-buildoptions.sh +++ b/scripts/meson-buildoptions.sh @@ -96,6 +96,7 @@ meson_options_help() { printf "%s\n" ' af-xdp AF_XDP network backend support' printf "%s\n" ' alsa ALSA sound support' printf "%s\n" ' attr attr/xattr support' + printf "%s\n" ' audio Audio support' printf "%s\n" ' auth-pam PAM access control' printf "%s\n" ' blkio libblkio block device driver' printf "%s\n" ' bochs bochs image format support' @@ -243,6 +244,8 @@ _meson_option_parse() { --disable-asan) printf "%s" -Dasan=3Dfalse ;; --enable-attr) printf "%s" -Dattr=3Denabled ;; --disable-attr) printf "%s" -Dattr=3Ddisabled ;; + --enable-audio) printf "%s" -Daudio=3Denabled ;; + --disable-audio) printf "%s" -Daudio=3Ddisabled ;; --audio-drv-list=3D*) quote_sh "-Daudio_drv_list=3D$2" ;; --enable-auth-pam) printf "%s" -Dauth_pam=3Denabled ;; --disable-auth-pam) printf "%s" -Dauth_pam=3Ddisabled ;; --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773605918; cv=none; d=zohomail.com; s=zohoarc; b=SimkHex3j2QuddSPwQHLsGlH/zOmdKTffSMsqbUwjEJHDjgcomqI7pdOP9WRojJxoODSKFWt15cxOwFgjTkzFXt17j34NRmcd0JPX+a2xDlmpcpdm83kCKzrT4HOqb6pckuAiV6Hf8DHyAUhwQkPBvg67uKaw/26b3btbZgpx8k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773605918; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gR/N2gXkosXfX3Wxj7U9nweNWgA7ppbfRxk8S6VfUJw=; b=f8PKFxlNvDd1Q5qmPMQln2v4BYsrzIklCVzcg4IEDW6aH9wHYybmRFzd7KoiTbPBlvAmvBBMM65x9W5wLNvz2Rjw5d0rfdOuHq7A3s8WGNuY83k4rAEoy2GwGs/EQUjc/ch3Fqc9/11oPOaOyHSbgoN4L1mzODpb9wAVUrMmaUM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773605917852819.9984758005717; Sun, 15 Mar 2026 13:18:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruC-0006Lg-3t; Sun, 15 Mar 2026 16:17:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rty-0006Kc-3C for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:31 -0400 Received: from forwardcorp1a.mail.yandex.net ([178.154.239.72]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rtS-0002LJ-Qu for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:02 -0400 Received: from mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:bf1f:0:640:c739:0]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 4FDC2C015C; Sun, 15 Mar 2026 23:16:54 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id pGRLE71AgKo0-yXl5N0r4; Sun, 15 Mar 2026 23:16:53 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605813; bh=gR/N2gXkosXfX3Wxj7U9nweNWgA7ppbfRxk8S6VfUJw=; h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From; b=quTIWC1l7zx+S8Cc9JtcMs+ImeL3ju6kALHVko2rK2MbqVZJsW2CVYdRd4AYWM9gV NBom3z3/W/YB2L6jBthbddAHXMd6A9Sq07HrjwjzpNwgIgB1uKjUYHP8x6hiJCxnuD bwA3VZy4FJSzpPz24i/OZD5mAL5PtG+DNheu/fQ0= Authentication-Results: mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 02/11] ui/vnc: disable audio feature when configured with --disable-audio Date: Mon, 16 Mar 2026 01:16:37 +0500 Message-Id: <20260315201646.96862-3-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.72; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1a.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773605921873154100 Content-Type: text/plain; charset="utf-8" Disable the audio feature in VNC when QEMU is configured with `--disable-audio`. Do not compile the corresponding audio-related code. The audio feature is disabled in a way that makes a QEMU server behave like a non-QEMU server (as far as audio is concerned). The client sends the audio pseudo-encoding, but the server does not respond with confirmation, because send_ext_audio_ack is now behind an #ifdef. A well-behaved client should handle this accordingly and continue using VNC without sending any audio-related messages to the server. If a client misbehaves and sends VNC_MSG_CLIENT_QEMU_AUDIO while the audio feature is disabled, the server will close the connection with an error. The behaviour described above is already present when there is no audiodev (`vs->vd->audio_be` is NULL). Signed-off-by: Sergei Heifetz --- qemu-options.hx | 3 +++ ui/vnc.c | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/qemu-options.hx b/qemu-options.hx index 890c4f1d230..04ea2239296 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -2723,6 +2723,9 @@ SRST must be omitted, otherwise is must be present and specify a valid audiodev. =20 + If QEMU is configured with ``--disable-audio``, this parameter + is not present and audio is not transmitted over VNC. + ``power-control=3Don|off`` Permit the remote client to issue shutdown, reboot or reset power control requests. diff --git a/ui/vnc.c b/ui/vnc.c index 952976e9649..0ee5502d1e6 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -1072,6 +1072,7 @@ static void vnc_update_throttle_offset(VncState *vs) size_t offset =3D vs->client_width * vs->client_height * vs->client_pf.bytes_per_pix= el; =20 +#ifdef CONFIG_AUDIO if (vs->audio_cap) { int bps; switch (vs->as.fmt) { @@ -1091,6 +1092,7 @@ static void vnc_update_throttle_offset(VncState *vs) } offset +=3D vs->as.freq * bps * vs->as.nchannels; } +#endif =20 /* Put a floor of 1MB on offset, so that if we have a large pending * buffer and the display is resized to a small size & back again @@ -1214,6 +1216,7 @@ static int vnc_update_client(VncState *vs, int has_di= rty) return n; } =20 +#ifdef CONFIG_AUDIO /* audio */ static void audio_capture_notify(void *opaque, audcnotification_e cmd) { @@ -1293,6 +1296,7 @@ static void audio_del(VncState *vs) vs->audio_cap =3D NULL; } } +#endif =20 static void vnc_disconnect_start(VncState *vs) { @@ -1332,7 +1336,9 @@ void vnc_disconnect_finish(VncState *vs) #ifdef CONFIG_VNC_SASL vnc_sasl_client_cleanup(vs); #endif /* CONFIG_VNC_SASL */ +#ifdef CONFIG_AUDIO audio_del(vs); +#endif qkbd_state_lift_all_keys(vs->vd->kbd); =20 if (vs->mouse_mode_notifier.notify !=3D NULL) { @@ -2097,6 +2103,7 @@ static void send_ext_key_event_ack(VncState *vs) vnc_flush(vs); } =20 +#ifdef CONFIG_AUDIO static void send_ext_audio_ack(VncState *vs) { vnc_lock_output(vs); @@ -2110,6 +2117,7 @@ static void send_ext_audio_ack(VncState *vs) vnc_unlock_output(vs); vnc_flush(vs); } +#endif =20 static void send_xvp_message(VncState *vs, int code) { @@ -2197,10 +2205,15 @@ static void set_encodings(VncState *vs, int32_t *en= codings, size_t n_encodings) send_ext_key_event_ack(vs); break; case VNC_ENCODING_AUDIO: +#ifdef CONFIG_AUDIO if (vs->vd->audio_be) { vnc_set_feature(vs, VNC_FEATURE_AUDIO); send_ext_audio_ack(vs); } +#else + VNC_DEBUG("Audio encoding received with audio subsystem " + "disabled\n"); +#endif break; case VNC_ENCODING_WMVi: vnc_set_feature(vs, VNC_FEATURE_WMVI); @@ -2394,7 +2407,9 @@ static int protocol_client_msg(VncState *vs, uint8_t = *data, size_t len) { int i; uint16_t limit; +#ifdef CONFIG_AUDIO uint32_t freq; +#endif VncDisplay *vd =3D vs->vd; =20 if (data[0] > 3) { @@ -2572,6 +2587,7 @@ static int protocol_client_msg(VncState *vs, uint8_t = *data, size_t len) break; } =20 +#ifdef CONFIG_AUDIO if (len =3D=3D 2) return 4; =20 @@ -2626,6 +2642,9 @@ static int protocol_client_msg(VncState *vs, uint8_t = *data, size_t len) break; } break; +#else + abort(); +#endif =20 default: VNC_DEBUG("Msg: %d\n", read_u16(data, 0)); @@ -3369,10 +3388,12 @@ static void vnc_connect(VncDisplay *vd, QIOChannelS= ocket *sioc, vs->last_x =3D -1; vs->last_y =3D -1; =20 +#ifdef CONFIG_AUDIO vs->as.freq =3D 44100; vs->as.nchannels =3D 2; vs->as.fmt =3D AUDIO_FORMAT_S16; vs->as.big_endian =3D false; +#endif =20 qemu_mutex_init(&vs->output_mutex); vs->bh =3D qemu_bh_new(vnc_jobs_bh, vs); @@ -3649,9 +3670,11 @@ static QemuOptsList qemu_vnc_opts =3D { },{ .name =3D "non-adaptive", .type =3D QEMU_OPT_BOOL, +#ifdef CONFIG_AUDIO },{ .name =3D "audiodev", .type =3D QEMU_OPT_STRING, +#endif },{ .name =3D "power-control", .type =3D QEMU_OPT_BOOL, @@ -4084,7 +4107,9 @@ void vnc_display_open(const char *id, Error **errp) const char *saslauthz; int lock_key_sync =3D 1; int key_delay_ms; +#ifdef CONFIG_AUDIO const char *audiodev; +#endif const char *passwordSecret; =20 if (!vd) { @@ -4242,6 +4267,7 @@ void vnc_display_open(const char *id, Error **errp) } vd->ledstate =3D 0; =20 +#ifdef CONFIG_AUDIO audiodev =3D qemu_opt_get(opts, "audiodev"); if (audiodev) { vd->audio_be =3D audio_be_by_name(audiodev, errp); @@ -4251,6 +4277,7 @@ void vnc_display_open(const char *id, Error **errp) } else { vd->audio_be =3D audio_get_default_audio_be(NULL); } +#endif =20 device_id =3D qemu_opt_get(opts, "display"); if (device_id) { --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773605977; cv=none; d=zohomail.com; s=zohoarc; b=iVkpkr1kEvFoNJdbct3k8FHJTVlsRZOId77d7Oy1kM6G4p8zUAh34NIedVcAc6CaSk8ZIoBTqrfEruOhcmxglqbuDes9WpUJeyI2Ah1TtrbxZsKaNYrhuJjFA6rMnhyC5VqR92XEeaa+XT/YQVeboTleim1T1FUoEuMzvf6lfmQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773605977; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jOMI1rm/2uKnoQVaHUeJqXthwEPeLhlp323Z0MBmgKU=; b=bqPfFJucahOjWKDP43OTo73vlUfzee0db6U/HH+wVgLAv/W2RYnvwGzhzo50mbpEGn/e1MYdGh8u7kCk+NXu7PlIjQ0ydpRHCZmdG1ssmQMsoxARVXkmjGjBVHENIBMxNnP9Ie27RXrbR7JMnDGtD3vVhZgh7DAl/43gQEmX4QU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773605977793148.13051016150985; Sun, 15 Mar 2026 13:19:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruO-0006Os-8E; Sun, 15 Mar 2026 16:17:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rty-0006Kb-34 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:31 -0400 Received: from forwardcorp1d.mail.yandex.net ([178.154.239.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rtT-0002LU-A6 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:03 -0400 Received: from mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net [IPv6:2a02:6b8:c42:94a9:0:640:a3fa:0]) by forwardcorp1d.mail.yandex.net (Yandex) with ESMTPS id 5E044807B2; Sun, 15 Mar 2026 23:16:56 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id sGRqAD1Aa0U0-HNLIZB86; Sun, 15 Mar 2026 23:16:55 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605815; bh=jOMI1rm/2uKnoQVaHUeJqXthwEPeLhlp323Z0MBmgKU=; h=Cc:Message-Id:References:Date:In-Reply-To:Subject:To:From; b=uk5xkvYqVQBdPH2B8IT+LFpJ/O0cm0J+CfJ77mJimQ2hXonrPopoL++NTiJ37N7m7 JisLaq4jAQnEscP8zXRG/Bi0lsDw96cKOraCb5MefvLYtGF9u8mBk5zU7UPaielaVI TWCn6Y3z6C08NE70/aL5MoWnt6/lg7Q7PjZG1ex8= Authentication-Results: mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 03/11] tests/qtest: remove -audio none when configured with --disable-audio Date: Mon, 16 Mar 2026 01:16:38 +0500 Message-Id: <20260315201646.96862-4-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.200; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1d.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773605979786154100 It does not matter much whether `-audio none` is passed. In the future, support for `-audio none` with `--disable-audio` will be dropped, so we should remove it beforehand. (We could preserve `-audio none` with `--disable-audio` for compatibility reasons, but we choose not to because they have different meanings: `--disable-audio` will eventually mean having no audio backend at all, while `-audio none` means using the `none` audio backend.) Signed-off-by: Sergei Heifetz Reviewed-by: Thomas Huth Reviewed-by: Marc-Andr=C3=A9 Lureau --- tests/qtest/libqtest.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c index 051faf31e14..a59fdaf3973 100644 --- a/tests/qtest/libqtest.c +++ b/tests/qtest/libqtest.c @@ -464,7 +464,9 @@ gchar *qtest_qemu_args(const char *extra_args) "-chardev socket,path=3D%s,id=3Dchar0 " "-mon chardev=3Dchar0,mode=3Dcontrol " "-display none " +#ifdef CONFIG_AUDIO "-audio none " +#endif "%s" "%s" " -accel qtest", --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773605905; cv=none; d=zohomail.com; s=zohoarc; b=cswJ7lD14cFKGVFY6s92dOIaUFzmqxiVBAU6+ytDv+hLu+Iak767dyjBmZEBzELTkOTMmOzy82WV8JnffadzRm2pNekVIt00OJ8qiBRBtHJJZNJhwd3Lo9A2wUPdVYeiNRJ+ya0bLfmk3nAQM9de7t1HXM0k2WdsG7QuJlCTt9Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773605905; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xju9CfSPT1DfYBW2oFrwhc0C2Ax+iiriDHMYm76fAYo=; b=QVz6JKKcmwRKOc7bjXyYHRoCjPQRLqyRqoRgaHdRGVDd/Q5R2ETaLFIVsCLqRatlGO1t8D4XYTMX+RIFn+Eqes2CdVfXkWJWW13ayCoeaHcVabFVOZ+i/oazCEYRAOQAYbAyTgbvf5KRLdbd9N1nRzY59JCKTees0K5bynrmfLk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773605905193838.7984317471224; Sun, 15 Mar 2026 13:18:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruF-0006N8-14; Sun, 15 Mar 2026 16:17:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rtz-0006Kj-M0 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:31 -0400 Received: from forwardcorp1a.mail.yandex.net ([178.154.239.72]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rtT-0002LX-Jt for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:29 -0400 Received: from mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net [IPv6:2a02:6b8:c2d:3530:0:640:eca4:0]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 173CAC015D; Sun, 15 Mar 2026 23:16:58 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id uGRM4I1ATSw0-x7KRZieK; Sun, 15 Mar 2026 23:16:57 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605817; bh=xju9CfSPT1DfYBW2oFrwhc0C2Ax+iiriDHMYm76fAYo=; h=Cc:Message-Id:References:Date:In-Reply-To:Subject:To:From; b=fXMM/MQjWlcqP17HrrmPTqqPMvhyyZs9gQigs6Elz8sT7Z9ZyTQUFPDeEzaQ5tOT/ KP5t5EYGYfNT0AJeodvkAj6XCYiChEvIOA2PWryuHUy43U6MEu1e98UdcJPR9Nhwn/ LWIh7UNclqLU025maLwyc/LSdqyi/XQggZqRRrks= Authentication-Results: mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 04/11] hw/audio/pcspk: change PCSPK behaviour with --disable-audio Date: Mon, 16 Mar 2026 01:16:39 +0500 Message-Id: <20260315201646.96862-5-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.72; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1a.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773605910516154100 PCSPK (PC Speaker) is an embedded audio device. We don't want it to use aud= io when QEMU is configured with `--disable-audio`. This is achieved with minim= al, non-invasive changes to the code. In essence, the changes ensure that PCSPK does not have a corresponding audio backend, while functioning the same way in non-audio aspects. Signed-off-by: Sergei Heifetz Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/audio/pcspk.c | 12 +++++++++++- hw/i386/pc.c | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c index 6b826507ce3..54e18822651 100644 --- a/hw/audio/pcspk.c +++ b/hw/audio/pcspk.c @@ -48,17 +48,20 @@ struct PCSpkState { =20 MemoryRegion ioport; uint32_t iobase; + PITCommonState *pit; +#ifdef CONFIG_AUDIO uint8_t sample_buf[PCSPK_BUF_LEN]; AudioBackend *audio_be; SWVoiceOut *voice; - PITCommonState *pit; unsigned int pit_count; unsigned int samples; unsigned int play_pos; +#endif uint8_t data_on; uint8_t dummy_refresh_clock; }; =20 +#ifdef CONFIG_AUDIO static const char *s_spk =3D "pcspk"; =20 static inline void generate_samples(PCSpkState *s) @@ -130,6 +133,7 @@ static int pcspk_audio_init(PCSpkState *s) =20 return 0; } +#endif =20 static uint64_t pcspk_io_read(void *opaque, hwaddr addr, unsigned size) @@ -160,11 +164,13 @@ static void pcspk_io_write(void *opaque, hwaddr addr,= uint64_t val, =20 s->data_on =3D (val >> 1) & 1; pit_set_gate(s->pit, 2, gate); +#ifdef CONFIG_AUDIO if (s->voice) { if (gate) /* restart */ s->play_pos =3D 0; audio_be_set_active_out(s->audio_be, s->voice, gate & s->data_on); } +#endif } =20 static const MemoryRegionOps pcspk_io_ops =3D { @@ -195,10 +201,12 @@ static void pcspk_realizefn(DeviceState *dev, Error *= *errp) =20 isa_register_ioport(isadev, &s->ioport, s->iobase); =20 +#ifdef CONFIG_AUDIO if (s->audio_be && audio_be_check(&s->audio_be, errp)) { pcspk_audio_init(s); return; } +#endif } =20 static const VMStateDescription vmstate_spk =3D { @@ -213,7 +221,9 @@ static const VMStateDescription vmstate_spk =3D { }; =20 static const Property pcspk_properties[] =3D { +#ifdef CONFIG_AUDIO DEFINE_AUDIO_PROPERTIES(PCSpkState, audio_be), +#endif DEFINE_PROP_UINT32("iobase", PCSpkState, iobase, 0x61), DEFINE_PROP_LINK("pit", PCSpkState, pit, TYPE_PIT_COMMON, PITCommonSta= te *), }; diff --git a/hw/i386/pc.c b/hw/i386/pc.c index addf602da08..8a4adee78e9 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1599,8 +1599,10 @@ static void pc_machine_initfn(Object *obj) =20 pc_system_flash_create(pcms); pcms->pcspk =3D isa_new(TYPE_PC_SPEAKER); +#ifdef CONFIG_AUDIO object_property_add_alias(OBJECT(pcms), "pcspk-audiodev", OBJECT(pcms->pcspk), "audiodev"); +#endif if (pcmc->pci_enabled) { cxl_machine_init(obj, &pcms->cxl_devices_state); } --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773606036; cv=none; d=zohomail.com; s=zohoarc; b=Quqh4ti6Hx40eTHa7DmCChCsF7wmEC0ZzuolZLomIDLcrT4vSFPXQDk3fQjMpMCiaRhrNx0prJhca2MAhkXiRppc+8KVBj59QusgRDabyh8KYInSayg+fpoo1+DixjrvSZw/6DM4WDnb2TH75qz3JFYaDsT6eYSBeRqyLM33Okc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773606036; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5nEpBPf/MP5gIN6vJYDPRg5uxeJQt+2s1OvZINfU+Yc=; b=jGyXW+JMv6WEcZTPVcBc5NH2MKseLyXekM9XYJHk1my9GqNkYh7k+1cmYKDoRAn1dh11VmZHQz98+Tq165Wfwn6daF0SvL4WkRl3hX6VEWoEwnpXTQH4LLzab7ZGwuM4pcp6RP2fjh64coK7r+boT4o80YM4qJKDDm5HX8C1iSY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773606036865876.2035612222959; Sun, 15 Mar 2026 13:20:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruN-0006OZ-1J; Sun, 15 Mar 2026 16:17:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru8-0006Lq-B9 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:43 -0400 Received: from forwardcorp1d.mail.yandex.net ([178.154.239.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru1-0002Lp-B4 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:36 -0400 Received: from mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:a189:0:640:4da6:0]) by forwardcorp1d.mail.yandex.net (Yandex) with ESMTPS id 4B6FA8079D; Sun, 15 Mar 2026 23:17:01 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id wGRvdA1ABOs0-gpYltWPR; Sun, 15 Mar 2026 23:17:00 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605820; bh=5nEpBPf/MP5gIN6vJYDPRg5uxeJQt+2s1OvZINfU+Yc=; h=Cc:Message-Id:References:Date:In-Reply-To:Subject:To:From; b=niOuSb8E8LIfHls6EP0TJ/wKiPZvgJGS5SPDnrhiIThSF7ltzU5gfzRNaAqytxAwC H1WBQ/V9FW/pYZfKRfrXF7XJxqTCMalSz89UZXbNvarSDmS6lgoV+5h6J/iy7nCr3c TU7LhiJiT2Tcqa/4PzzAtgfZaW1fty5eocbcutrI= Authentication-Results: mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 05/11] Kconfig: add AUDIO dependency to audio-related devices Date: Mon, 16 Mar 2026 01:16:40 +0500 Message-Id: <20260315201646.96862-6-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.200; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1d.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773606039291154100 The idea of the `--disable-audio` option is to stop building audio-related source files. Although this is not yet implemented, we can already make the existing AUDIO Kconfig option a dependency for a number of devices so that the build does not break when we remove `audio/` and other sources. Note that some machines have embedded audio devices and therefore cannot be used with `--disable-audio` at all. `-audio none` should be used for such machines if audio needs to be muted. The only device that is purposefully not included in this patch is PCSPK (PC speaker), because its code has already been modified to work with `--disable-audio`. Signed-off-by: Sergei Heifetz Reviewed-by: Thomas Huth Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/audio/Kconfig | 21 ++++++++++++--------- hw/usb/Kconfig | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig index daf060e1be0..0479818e3f5 100644 --- a/hw/audio/Kconfig +++ b/hw/audio/Kconfig @@ -1,37 +1,37 @@ config SB16 bool default y - depends on ISA_BUS + depends on ISA_BUS && AUDIO =20 config ES1370 bool default y if PCI_DEVICES - depends on PCI + depends on PCI && AUDIO =20 config AC97 bool default y if PCI_DEVICES - depends on PCI + depends on PCI && AUDIO =20 config ADLIB bool default y - depends on ISA_BUS + depends on ISA_BUS && AUDIO =20 config GUS bool default y - depends on ISA_BUS + depends on ISA_BUS && AUDIO =20 config CS4231A bool default y - depends on ISA_BUS + depends on ISA_BUS && AUDIO =20 config HDA bool default y if PCI_DEVICES - depends on PCI + depends on PCI && AUDIO =20 config PCSPK bool @@ -40,18 +40,21 @@ config PCSPK =20 config WM8750 bool - depends on I2C + depends on I2C && AUDIO =20 config PL041 bool + depends on AUDIO =20 config CS4231 bool + depends on AUDIO =20 config ASC bool + depends on AUDIO =20 config VIRTIO_SND bool default y - depends on VIRTIO + depends on VIRTIO && AUDIO diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig index de95686720c..e3705858926 100644 --- a/hw/usb/Kconfig +++ b/hw/usb/Kconfig @@ -98,7 +98,7 @@ config USB_STORAGE_UAS config USB_AUDIO bool default y - depends on USB + depends on USB && AUDIO =20 config USB_SERIAL bool --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773605927; cv=none; d=zohomail.com; s=zohoarc; b=MY0TKPM5VdaqGbvI3UzBuhL0uHbKKiYgi83stRu0JTa29D/UVaKq5+kcOXcv/2wZN4o3/fHkhGOE3BvVBnNMfsXEVcMzhFbgSIwJwDKSrhYAo0Axe9wsVIV6qek1xS8t3Vnv0FRCZWD2JqKRv9dT/+LXrmPnrWL9glToMfAu2ec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773605927; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4YCWQjbfmJKd6yE++OeJuRhbUasuGUDO08QqlSsZ4Ik=; b=a0Um007dOblt5Gb3v2TOazg0dLpvpFrYcZ6NLkWS/rYatUxYbbyWExgUV6WSYg+oIE68HnOU8wpyOJ6TioVA1Lxwa8f8nq/9v9iTpkIy0gmwETigJIyucuZOOzYcIApVigpm9KM+tbD+HmrXQxGwL9W1UW61XAjknIrL01/a4hY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773605927142521.1145360774364; Sun, 15 Mar 2026 13:18:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruO-0006Ov-BB; Sun, 15 Mar 2026 16:17:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ruG-0006NY-1O for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:50 -0400 Received: from forwardcorp1d.mail.yandex.net ([178.154.239.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ruA-0002Ly-D9 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:45 -0400 Received: from mail-nwsmtp-smtp-corp-main-56.klg.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-56.klg.yp-c.yandex.net [IPv6:2a02:6b8:c42:65a0:0:640:e1de:0]) by forwardcorp1d.mail.yandex.net (Yandex) with ESMTPS id 60593804C0; Sun, 15 Mar 2026 23:17:02 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-56.klg.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id 1HRCj41ApeA0-iDor3Fr2; Sun, 15 Mar 2026 23:17:01 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605821; bh=4YCWQjbfmJKd6yE++OeJuRhbUasuGUDO08QqlSsZ4Ik=; h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From; b=ZYnBpQGI/pPC5MkD65LbzonXcGdIze+iSYfTvGIwcvdfvAO23clTOpnF/84Yd7uTI CeQEy7+/5EA6gZO7Qt/f4BBPcVKU/HK+rIMN9QT32WbCbW3d01k84EjPE88kUFmtXM GLt4aDPvjGGAsTdCcPfqJGgKOfYw8pCzpJnmwJxg= Authentication-Results: mail-nwsmtp-smtp-corp-main-56.klg.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 06/11] system/vl: remove audio and audiodev options when audio is disabled Date: Mon, 16 Mar 2026 01:16:41 +0500 Message-Id: <20260315201646.96862-7-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.200; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1d.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773605930313158500 Content-Type: text/plain; charset="utf-8" Remove the audio and audiodev runtime options when QEMU is configured with `--disable-audio`. Signed-off-by: Sergei Heifetz --- qemu-options.hx | 2 ++ system/vl.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/qemu-options.hx b/qemu-options.hx index 04ea2239296..29dc865820a 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -788,6 +788,7 @@ SRST ERST =20 =20 +#ifdef CONFIG_AUDIO DEF("audio", HAS_ARG, QEMU_OPTION_audio, "-audio [driver=3D]driver[,prop=3Dvalue[,...]]\n" " specifies default audio backend when `audiodev` is no= t\n" @@ -1109,6 +1110,7 @@ SRST Write recorded audio into the specified file. Default is ``qemu.wav``. ERST +#endif =20 DEF("device", HAS_ARG, QEMU_OPTION_device, "-device driver[,prop=3Dvalue[,...]]\n" diff --git a/system/vl.c b/system/vl.c index 38d7b849e0a..9ed0285c47a 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2250,7 +2250,9 @@ static int global_init_func(void *opaque, QemuOpts *o= pts, Error **errp) static bool is_qemuopts_group(const char *group) { if (g_str_equal(group, "object") || +#ifdef CONFIG_AUDIO g_str_equal(group, "audiodev") || +#endif g_str_equal(group, "machine") || g_str_equal(group, "smp-opts") || g_str_equal(group, "boot-opts")) { @@ -2267,6 +2269,7 @@ static void qemu_record_config_group(const char *grou= p, QDict *dict, object_option_add_visitor(v); visit_free(v); =20 +#ifdef CONFIG_AUDIO } else if (g_str_equal(group, "audiodev")) { Audiodev *dev =3D NULL; Visitor *v =3D qobject_input_visitor_new_keyval(QOBJECT(dict)); @@ -2274,6 +2277,7 @@ static void qemu_record_config_group(const char *grou= p, QDict *dict, audio_add_audiodev(dev); } visit_free(v); +#endif =20 } else if (g_str_equal(group, "machine")) { /* @@ -3059,6 +3063,7 @@ void qemu_init(int argc, char **argv) } break; #endif +#ifdef CONFIG_AUDIO case QEMU_OPTION_audiodev: default_audio =3D 0; audio_parse_option(optarg); @@ -3099,6 +3104,7 @@ void qemu_init(int argc, char **argv) } break; } +#endif case QEMU_OPTION_h: help(0); break; --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773606030; cv=none; d=zohomail.com; s=zohoarc; b=kg4lRUi5pG3DCkZuvjgqhdWhuMvOBYOfzluU7OUQbTbznnbWSHefWS3wBGy5F0noORhdMNEeez9fRIjgfkiV/mmFNbAmcy1yWL6GEDlqT9XhGo1JygAg5MgftGZk7bAmM1h5ZlagEa16UyvQdVMFmEvV0URTUEvMnG062VtOvUE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773606030; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=aeH+/uECi/aL57+2Bx/cCwTgTppVnXy/AcoFFTVljyA=; b=i3ADXSQYG5xZ5Mr8q5sWARdKDVnc72us2qoZ3RuMe9XMWigOunt2vlGlz+/2myEYmGT+CRlc1IZiuZYJqxOhlJigSxd1L0GclZqh7xrohWtjjEEV45yY4EkyQ5fciZ4Ba1ggOaZLG2af8Z5hEHVBVaJCGgGSO8FmmaKirUraIdQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773606029698975.4593992434046; Sun, 15 Mar 2026 13:20:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruN-0006Oh-JQ; Sun, 15 Mar 2026 16:17:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru8-0006Lr-BJ for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:41 -0400 Received: from forwardcorp1b.mail.yandex.net ([178.154.239.136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru1-0002M9-Bk for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:37 -0400 Received: from mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net [IPv6:2a02:6b8:c24:fa2:0:640:41ee:0]) by forwardcorp1b.mail.yandex.net (Yandex) with ESMTPS id C286F80637; Sun, 15 Mar 2026 23:17:05 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id 2HRSIO1AAGk0-IkLxsxvz; Sun, 15 Mar 2026 23:17:05 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605825; bh=aeH+/uECi/aL57+2Bx/cCwTgTppVnXy/AcoFFTVljyA=; h=Cc:Message-Id:References:Date:In-Reply-To:Subject:To:From; b=FUB0MARdzqqvW3hsh+WrXEy0YRLlyZ8tW/KCX9eXJDuWqvylhAIQWatZojn55FEhs nrU1wNwsB6Jlwd/iMR9jGM2JeCOWNE7+LBk9pzz30ujx1aVvMofGWO8DDT8wEpOn9+ ccF5qXX2GRB0sKnJ+L4zQYP0C8HTDHueeDpzgudA= Authentication-Results: mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 07/11] ui/dbus: run without Audio interface when audio is disabled Date: Mon, 16 Mar 2026 01:16:42 +0500 Message-Id: <20260315201646.96862-8-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.136; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1b.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773606032203154100 D-Bus display can be used even when QEMU is configured with `--disable-audio`. In that case, audio interface will not be available on `/org/qemu/Display1/Audio`. (The current handling of the situation when audio is enabled but no D-Bus-compatible audio backend is available is different and hasn=E2=80=99t been changed.) Signed-off-by: Sergei Heifetz --- qapi/ui.json | 2 +- qemu-options.hx | 4 ++++ ui/dbus.c | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/qapi/ui.json b/qapi/ui.json index e3da77632a8..62eb05c6091 100644 --- a/qapi/ui.json +++ b/qapi/ui.json @@ -1385,7 +1385,7 @@ 'data' : { '*rendernode' : 'str', '*addr': 'str', '*p2p': 'bool', - '*audiodev': 'str' } } + '*audiodev': { 'type': 'str', 'if': 'CONFIG_AUDIO' } } } =20 ## # @DisplayGLMode: diff --git a/qemu-options.hx b/qemu-options.hx index 29dc865820a..20d15c0004f 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -2232,6 +2232,10 @@ SRST If no audio backend is specified and the dbus display backend is specified, the dbus audio backend is used by default. =20 + (If audio is disabled at compile time via the ``--disable-audio`` = option, + no audio backend is used, and none of the audio-related D-Bus inte= rfaces + are exported.) + The connection is registered with the "org.qemu" name (and queued = when already owned). =20 diff --git a/ui/dbus.c b/ui/dbus.c index 4f24215555a..99dac3e7feb 100644 --- a/ui/dbus.c +++ b/ui/dbus.c @@ -217,6 +217,7 @@ dbus_display_complete(UserCreatable *uc, Error **errp) return; } =20 +#ifdef CONFIG_AUDIO { AudioBackend *audio_be =3D audio_get_default_audio_be(NULL); if (audio_be && !audio_be_can_set_dbus_server(audio_be)) { @@ -232,6 +233,7 @@ dbus_display_complete(UserCreatable *uc, Error **errp) return; } } +#endif =20 consoles =3D g_array_new(FALSE, FALSE, sizeof(guint32)); for (idx =3D 0;; idx++) { @@ -370,6 +372,7 @@ set_dbus_addr(Object *o, const char *str, Error **errp) dd->dbus_addr =3D g_strdup(str); } =20 +#ifdef CONFIG_AUDIO static char * get_audiodev(Object *o, Error **errp) { @@ -386,6 +389,7 @@ set_audiodev(Object *o, const char *str, Error **errp) g_free(dd->audiodev); dd->audiodev =3D g_strdup(str); } +#endif =20 =20 static int @@ -412,7 +416,9 @@ dbus_display_class_init(ObjectClass *oc, const void *da= ta) ucc->complete =3D dbus_display_complete; object_class_property_add_bool(oc, "p2p", get_dbus_p2p, set_dbus_p2p); object_class_property_add_str(oc, "addr", get_dbus_addr, set_dbus_addr= ); +#ifdef CONFIG_AUDIO object_class_property_add_str(oc, "audiodev", get_audiodev, set_audiod= ev); +#endif object_class_property_add_enum(oc, "gl-mode", "DisplayGLMode", &DisplayGLMode_lookup, get_gl_mode, set_gl_mode); @@ -502,7 +508,9 @@ dbus_init(DisplayState *ds, DisplayOptions *opts) object_get_objects_root(), "dbus-display", &error_fatal, "addr", opts->u.dbus.addr ?: "", +#ifdef CONFIG_AUDIO "audiodev", opts->u.dbus.audiodev ?: "", +#endif "gl-mode", DisplayGLMode_str(mode), "p2p", yes_no(opts->u.dbus.p2p), NULL); --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773606014; cv=none; d=zohomail.com; s=zohoarc; b=BjlmWmaF+kZNLSPL5h7EvaIMBxW1MrSWNqIRNnoZI01HXAchvt5cYXSmU/d4JfWTHojhrTOfZLSmkzMVrE1GkQqJjHAPffzMFDZQlH/fqoHiPiceRr9g8Ld8yBqCyhY6DeXR8Ldhm6EO8GaOtEhy9FRD7P66+PQgr1ZDkiPrWWY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773606014; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=G10JazQfAlNtIlaRgYLBNO+ir2bkh6baa6jl8L1Gd9U=; b=GgZ344MAEcb7o7XaJ+eziGStc3ejmGJbKkmNTB20jaC9Ta26rsSWTV1It0DEUPsSEaNdL/8OpXryyQJQIwCQheYHzv/nYxwR9WtWYhCPBWAUF1QaVGoeQh/pvWB5hE2lMJIl+qedh0UoQsaDkGI1jioNNGmjLb3yo65UYU1FF9g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773606013873391.8150319663888; Sun, 15 Mar 2026 13:20:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruN-0006Oi-NM; Sun, 15 Mar 2026 16:17:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ruD-0006NL-OE for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:46 -0400 Received: from forwardcorp1b.mail.yandex.net ([2a02:6b8:c02:900:1:45:d181:df01]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru9-0002MC-9N for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:44 -0400 Received: from mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net [IPv6:2a02:6b8:c24:fa2:0:640:41ee:0]) by forwardcorp1b.mail.yandex.net (Yandex) with ESMTPS id CF95A80758; Sun, 15 Mar 2026 23:17:06 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id 5HRXIO1ABW20-BnonUcwD; Sun, 15 Mar 2026 23:17:06 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605826; bh=G10JazQfAlNtIlaRgYLBNO+ir2bkh6baa6jl8L1Gd9U=; h=Cc:Message-Id:References:Date:In-Reply-To:Subject:To:From; b=GLHSv/M4PJXCTwF9QtJQm7EaMig6kjJwOQmiOA9mfDDfq6i+DU+xmiseF941YPJ3z PDm/a672g42vgXCE6plvfoXCn1PXt7ouhf2rBragPPjVaGiCAysyar5uAzFU4mlihT yM4mQph82wiMzKZgnt7uvByezjCg9EVdG+zGB+rY= Authentication-Results: mail-nwsmtp-smtp-corp-main-34.sas.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 08/11] tests/audio: do not compile if audio is disabled Date: Mon, 16 Mar 2026 01:16:43 +0500 Message-Id: <20260315201646.96862-9-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a02:6b8:c02:900:1:45:d181:df01; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1b.mail.yandex.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773606018855158500 If QEMU is configured with --disable-audio, do not compile the audio tests. Signed-off-by: Sergei Heifetz Reviewed-by: Marc-Andr=C3=A9 Lureau --- tests/audio/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/audio/meson.build b/tests/audio/meson.build index 84754bde221..97c1d623bbd 100644 --- a/tests/audio/meson.build +++ b/tests/audio/meson.build @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-or-later =20 -if not have_system +if not have_audio subdir_done() endif =20 --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773605977; cv=none; d=zohomail.com; s=zohoarc; b=ToPpSQELdJqdfUoMLkUNqihbKuKvIZLDRuAzDo5TAAcHo1q+nFLEu5qvG2zAQKXVh+V9oOPzZh+fRK2U+ITKCbMWVqIFb3Gq+XP11SD9L4t7pHoUSblB3BNSPWq6QMucqVYaTcYAR9A4qcU7NFcYNS1dBWS5fdHwpgix3tEXlHQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773605977; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OtOi++Rdlpxpjg6Ayel0tUplois5GcilUO3H0jXdAjs=; b=iG65oK870wmvAuhfhpKHCKEWYcTfV3MsIJJQJ710v7uP+lmBNsBPc744Rl+5jw4+UDWGdr9uJ17WTRYg0+O0nY/rKTEYJeM71cb01hnfSNCpwJa/oYptOHc1q1hIUCfB2QTsu9CdKSFU1s9kZNgD6rgQwfy+3Je8RD6S8puc3mo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773605977600732.6606059573372; Sun, 15 Mar 2026 13:19:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruL-0006ON-84; Sun, 15 Mar 2026 16:17:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru8-0006Lp-Ab for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:43 -0400 Received: from forwardcorp1a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:df01]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru1-0002MI-Fo for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:37 -0400 Received: from mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net [IPv6:2a02:6b8:c2d:3530:0:640:eca4:0]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 19263C015E; Sun, 15 Mar 2026 23:17:08 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id 6HRU4I1AiW20-yuy6ChCo; Sun, 15 Mar 2026 23:17:07 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605827; bh=OtOi++Rdlpxpjg6Ayel0tUplois5GcilUO3H0jXdAjs=; h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From; b=huuZ+LQvIvRoJf0WZ3+3oXHA/ft6/TgW7eqVgOi2Zme9TwY+dkejGUMwpgGsaQ59H Bjf/ZRlGRqH3O/pJfmpr6UP4CFHX8Z1QX6noHw3WpDApmgRY8BDxitViK7cRFfHfu0 2Y6mZCgOGj4K3dpwxYFIn9wWkKs2WKoyGWKYXwbs= Authentication-Results: mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 09/11] audio: do not build audio-related sources with --disable-audio Date: Mon, 16 Mar 2026 01:16:44 +0500 Message-Id: <20260315201646.96862-10-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a02:6b8:c0e:500:1:45:d181:df01; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1a.mail.yandex.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773605979139158500 Content-Type: text/plain; charset="utf-8" When QEMU is configured with `--disable-audio`, do not build any audio-related sources. - audio/meson.build and replay/meson.build: Exclude audio-related sources when audio is disabled. - replay/replay-audio-stub.c: Move the existing stubs from replay/stubs-system.c into a separate file. - qapi/audio.json: Remove the QMP `query-audiodevs` command. - hmp-commands*.hx: Remove the HMP `info capture`, `stopcapture` and `wavcapture` commands. - Other source files: Wrap audio-related code in ifdefs. Signed-off-by: Sergei Heifetz --- audio/meson.build | 4 ++++ hmp-commands-info.hx | 2 ++ hmp-commands.hx | 2 ++ hw/core/machine.c | 6 ++++++ hw/core/qdev-properties-system.c | 2 ++ qapi/audio.json | 3 ++- replay/meson.build | 9 ++++++++- replay/replay-audio-stub.c | 21 +++++++++++++++++++++ replay/stubs-system.c | 12 ------------ system/runstate.c | 2 ++ system/vl.c | 2 ++ 11 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 replay/replay-audio-stub.c diff --git a/audio/meson.build b/audio/meson.build index 0e33b6f9836..4cd855d2b9a 100644 --- a/audio/meson.build +++ b/audio/meson.build @@ -1,4 +1,8 @@ audio_ss =3D ss.source_set() +if not have_audio + subdir_done() +endif + audio_ss.add(files( 'audio.c', 'audio-be.c', diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index 74c741f80e2..a959479024a 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -364,6 +364,7 @@ SRST ERST =20 /* BEGIN deprecated */ +#ifdef CONFIG_AUDIO { .name =3D "capture", .args_type =3D "", @@ -376,6 +377,7 @@ SRST ``info capture`` Show capture information (deprecated). ERST +#endif /* END deprecated */ =20 { diff --git a/hmp-commands.hx b/hmp-commands.hx index 5cc4788f12d..e8b8175bb94 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -765,6 +765,7 @@ SRST ERST =20 /* BEGIN deprecated */ +#ifdef CONFIG_AUDIO { .name =3D "wavcapture", .args_type =3D "path:F,audiodev:s,freq:i?,bits:i?,nchannels:i?", @@ -802,6 +803,7 @@ SRST =20 Deprecated. ERST +#endif /* END deprecated */ =20 { diff --git a/hw/core/machine.c b/hw/core/machine.c index a14ad05b9a6..920a74b3aef 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -678,6 +678,7 @@ bool device_type_is_dynamic_sysbus(MachineClass *mc, co= nst char *type) return allowed; } =20 +#ifdef CONFIG_AUDIO static char *machine_get_audiodev(Object *obj, Error **errp) { MachineState *ms =3D MACHINE(obj); @@ -697,6 +698,7 @@ static void machine_set_audiodev(Object *obj, const cha= r *value, g_free(ms->audiodev); ms->audiodev =3D g_strdup(value); } +#endif =20 HotpluggableCPUList *machine_query_hotpluggable_cpus(MachineState *machine) { @@ -990,6 +992,7 @@ out_free: qapi_free_BootConfiguration(config); } =20 +#ifdef CONFIG_AUDIO void machine_add_audiodev_property(MachineClass *mc) { ObjectClass *oc =3D OBJECT_CLASS(mc); @@ -1000,6 +1003,7 @@ void machine_add_audiodev_property(MachineClass *mc) object_class_property_set_description(oc, "audiodev", "Audiodev to use for default mac= hine devices"); } +#endif =20 static bool create_default_memdev(MachineState *ms, const char *path, Error **errp) @@ -1286,7 +1290,9 @@ static void machine_finalize(Object *obj) g_free(ms->device_memory); g_free(ms->nvdimms_state); g_free(ms->numa_state); +#ifdef CONFIG_AUDIO g_free(ms->audiodev); +#endif } =20 bool machine_usb(MachineState *machine) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index a402321f42c..8679a71b538 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -483,6 +483,7 @@ const PropertyInfo qdev_prop_netdev =3D { }; =20 =20 +#ifdef CONFIG_AUDIO /* --- audiodev --- */ static void get_audiodev(Object *obj, Visitor *v, const char* name, void *opaque, Error **errp) @@ -519,6 +520,7 @@ const PropertyInfo qdev_prop_audiodev =3D { .get =3D get_audiodev, .set =3D set_audiodev, }; +#endif =20 bool qdev_prop_set_drive_err(DeviceState *dev, const char *name, BlockBackend *value, Error **errp) diff --git a/qapi/audio.json b/qapi/audio.json index 2df87b97101..28fda7c8ac3 100644 --- a/qapi/audio.json +++ b/qapi/audio.json @@ -540,4 +540,5 @@ # Since: 8.0 ## { 'command': 'query-audiodevs', - 'returns': ['Audiodev'] } + 'returns': ['Audiodev'], + 'if': 'CONFIG_AUDIO' } diff --git a/replay/meson.build b/replay/meson.build index 4b4175e8dd4..dc2e94e8975 100644 --- a/replay/meson.build +++ b/replay/meson.build @@ -7,7 +7,14 @@ system_ss.add(when: 'CONFIG_TCG', if_true: files( 'replay-char.c', 'replay-snapshot.c', 'replay-net.c', - 'replay-audio.c', 'replay-random.c', 'replay-debugging.c', ), if_false: files('stubs-system.c')) + +if have_audio + system_ss.add(when: 'CONFIG_TCG', + if_true: files('replay-audio.c'), + if_false: files('replay-audio-stub.c')) +else + system_ss.add(files('replay-audio-stub.c')) +endif diff --git a/replay/replay-audio-stub.c b/replay/replay-audio-stub.c new file mode 100644 index 00000000000..b3da8e15583 --- /dev/null +++ b/replay/replay-audio-stub.c @@ -0,0 +1,21 @@ +/* + * Stub for replay-audio.c + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "system/replay.h" + +void replay_audio_in_start(size_t *nsamples) +{ +} +void replay_audio_in_sample_lr(uint64_t *left, uint64_t *right) +{ +} +void replay_audio_in_finish(void) +{ +} +void replay_audio_out(size_t *played) +{ +} diff --git a/replay/stubs-system.c b/replay/stubs-system.c index b2c52bc4043..454415ae8e4 100644 --- a/replay/stubs-system.c +++ b/replay/stubs-system.c @@ -15,18 +15,6 @@ void replay_input_sync_event(void) void replay_add_blocker(const char *feature) { } -void replay_audio_in_start(size_t *nsamples) -{ -} -void replay_audio_in_sample_lr(uint64_t *left, uint64_t *right) -{ -} -void replay_audio_in_finish(void) -{ -} -void replay_audio_out(size_t *played) -{ -} void replay_breakpoint(void) { } diff --git a/system/runstate.c b/system/runstate.c index eca722b43c6..7fb104f6515 100644 --- a/system/runstate.c +++ b/system/runstate.c @@ -1035,7 +1035,9 @@ void qemu_cleanup(int status) /* vhost-user must be cleaned up before chardevs. */ tpm_cleanup(); net_cleanup(); +#ifdef CONFIG_AUDIO audio_cleanup(); +#endif monitor_cleanup(); qemu_chr_cleanup(); user_creatable_cleanup(); diff --git a/system/vl.c b/system/vl.c index 9ed0285c47a..bd2b6439f00 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2069,10 +2069,12 @@ static void qemu_create_early_backends(void) * setting machine properties, so they can be referred to. */ configure_blockdev(&bdo_queue, machine_class, snapshot); +#ifdef CONFIG_AUDIO audio_init_audiodevs(); if (default_audio) { audio_create_default_audiodevs(); } +#endif } =20 =20 --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773606013; cv=none; d=zohomail.com; s=zohoarc; b=ajCQ3CWRqJMSELrrqL5SPJgCTSwb62sRBg6F+4HP36DH3I8ravS+v6nWQxbpGCVwB5tpEqEjf1fH54fWLqXcJw2haxHVnOGSwUbU7o3Hq4A1UnIqIDmkNT5MUoqdFY7DKi6DlVUMQdYlF5Car0n+YLH+ACsyXKuVtjVOsen2Tbw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773606013; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Jy0uBkeahw43PEKqpKnS9/DGjpumHI0dPSjo6ncc1vk=; b=FazgQHnBEDkKQFr16HC3sAX1MCftxfLW0nUOnFgyDvpV0JOYy75SG+Idxaw8zHtdU3BOd4C0Ai0zYXPEoF9nU8js9JYasFR4XVdtUYgof6aa+615HsIikrtruabz7fArem77LdqXVV1HnzkPp1DiPU7IRdehp6mCqiwHKNY/Gz8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773606013928131.36670891652784; Sun, 15 Mar 2026 13:20:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruM-0006OT-9B; Sun, 15 Mar 2026 16:17:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru1-0006LD-Hr for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:34 -0400 Received: from forwardcorp1d.mail.yandex.net ([178.154.239.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1rtw-0002MR-81 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:30 -0400 Received: from mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net [IPv6:2a02:6b8:c42:94a9:0:640:a3fa:0]) by forwardcorp1d.mail.yandex.net (Yandex) with ESMTPS id 22612807D7; Sun, 15 Mar 2026 23:17:09 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id 8HR1BD1AbeA0-Cj8HoszU; Sun, 15 Mar 2026 23:17:08 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605828; bh=Jy0uBkeahw43PEKqpKnS9/DGjpumHI0dPSjo6ncc1vk=; h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From; b=1tmLvKxYOgJ5uarMXbGjIXDIZNX9g16ryZWcxWa4hC9mAqSt3EQYkejfCG18dR8LY uoMfmhETyWK59x3CtmLONTp0Wd1hlFzXHUdc+xxz8htVCzT6CUkyJkAySUf1r0EMcv RvPBTEwhwC6HTaGtOLzTm78r7jRUSzyfa+BV94s8= Authentication-Results: mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 10/11] qom: remove audiodevs root container if audio is disabled Date: Mon, 16 Mar 2026 01:16:45 +0500 Message-Id: <20260315201646.96862-11-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.200; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1d.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773606014343158500 Content-Type: text/plain; charset="utf-8" When QEMU is configured with `--disable-audio`, we don't need the `audiodevs` root container. Signed-off-by: Sergei Heifetz --- qom/object.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qom/object.c b/qom/object.c index ff8ede8a328..4545c0d7bc3 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1730,7 +1730,9 @@ const char *object_property_get_type(Object *obj, con= st char *name, Error **errp } =20 static const char *const root_containers[] =3D { +#ifdef CONFIG_AUDIO "audiodevs", +#endif "chardevs", "objects", "backend" --=20 2.34.1 From nobody Tue Apr 7 06:34:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.com ARC-Seal: i=1; a=rsa-sha256; t=1773606023; cv=none; d=zohomail.com; s=zohoarc; b=DhIjXcq949FjypWs4BkuE+Xks/7q7S94FvRw0YHK2aG8t/1tiJ/xdotRds9him0Is8kT8ORU4LGi2EXsA4cpyv6XOzjEnQF3Y53XK8aS9RjLWs5+Y2eyn91AIHU243xifbv8N5IzNVgBQoHNLRJ5DxqratsMKyC7T6PGS4HUqV4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773606023; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=o31vVvyYMo9/zoUyzVln6L7BlLpfRJY383WWkJGVbu4=; b=EnEtoer2NqNXCiM7I4IEsSa4dWeoT2kp4ki62nRlTIzqcXmxGUbZSwU/n5R/hfBY9E7ocr9J6WBrk4P0RlbOqERfNSaZSUhAK+uJFgjd/zcdpMjp+VvmxRbm17+g6Zx3kLKS+rVOlJJlyVw1qcoCkewSu+puqJCIsM2p74RHfrU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773606023386212.51396152030281; Sun, 15 Mar 2026 13:20:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w1ruN-0006Oj-N3; Sun, 15 Mar 2026 16:17:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru6-0006Ll-M8 for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:41 -0400 Received: from forwardcorp1a.mail.yandex.net ([178.154.239.72]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w1ru1-0002MY-Ak for qemu-devel@nongnu.org; Sun, 15 Mar 2026 16:17:35 -0400 Received: from mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net [IPv6:2a02:6b8:c1f:3a87:0:640:845c:0]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 4C820C015F; Sun, 15 Mar 2026 23:17:10 +0300 (MSK) Received: from localhost (unknown [2a02:6bf:8080:b49::1:d]) by mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id 9HRQD91AhmI0-RiAdBxZz; Sun, 15 Mar 2026 23:17:09 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1773605829; bh=o31vVvyYMo9/zoUyzVln6L7BlLpfRJY383WWkJGVbu4=; h=Cc:Message-Id:References:Date:In-Reply-To:Subject:To:From; b=EZGX5f725J08sFXn7037fO/4SJdaE/kzNtH4tVHgUJ7CpLJtusFvRpWybk7M4pdFv QSWcfuG6PcDOvpzLoy4ygCxeAR0bgmoOdl8xlqlD6kECjXpZxFhyOfu120ZyMOvVcf 8TWKJfBP+8zh9iiQqwsgwGzA+fm7Rdi5Xx7fsGU8= Authentication-Results: mail-nwsmtp-smtp-corp-main-69.vla.yp-c.yandex.net; dkim=pass header.i=@yandex-team.com From: Sergei Heifetz To: qemu-devel@nongnu.org Cc: Eric Blake , "Michael S. Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Markus Armbruster , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Fabiano Rosas , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Yanan Wang , Zhao Liu , Richard Henderson , "Dr. David Alan Gilbert" , Thomas Huth , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Laurent Vivier , Gerd Hoffmann , Sergei Heifetz Subject: [PATCH v3 11/11] meson.build: ignore audio drivers when configured with --disable-audio Date: Mon, 16 Mar 2026 01:16:46 +0500 Message-Id: <20260315201646.96862-12-heifetz@yandex-team.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260315201646.96862-1-heifetz@yandex-team.com> References: <20260315201646.96862-1-heifetz@yandex-team.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.72; envelope-from=heifetz@yandex-team.com; helo=forwardcorp1a.mail.yandex.net X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.com) X-ZM-MESSAGEID: 1773606041623158500 When QEMU is configured with `--disable-audio`, we do not need to add the audio drivers list to config_host_data. We also do not need to print this list. Signed-off-by: Sergei Heifetz Reviewed-by: Marc-Andr=C3=A9 Lureau --- meson.build | 80 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 35 deletions(-) diff --git a/meson.build b/meson.build index d05533488f9..7f71dce3ae5 100644 --- a/meson.build +++ b/meson.build @@ -2280,46 +2280,55 @@ endif config_host_data =3D configuration_data() =20 config_host_data.set('CONFIG_HAVE_RUST', have_rust) -audio_drivers_selected =3D [] -if have_system - audio_drivers_available =3D { - 'alsa': alsa.found(), - 'coreaudio': coreaudio.found(), - 'dsound': dsound.found(), - 'jack': jack.found(), - 'oss': oss.found(), - 'pa': pulse.found(), - 'pipewire': pipewire.found(), - 'sdl': sdl.found(), - 'sndio': sndio.found(), - } - foreach k, v: audio_drivers_available - config_host_data.set('CONFIG_AUDIO_' + k.to_upper(), v) - endforeach +config_host_data.set('CONFIG_AUDIO', have_audio) +if have_audio + audio_drivers_selected =3D [] + if have_system + audio_drivers_available =3D { + 'alsa': alsa.found(), + 'coreaudio': coreaudio.found(), + 'dsound': dsound.found(), + 'jack': jack.found(), + 'oss': oss.found(), + 'pa': pulse.found(), + 'pipewire': pipewire.found(), + 'sdl': sdl.found(), + 'sndio': sndio.found(), + } + foreach k, v: audio_drivers_available + config_host_data.set('CONFIG_AUDIO_' + k.to_upper(), v) + endforeach =20 - # Default to native drivers first, OSS second, SDL third - audio_drivers_priority =3D \ - [ 'pa', 'coreaudio', 'dsound', 'sndio', 'oss' ] + \ - (host_os =3D=3D 'linux' ? [] : [ 'sdl' ]) - audio_drivers_default =3D [] - foreach k: audio_drivers_priority - if audio_drivers_available[k] - audio_drivers_default +=3D k - endif - endforeach + # Default to native drivers first, OSS second, SDL third + audio_drivers_priority =3D \ + [ 'pa', 'coreaudio', 'dsound', 'sndio', 'oss' ] + \ + (host_os =3D=3D 'linux' ? [] : [ 'sdl' ]) + audio_drivers_default =3D [] + foreach k: audio_drivers_priority + if audio_drivers_available[k] + audio_drivers_default +=3D k + endif + endforeach =20 + foreach k: get_option('audio_drv_list') + if k =3D=3D 'default' + audio_drivers_selected +=3D audio_drivers_default + elif not audio_drivers_available[k] + error('Audio driver "@0@" not available.'.format(k)) + else + audio_drivers_selected +=3D k + endif + endforeach + endif + config_host_data.set('CONFIG_AUDIO_DRIVERS', + '"' + '", "'.join(audio_drivers_selected) + '", ') +else foreach k: get_option('audio_drv_list') - if k =3D=3D 'default' - audio_drivers_selected +=3D audio_drivers_default - elif not audio_drivers_available[k] - error('Audio driver "@0@" not available.'.format(k)) - else - audio_drivers_selected +=3D k + if k !=3D 'default' + error('Audio drivers are not supported because audio is disabled.') endif endforeach endif -config_host_data.set('CONFIG_AUDIO_DRIVERS', - '"' + '", "'.join(audio_drivers_selected) + '", ') =20 have_host_block_device =3D (host_os !=3D 'darwin' or cc.has_header('IOKit/storage/IOMedia.h')) @@ -4710,7 +4719,8 @@ if enable_modules summary_info +=3D {'alternative module path': get_option('module_upgrade= s')} endif summary_info +=3D {'fuzzing support': get_option('fuzzing')} -if have_system +summary_info +=3D {'Audio support': have_audio} +if have_audio summary_info +=3D {'Audio drivers': ' '.join(audio_drivers_selected)} endif summary_info +=3D {'Trace backends': ','.join(get_option('trace_backend= s'))} --=20 2.34.1