From nobody Wed Sep 17 01:47:49 2025 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1623233101; cv=none; d=zohomail.com; s=zohoarc; b=P+maKeBrLXmbiSv8bcZQITxl10A8HMM15fmb52x2uAySrMgqrf6hwYH7UHazt9/6ZbNyXRT2UCeA8lDlPoTeEqHHKFDWY1F1DQ/+ccGBw1D/wIYCCiqktUWso35XyuIzQ6MRXjvLG2frKqKHlJhSQmqE+RnhWUFa8rO+G5z//rM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623233101; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=dvyq+AGfaRJfN8wStTM/sk6Lsjm/iy5X2JuXOEtzfAY=; b=nEINjeGZrhK1mC1MKU9IFfz0NVmKvWKnvMPkBRGLrlej6+pGAFMZVbsCBsOJhpDpSWLdFvUyVSIRk7FyXV69anWBS2aAKrAcuIVAGV7TfG8Hf6tVGIOdsv6kOPT3jgJn+wUjCG1zMf9ze4j6dUxW1GIQ9zAhXaLuGUJqdUA0svo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1623233101040688.9051504990406; Wed, 9 Jun 2021 03:05:01 -0700 (PDT) Received: from localhost ([::1]:45778 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqv51-0007kr-Ps for importer2@patchew.org; Wed, 09 Jun 2021 06:04:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40542) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqv3F-00045A-7C for qemu-devel@nongnu.org; Wed, 09 Jun 2021 06:03:09 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:53480) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqv37-0005g0-R5 for qemu-devel@nongnu.org; Wed, 09 Jun 2021 06:03:08 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-341-SkkvPQA-NquYc9uvULJmFg-1; Wed, 09 Jun 2021 06:02:57 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id F347D8018A7 for ; Wed, 9 Jun 2021 10:02:56 +0000 (UTC) Received: from thuth.com (ovpn-112-47.ams2.redhat.com [10.36.112.47]) by smtp.corp.redhat.com (Postfix) with ESMTP id D62B25C23E; Wed, 9 Jun 2021 10:02:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623232979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dvyq+AGfaRJfN8wStTM/sk6Lsjm/iy5X2JuXOEtzfAY=; b=OmqwFolvMCh4J78c6bYJlyUizNvldYhDpkmA+YASlspwHvMIhBLMsiLuIQosJa8IzHoljP KPGIjgAoXOsiAHC7JamnDBpTPRgEsZNTLYRx7AGFDTPXwn2ZAQ9b7RpiYuWDSmXPgmbuqD vA1Zmav/NPwA0RT7gUcdTmJ5M1D3Pa0= X-MC-Unique: SkkvPQA-NquYc9uvULJmFg-1 From: Thomas Huth To: Gerd Hoffmann , qemu-devel@nongnu.org Subject: [RFC QEMU PATCH] ui: Make the DisplayType enum entries conditional Date: Wed, 9 Jun 2021 12:02:40 +0200 Message-Id: <20210609100240.1285032-1-thuth@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -29 X-Spam_score: -3.0 X-Spam_bar: --- X-Spam_report: (-3.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.197, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: libvir-list@redhat.com, smitterl@redhat.com, Eric Blake , Markus Armbruster Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Libvirt's "domcapabilities" command has a way to state whether certain graphic frontends are available in QEMU or not. Originally, libvirt looked at the "--help" output of the QEMU binary to determine whether SDL was available or not (by looking for the "-sdl" parameter in the help text), but since libvirt stopped doing this analysis of the help text, the detection of SDL is currently broken, see: https://bugzilla.redhat.com/show_bug.cgi?id=3D1790902 QEMU should provide a way via the QMP interface instead. The simplest way, without introducing additional commands, is to make the DisplayType enum entries conditional, so that the enum only contains the entries if the corresponding CONFIG_xxx switches have been set. Unfortunately, this only works for sdl, cocoa and spice, since gtk, egl-headless and curses are hard-wired in the "data" section of the DisplayOptions, and thus unfortunately always have to be defined. Signed-off-by: Thomas Huth --- qapi/ui.json | 12 +++++++++--- ui/console.c | 4 ++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/qapi/ui.json b/qapi/ui.json index 1052ca9c38..c4f44cfe50 100644 --- a/qapi/ui.json +++ b/qapi/ui.json @@ -1126,9 +1126,15 @@ # ## { 'enum' : 'DisplayType', - 'data' : [ 'default', 'none', 'gtk', 'sdl', - 'egl-headless', 'curses', 'cocoa', - 'spice-app'] } + 'data' : [ + { 'name': 'default' }, + { 'name': 'none' }, + { 'name': 'gtk' }, + { 'name': 'sdl', 'if': 'defined(CONFIG_SDL)' }, + { 'name': 'egl-headless' }, + { 'name': 'curses' }, + { 'name': 'cocoa', 'if': 'defined(CONFIG_COCOA)' }, + { 'name': 'spice-app', 'if': 'defined(CONFIG_SPICE)'} ] } =20 ## # @DisplayOptions: diff --git a/ui/console.c b/ui/console.c index 2de5f4105b..954f7162c3 100644 --- a/ui/console.c +++ b/ui/console.c @@ -2371,8 +2371,12 @@ bool qemu_display_find_default(DisplayOptions *opts) { static DisplayType prio[] =3D { DISPLAY_TYPE_GTK, +#if defined(CONFIG_SDL) DISPLAY_TYPE_SDL, +#endif +#if defined(CONFIG_COCOA) DISPLAY_TYPE_COCOA +#endif }; int i; =20 --=20 2.27.0