From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D6DD9C35274 for ; Fri, 15 Dec 2023 12:44:47 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rE7Xg-0006S5-BK; Fri, 15 Dec 2023 07:43:48 -0500 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 1rE7Xe-0006RZ-BG for qemu-devel@nongnu.org; Fri, 15 Dec 2023 07:43:46 -0500 Received: from zero.eik.bme.hu ([152.66.115.2]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rE7Xc-0001pn-7B for qemu-devel@nongnu.org; Fri, 15 Dec 2023 07:43:46 -0500 Received: from zero.eik.bme.hu (localhost [127.0.0.1]) by zero.eik.bme.hu (Postfix) with ESMTP id 1F5A575A4B9; Fri, 15 Dec 2023 13:43:39 +0100 (CET) X-Virus-Scanned: amavisd-new at eik.bme.hu Received: from zero.eik.bme.hu ([127.0.0.1]) by zero.eik.bme.hu (zero.eik.bme.hu [127.0.0.1]) (amavisd-new, port 10028) with ESMTP id K45BhEezhKKo; Fri, 15 Dec 2023 13:43:37 +0100 (CET) Received: by zero.eik.bme.hu (Postfix, from userid 432) id 3145C75A406; Fri, 15 Dec 2023 13:43:37 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by zero.eik.bme.hu (Postfix) with ESMTP id 2F6DD75607B; Fri, 15 Dec 2023 13:43:37 +0100 (CET) Date: Fri, 15 Dec 2023 13:43:37 +0100 (CET) From: BALATON Zoltan To: Akihiko Odaki cc: =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= , Gerd Hoffmann , =?ISO-8859-15?Q?Marc-Andr=E9_Lureau?= , Paolo Bonzini , qemu-devel@nongnu.org Subject: Re: [PATCH] vl: Print display options for -display help In-Reply-To: <2d1689ea-b0d8-4c74-8101-b90ad626f2a9@daynix.com> Message-ID: References: <20231214-help-v1-1-23823ac5a023@daynix.com> <9443821d-5eff-46e6-be69-707cca9cd0d0@linaro.org> <8f8d3317-c28b-3985-89d7-0fbd1ce4b56e@eik.bme.hu> <2d1689ea-b0d8-4c74-8101-b90ad626f2a9@daynix.com> MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="3866299591-1851630701-1702643494=:20721" Content-ID: <01acf3fa-e689-3e90-a301-508f725b21d6@eik.bme.hu> Received-SPF: pass client-ip=152.66.115.2; envelope-from=balaton@eik.bme.hu; helo=zero.eik.bme.hu X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --3866299591-1851630701-1702643494=:20721 Content-Type: text/plain; CHARSET=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8BIT Content-ID: <2ec7b0b6-371b-9b0a-a408-6f1a6debde6e@eik.bme.hu> On Fri, 15 Dec 2023, Akihiko Odaki wrote: > On 2023/12/14 22:00, BALATON Zoltan wrote: >> On Thu, 14 Dec 2023, Philippe Mathieu-Daudé wrote: >>> Hi Akihiko, >>> >>> On 14/12/23 07:47, Akihiko Odaki wrote: >>>> -display lists display backends, but does not tell their options. >>>> Use the help messages from qemu-options.def, which include the list of >>>> options. >>>> >>>> Signed-off-by: Akihiko Odaki >>>> --- >>>>   include/ui/console.h |  1 - >>>>   system/vl.c          | 11 ++++++----- >>>>   ui/console.c         | 20 -------------------- >>>>   3 files changed, 6 insertions(+), 26 deletions(-) >>> >>> >>>> diff --git a/ui/console.c b/ui/console.c >>>> index 7db921e3b7d6..6aee5e9a7ffb 100644 >>>> --- a/ui/console.c >>>> +++ b/ui/console.c >>>> @@ -1691,23 +1691,3 @@ const char *qemu_display_get_vc(DisplayOptions >>>> *opts) >>>>       } >>>>       return vc; >>>>   } >>>> - >>>> -void qemu_display_help(void) >>>> -{ >>>> -    int idx; >>>> - >>>> -    printf("Available display backend types:\n"); >>>> -    printf("none\n"); >>>> -    for (idx = DISPLAY_TYPE_NONE; idx < DISPLAY_TYPE__MAX; idx++) { >>>> -        if (!dpys[idx]) { >>>> -            Error *local_err = NULL; >>>> -            int rv = ui_module_load(DisplayType_str(idx), &local_err); >>>> -            if (rv < 0) { >>>> -                error_report_err(local_err); >>>> -            } >>>> -        } >>>> -        if (dpys[idx]) { >>>> -            printf("%s\n",  DisplayType_str(dpys[idx]->type)); >>> >>> Is the "qapi/qapi-commands-ui.h" header still necessary? >>> >>>> -        } >>>> -    } >>>> -} >>> >>> So we go from: >>> >>> $ ./qemu-system-aarch64 -display help >>> Available display backend types: >>> none >>> gtk >>> sdl >>> curses >>> cocoa >>> dbus >>> >>> to: >>> >>> $ ./qemu-system-aarch64 -display help >>> -display sdl[,gl=on|core|es|off][,grab-mod=][,show-cursor=on|off] >>>            [,window-close=on|off] >>> -display gtk[,full-screen=on|off][,gl=on|off][,grab-on-hover=on|off] >>>            [,show-tabs=on|off][,show-cursor=on|off][,window-close=on|off] >>>            [,show-menubar=on|off] >>> -display vnc=[,] >>> -display curses[,charset=] >>> -display cocoa[,full-grab=on|off][,swap-opt-cmd=on|off] >>> -display dbus[,addr=] >>>             [,gl=on|core|es|off][,rendernode=] >>> -display cocoa[,show-cursor=on|off][,left-command-key=on|off] >>> -display none >>>                select display backend type >>>                The default display is equivalent to >>>                "-display gtk" >>> >>> The latter is indeed more helpful. >> >> It is more helpful but maybe a bit overwhelming. Would it be possible to >> only print the options with -display cocoa,help similar to how -device help >> lists devices and -device sm501,help lists options for one device? Adding >> info about default to -display help is really helpful though (that could >> also be marked with (default) like in -machine help. > > It's copied from what qemu-system-aarch64 -h outputs. At least it's less > overwhelming than qemu-system-aarch64 -h. This changes what -display help does so if some script depends on that it may not be a good idea. Since the same info is already in -help maybe this change to add that to -display help as well is not the best solution so I'd say drop this patch and leave it as it is for now. Adding (default) to show default as with -machine help would be useful but the default in help seems to be added by preprocessor magic so it's not easy to use that in qemu_display_help(). Maybe if a constant would be defined with the default value instead of adding it directly to help text then that could be used but we have '-vnc some-arguments' as opposed to '-display something' for all other casess so if that -vnc option is correct and it's not like '-display vnc' then that's not trivial either. So I'd say just fotget about this for now as it's not that important so may not worth the effort. >> I'm not complaining, thanks for taking care of this so quickly but if it's >> not too difficult to add separate -display cocoa,help and not list options >> in -display help maybe that would be better and more consistent with other >> help options. > > Yes, that will require some major refactoring so I'm not going to do that for > now. I've also looked at that and concluded the same that it would take some qapi expert to solve this. It seems the options are parsed into some qapi types which may have help to display but I could not find out how that works. For device it may be handled in qdev_device_help() but I don't know if that would be applicable for display backends and if so how. Maybe someone who knows about this could chime in and give some idea how e.g. -display gtk,help could be implemented similar to -device somedevice,help. (Other than passing through the help text as your patch does and rhen cut the relevant part from that with string functions but that's likely not the right way to do this.) Regards, BALATON Zoltan --3866299591-1851630701-1702643494=:20721--